近期,Sing-box 因为开发者账号的问题,在 Apple App Store 被下架,而 Hiddify ipa 测试分发早已结束。除了极少的几个工具,iOS 中上架应用商店的开源、免费通用代理客户端应用没有太多选择。但是,我们可以“侧载” 第三方 ipa 文件,毕竟还有很多优秀、好用的工具并没有上架官方商店。安卓端尽管也有签名验证机制,但基本上是可以随意安装第三方 apk 的。由于要收闭源生态的苹果税,苹果对 iOS 设备安装第三方应用一向持否定态度,即使迫于压力在部分地区尝试开放,也有严格的限制。本文就以 Hiddify ipa 的安装为例,将 iOS 上安装、使用第三方应用的途径、操作等梳理清楚。本文涉及的工具都不需要魔法,包括 Apple iTunes、iCloud、Altstore 的官方站点等。这里帮朋友做个广告,如果需要通过 github 等下载、查看 Altstore 源码,推荐使用「DD机场」,¥5/月/256G,全直连线路、千兆接口、流媒体原生解锁,9 月开学季活动特惠,Lite 套餐所有周期订阅流量翻倍、使用公告折扣码再打 8 折,便宜够用。
安装途径
安裝第三方 APP,正式的术语称之为『侧载』(sideload),指的是在 iOS 设备上安裝 App Store 以外来源的 APP。首先,需要明确的是,侧载(sideload)是苹果官方已经认可的,而通过其他方式安装第三方应用的行为实际上都不属于侧载。目前,安装第三方 APP 的途径主要包括越狱、侧载、测试、企业部署和规避 5 种。
越狱(Jailbreaking)
越狱(iOS Jailbreaking)是一种利用 iOS 系统漏洞或规则绕过系统限制,从而获取到 iOS 设备 Root(最高)权限的技术手段。当 iOS 设备越狱后,用户可对系统进行编辑或是运行不被苹果公司所验证的软件,例如它可以让 iPhone 更换主题、修改字体甚至访问 iOS 文件系统。越狱会失去保修,作者也并不推荐,不做过多介绍。
侧载(Sideload)
官方的侧载(sideload)目前尚属欧盟专享,是苹果应对《数字市场法案(Digital Markets Act)》的要求,从 iOS 17.4 开始“允许 iPhone 上侧载应用”、“允许使用第三方应用商店” ,但附加了严格的限制,除了 iOS 版本不低于 17.4 外,还包括但不限于欧版 iPhone、欧洲定位、欧区 Apple ID、欧盟手机卡、欧州信号基站等,其他地区的用户想要用上官方侧载,门槛不是一般的高。同时,为了保证侧载功能仅面向欧盟地区开放使用,苹果采取了相应的限制措施,一旦用户长时间(30 天)离开欧盟地区,侧载功能就会失效。
官方的侧载政策下,首个正式上线运营的第三方商店为「AltStore PAL」,订阅费用为 1.5 欧元/年,仅服务于欧盟用户。「AltStore PAL」和原版的 Altstore(world) 是相互独立的,Altstore 是免费、开源的,允许用户仅使用自己的 Apple ID 将第三方应用程序(.ipa 文件)侧载到 iOS 设备上。AltStore 的工作原理是:使用用户自己的个人开发证书重新注册应用程序并将它们发送到桌面应用程序 AltServer,后者使用 iTunes WiFi 同步将重新注册的应用程序安装回 iOS 设备。为防止签名过期,AltStore 会在与 AltServer 处于同一 wifi 时在后台定期刷新。
「Altstore」的类似平台包括:
「SideStore」:免费、免电脑重签的 AltStore,改由远程服务器重签。
「Sideloadly」:免费,类似 AltStore 的程序,比 AltStore 多一个 APP 配额,仅提供 Windows 和 MacOS 版。
侧载途径基于为用户创建免费的苹果开发者账户。受限于免费账户,因此最多只能侧载 2 个应用(实际是 3 个,但商店本身算 1 个),并且需要每周进行重签。
另外,基于 Altstore 或 Sidestore 的第三方应用 「LiveContainer」,最新版本 2.1.2,支持 iOS 17.0+ 。LiveContainer 本体需要通过 Altstore 或 Sidestore 安装、签名,并非永久有效,需要每 7 天重签。需要强调的是,LiveContainer 不是利用系统漏洞,而是一种方法实现, 将安装的 IPA 嵌入到 LiveContainer 上加载、显示。
测试(Test)
测试是苹果为开发者提供的功能,包括内部测试和外部测试。内部测试是供本公司内部人员测试的,最多可以邀请 25 位内部人员进行测试。外部测试则可以邀请最多 10000 人进行测试,接受外部测试的 APP 需要进行 β 版审核,β 版审核不同于 App Store 审核。很多应用由于无法在 App Store 过审上架,也会使用企业签(公司外部测试)的方法进行推广。对于被邀请的外部测试人员,通过应用商店安装 Testflight,输入测试邀请中的兑换码就可以安装使用了。
Hiddify 官方提供的 iOS 版本 ipa 安装就采用了这种途径,不过测试名额早已分发完毕,并且高版本 iOS 侧载前需要对官方 ipa 进行脱壳处理。
企业部署
企业部署 是 Apple提供的大規模应用部署方式,主要是大型企业或组织使用的,公司在购买 Apple 的企业方案后,再让使用者用 iOS 设备在特定页面下载描述文件,就可以任意安装第三方应用。有些机构会利用此方法,运营自己的「应用程序商店」,让用下载描述文件,由此分发第三方 APP,甚至有机构会销售企业签名文件给终端用户安裝 APP。这种方式不需要额外的桌面连接,分发、安装数量无上限,但相应的,Apple 一旦发现企业签名被滥用,就会将其撤销,导致终端用户需要不断更换签名源。
爱思助手等手机助手类工具,多采用企业部署方案,由助手或助手合作方提供签名。
规避(Bypass)
规避(Bypass)就是利用特定版本的 iOS 漏洞,绕过签名机制,任意安裝第三方 APP,且安装后永久有效。典型的应用当属巨魔商店(Trollstore),当前 TrollStore 支持的版本如下图。非常明确的是,iOS 17.0+ 以上版本目前都不能使用 trollstore,而未来的 18.0 则永远都不可能支持,因为苹果在 18.0 版本中将修复 trollstore 所利用的漏洞/机制。
安装配置 Altstore
基础知识
在安装 Altstore 之前,我们简单了解一下 Altstore。Altstore 诞生于 2019 年,旨在提供 App Store 以外的另一个选择,开发者 Riley Testut 用极有创意的方法绕过了 iPhone 严格的第三方 APP 限制。Altstore 的原理是使用 Apple 个人开发凭证给 ipa 签名,AltServer 再利用 iTunes WiFi 同步的机制,將 ipa 侧载到 iPhone,完成 APP 安装。整个过程只要是有 Apple 开发者账号、会使用 Xcode 的人都可以做到,而 Altstore 的工作就是帮助用户实现流程自动化。也就是说,Altstore 会自动帮助用户:
- 帮助用户使用自己的 apple id 开通免费开发者账号
- 用户使用自己的开发者账号对 ipa 进行签名
- 将 ipa 侧载到 iOS 设备上
- 自动重签
Apple 规定,免费开发者账号在一个设备上最多只能安装 3 个自签名的 APP(含 AltStore 本身)。此外,同样依照 Apple 的规定,每安装一个APP,就会计入一次签名次数,每周上限为 10 个APP。一旦达到此上限,就得等 7 天后才能用 AltStore 安装新的APP。要想破除 Apple 的限制,只有两种方法,一是花 99 刀购买付费开发者账户,二是看运气针对特定的 iOS 版本利用「MacDirtyCow」漏洞绕过安装 3 个 APP 的限制。
综上所述,Altstore 是完全符合 Apple 政策要求的,没有任何规避、破解。Altstore 并不能独立工作,需要安装 iCloud、iTunes。
桌面端安装
以 windows 为例,依次下载、安装 iTunes、iCloud、Altstore。
✅点击「此处」下载 iCloud 并安装,或者点击「此处」从微软商店下载、安装
✅点击「此处」下载、安装 Altstore server
各个国家/地区的 iCloud 版本功能上有所差异,微软商店安装的 iCloud 默认为国内版,只提供部分 iCloud 功能。使用过程种如果出现问题,可卸载后安装 Apple 官方提供的 iCloud。
Altstore 安装与手机端配置
▍打开 wifi 同步(可选)
确保连接手机与电脑,可以在 iTunes 中打开 wifi 同步,这样只需要保持手机和电脑在一个局域网中就可以了,而不再需要有线连接。打开 iTunes ,点击左上方的手机小图标,打开手机配置。
保持在默认的『摘要』页面,下拉至『选项』,勾选『通过 Wi-Fi 与此 iPhone 同步』后,点击『完成』。这样就可以摆脱有线困扰了。
▍将 Altstore 安装到手机
接下来将 Altstore 安装到手机。在任务栏找到 Altstore 的图标(一个菱形),左键点击,在『Install Altstore』菜单下选择你的手机『iPhone』。
在弹出的对话框中,输入 apple id 和密码后,点击『Install』。可以使用和手机当前登录账户不同的 apple id。
接下来需要进行双因素验证,也就是除 apple id 密码之外的第二种验证方式,根据 apple id 的安全设置,可能出现不同的双因素验证过程。作者使用的 apple id 为短信验证码,因此会接收到 apple 发送的ID Code。 将短信验证码填入后,点击『Submit』开始安装。
Altstore 安装过程不需要太长时间,安装进度会在任务栏处进行提示。
▍手机端配置
Altstore 安装完成后,还需要在手机端进行适当的配置,包括信任开发者(自己)和启用开发者模式。在 iPhone 上,如果系统版本为 16.0+ ,需要启用开发者功能。这里建议视具体情况进行操作:
点开『⚙️设置』→『安全和隐私性』,下拉到底部,如果:
☑ 显示了『开发者模式』→ 启用即可,启用后重启手机。
☒ 没有显示『开发者模式』→ 建议使用 xcode 或助手类工具等进行第三方 APP 的安装,或者仅解锁『开发者模式』。
接下来,在『通用』中选择『VPN与设备管理』,点击自己的 Apple ID(免费开发者账号),再点击『信任*********』即可。
安装第三方应用
安装好 Altstore 之后打开,选择『My Apps』,可以看到 Altstore 本体是占用一个 APP 配额的。提前将第三方应用下载到本地,点击左上方的『+』安装第三方应用,弹出的对话框提示每个 Apple ID 每周只能创建 10 个 APP ID,也就意味着当某个应用包括扩展的时候,该应用实际需要消耗多个 APP ID 配额。点击『Keep App Extensions』以确保应用得到完整安装,之后,如果是第一次安装第三方应用,还需要再输入一次 Apple ID 账户、密码,观察、等待上方的安装进度条完成后,就会在『My Apps』界面中显示第三方应用。同时,会显示剩余的 APP ID 配额。
免费开发者账号可以签署 3 个应用,扣除 Altstore 本体,通过 Altstore 还可以安装 2 个应用。如下图,当需要安装额外的应用时,在 APP ID 配额足够时,Altstore 会提示要删除一个。如果 APP ID 配额不足,则需要等待一周之后安装。
实际测试发现当前版本 hiddify 可以通过 altstore 安装,但无法运行,需要预先进行脱壳处理或手动从源码编译。Altstore 可以侧载未在官方商店发布的应用,也可以用来安装经脱壳处理的商用软件,如 shadowrocket。打开 shadowrocket,添加朋友「DD机场」的订阅URL,可以正常导入、测试、连接。
其他方式
对于小型团队,不妨考虑开通苹果开发者账户并升级,代价是 $99,采用测试方式分发 ipa。其实,有些苹果端的应用助手工具的成本就是 $99。
对于个人,没有动手的能力的可以考虑手机助手类工具,有动手能力的除了 Altstore 之外,考虑 Apple ID 保密性要求的,建议使用 Sidestore,自行注册一个 serverless 平台账户如「render」,在 serverless 平台使用 wireguard docker 搭建一个签名服务器,这样可以避免 Apple ID 信息传递到第三方。
需要特别的指出的是,特定于某个软件如 hiddify,安装成功不一定可以正常运行、正常运行也不等于功能完整,受限于 iOS 版本、软件加密、apple 政策限制等多种因素,成功侧载的应用可能出现闪退、报错、工作异常等问题,建议在同类软件中查找替代品。对于 sing-box、hiddify 一类的通用代理客户端工具,下面几款上架 apple app store 的免费产品或可尝试:
「Streisand」-Streisand 是一款代理应用程序,具有用户友好的界面和有用的功能。Streisand 支持一键导入订阅,支持的协议包括 VLESS(Reality)、VMess、Trojan、Shadowsocks、Socks、SSH、Hysteria(V2)、TUIC、Wireguard 等
「FoXray」-FoXray 是一个专注于 Xray 的客户端,支持 iOS、iPadOS 和 macOS。
「V2box」-一个代理客户端,支持 Shadowsocks、v2ray、trojan、vless、vmess、SSH 等协议。
5 种安装途径的具体实现,除越狱和助手外,本站将陆续发布教程。
文章评论