AssppWeb:如何在浏览器中直接侧载安装iOS应用?绕过App Store的完整指南
【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb
AssppWeb是一款开源的 iOS 应用侧载(Sideloading)Web 工具:你只需在浏览器里登录 Apple ID,搜索应用、获取授权,就能把 IPA 包直接安装到 iPhone 上——全程无需 App Store,服务器也永远看不到你的 Apple 账号凭据。
侧载 iOS 应用,为什么需要 AssppWeb?
传统侧载流程很痛苦:要么用 Xcode 和证书,要么把 IPA 文件传到网上换取安装链接,账号密码到处交。AssppWeb 把这些步骤压缩成了纯粹的浏览器操作:
- 添加 Apple 账号— 凭据只存在你浏览器的 IndexedDB 里
- 搜索应用— 直接对接 Apple iTunes 搜索接口,支持按名称或 Bundle ID 查找
- 一键获取授权并编译 IPA— 服务器从 Apple 公共 CDN 下载应用,注入 DRM 签名(SINF)后生成安装链接
- 点击安装— 通过
itms-services协议直接推送到你的 iOS 设备
对新手来说,这意味着不用碰终端、不用懂 Xcode,浏览器就是你的侧载工具。
核心亮点:零信任架构,账号凭据不落地
这是 AssppWeb 最值得称道的设计,也解释了它为什么"敢让你在网页上输 Apple ID":
🔒服务器从不接触你的密码、Token 和 Cookie。
具体来说:
- 所有与 Apple 的 API 通信都在你的浏览器内完成,通过 WebAssembly 编译的 libcurl.js 配合 Mbed TLS 1.3 建立 TLS 连接,协议实现在 frontend/src/apple/authenticate.ts
- 浏览器到 Apple 服务器之间的加密流量,经由服务器上的 Wisp 协议(WebSocket 多路复用 TCP 隧道)中转——服务器只能看到字节流,无法解密,实现见 backend/src/services/wsProxy.ts
- 服务器只负责"脏活":从 Apple 公共 CDN 下载 IPA、注入 DRM 签名、编译可安装包(backend/src/services/sinfInjector.ts)
简单说:你的密码永远走加密通道直达 Apple,AssppWeb 的服务器只是个"盲传声筒"。
使用步骤:从搜索到安装只需 4 步
第 1 步:添加 Apple 账号
在侧边栏进入 Accounts,填写邮箱、密码和设备标识(可随机生成)。登录成功后,Apple 会返回一个pod编号,后续请求将路由到对应的 Apple 服务器集群(frontend/src/apple/config.ts)。
第 2 步:搜索应用
在 Search 页面输入应用名或直接粘贴 Bundle ID。搜索结果来自 iTunes 搜索 API,字段映射逻辑在 backend/src/routes/search.ts。支持按国家/地区切换商店区域。
第 3 步:获取下载任务
点击应用后发起下载:浏览器完成 Apple 鉴权 → 获取授权 → 拿到 CDN 下载地址和 DRM 签名 → 提交给服务器编译 IPA。状态变化(下载中、注入签名、完成)实时显示在 Downloads 页面。
第 4 步:安装到设备
编译完成后会生成一个 plist 清单文件(由 backend/src/services/manifestBuilder.ts 构建),点击安装会触发 iOS 原生的itms-services://协议弹窗——确认后即可开始安装,和 App Store 的安装体验几乎一致。安装链接的生成逻辑见 frontend/src/api/install.ts。
部署指南:三种方式把 AssppWeb 跑起来
⚠️强烈建议自建实例,不要使用来路不明的公共实例(详见下文安全须知)。
方式一:Docker Compose 自建(推荐)
git clone https://gitcode.com/gh_mirrors/as/AssppWeb cd AssppWeb docker compose up -d部署配置在 compose.yml,多阶段构建脚本见 Dockerfile。常用环境变量:
| 变量 | 作用 |
|---|---|
PORT | 服务端口,默认 8080 |
ACCESS_PASSWORD | 为整个 Web 界面设置访问密码 |
AUTO_CLEANUP_DAYS | 自动清理超过 N 天的缓存 IPA |
DOWNLOAD_THREADS | IPA 下载并发线程数(1–32) |
关键提醒:iOS 的itms-services安装链接要求HTTPS,必须把 AssppWeb 放在反向代理后面(如 Caddy、Nginx),并配置有效的 TLS 证书;同时确保代理允许 WebSocket 连接(/wisp/路径),否则零信任隧道会失效。
方式二:Cloudflare Workers + Containers
适合不想管服务器的用户,使用官方发布的镜像一键部署(需要 Workers 付费套餐),源码见 cloudflare/src/index.ts,部署说明在 cloudflare/README.md。
方式三:Railway
在 Railway 上填入镜像地址,挂载/data卷并设置DATA_DIR=/data即可,支持 Serverless 模式闲时缩容到零。
安全须知:使用前的必读警告 🛡️
- 没有官方公共实例。任何第三方部署的实例都可能被植入篡改过的前端,在你输入密码时偷走凭据——零信任架构保护的是"服务器看不到密码",防不了"恶意前端"。
- 务必自建或选择可信实例,访问时核对 SSL 证书,确保连接的是真实端点。
- 侧载的应用本质是第三方分发的 IPA,请只安装你信任的应用。
- 账号凭据仅存于浏览器本地,换设备后可通过账户导出/导入功能迁移(AES-GCM 加密,frontend/src/utils/crypto.ts)。
项目结构速览
想了解源码的同学可以参考 AGENTS.md,其中完整描述了架构设计:
- frontend/ — React 19 + Vite 前端,包含 Apple 协议通信的全部逻辑(frontend/src/apple/)
- backend/ — Node.js/Express 后端 + Wisp TCP 中继 + IPA 编译服务
- backend/src/services/ — 核心服务:分块下载器、下载管理器、清单构建器、SINF 注入器
- cloudflare/ — Cloudflare Workers 部署变体
总结
AssppWeb 用一套精巧的零信任架构把 iOS 侧载变成了一件"浏览器点几下"的事:凭据不出浏览器、服务器只做盲中继、IPA 编译全自动。配合 Docker 一键自建,它几乎是目前面向普通用户最完整的 Web 侧载方案。
一句话上手:Docker 起服务 → 浏览器加账号 → 搜索应用 → 点击安装,你的 iPhone 就多了一个 App Store 之外的应用来源。
【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考