苹果服务的连接策略推荐
在一切开始之前
这篇文章所述方法依赖使用 Surgio 中内置的苹果服务规则。如果你没有使用 Surgio,你也可以参考 这个文件 来编写你的规则。
背景
苹果一直以来都有一个账号安全策略,就是用户在非账号所属区域内使用(特别是包含充值、消费等操作)过长时间,或是在不同区域间频繁切换,可能会认为该账号异常。异常严重时可能会封禁账号,也可能会导致账号无法消费需要人工申请解封。
不论你之前有没有遇到过封禁的情况,我都强烈建议你使用账号所在区域的代理来连接苹果服务器。
在使用代理时我们经常会遇到切换节点的情况,为了避免上述麻烦,我们的分流策略中默认已经将苹果服务的连接采取直连。但是,这样一来使用非中国区账号的用户便处于尴尬的境地,所以就需要一些更高级的操作了。
在进入教程之前,我们需要先厘清这里所说的「苹果服务」到底是什么。为了方便我把它分为两类:
类别 | 用途 |
API 服务类 | 购买、发起下载、iCloud 同步(含上传和下载)、Siri |
CDN 资源类 | App 实体文件、Apple Music 音乐文件 |
这么分有几个原因:
- 对于 API 服务类的地址,不论使用什么区域的账号,它们连接到的服务器依然位于美国。我们需要伪装成从账号所在区域来发起连接。
- CDN 资源类的地址往往为了让用户快速下载到,会使用各式各样的缓存和内容分发服务。这些服务通常都不由苹果直接提供,而是交给给当地的云服务完成。这类地址不需要使用代理访问。
- 「云上贵州」运营的 iCloud 非常特殊。使用时设备仍然会连接位于美国的服务器,但是实际上传下载操作是通过连接国内服务器完成的。为了避免麻烦,建议使用「云上贵州」运营的 iCloud 也就是中国区账号的用户都采取 API 直连。
使用指南
解释了这么多,到底该如何操作呢?
目前 Surge、Clash 和 Quantumult 已经能够比较精细地按规则区分,所以使用这些客户端的用户可以按照下面的教程进行操作。
使用中国区账号(App Store + iCloud)
直接选择 Direct 即可,不需要做额外的操作。
使用美国区账号(App Store + iCloud)
顺便解释一下第二项 🚀 Proxy 是什么含义。它代表采用和 🚀 Proxy 相同的服务器来连接。
代理软件会从 US 的节点中自动选择一个连接最快的节点来连接。
Apple TV+ 和 iTunes 视频流媒体
苹果的视频流媒体服务虽然部署了全球 CDN 来分发他们的媒体资源,但是并没有部署大陆节点,这就造成了观看体验不佳的问题。针对这个问题,可以将内置规则的
default_rule
参数设置为默认策略(例如 🚀 Proxy
)。你可以在 这里 查找到这些 CDN 的域名。
其它问题
美国区用户有的时候可能会遇到下载 App 的速度非常慢,甚至报错。这些问题一方面是由于当地 CDN 服务比较烂,另一方面可能是由于还没有缓存到这个 App 所以报错。比较简单的办法就是将
🍎 Apple CDN
切换到 🍎 Apple
(共同使用同一个服务器)。这样做一般都立竿见影,但是速度可能不会很快。