AppleDNS 是 GitHub 上针对 Apple 服务进行加速的一个项目。具体来说,AppleDNS 项目通过收集 Apple 在全中国几乎所有省级行政区的 CDN IP 列表,能够解决以下 Apple 服务在国内部分地区速度缓慢的问题:
- App Store
- Mac App Store
- iTunes Store
- Apple Music
- iBooks Store
- TestFlight
出于隐私、安全以及系统稳定性方面的考虑,项目作者未在加入 iCloud 与 Apple ID 相关的域名。由于 iTunes 大规模启用了 HTTPS 的连接方式,你也大可不必担心作者会通过此项目获取个人敏感信息。
使用方法
1. 一些准备工作
由于 AppleDNS 项目提供了自动生成配置形式的 Python 脚本文件,运行脚本需要电脑中安装有 Python 软件。
Python 目前有 Python 2 以及 Python 3 两个版本,如果你正在使用 Mac,系统是 OS X 10.8 或者以上版本,系统已经自带了 Python 2.7。你可以在终端中运行下列命令查看当前系统默认的 Python 版本:
python -V
当然,如果你想安装并使用 Python 3,你可以前往 Python 官网下载安装包安装。或者,你可以根据《借助 Homebrew Cask,教你快速下载安装 Mac App 新姿势》一文中的方法搭建 Homebrew 环境,通过 Homebrew 安装 Python 3,命令如下:
brew install python3
更新: AppleDNS 目前已经完全兼容 Python,不论哪个版本,只要你的电脑中已经安装了 Python,那么,继续下面的操作吧。
2. 配置文件的配置方法
AppleDNS 支持通过运行项目文件夹内的 Python 脚本自动生成各种形式的配置(Surge、hosts、Merlin),只要将生成的配置加入相应配置文件内并放至对应位置即可生效。
在开始操作前,你需要在项目首页下载项目文件。这里假设你的项目文件夹存放于桌面,你只要在终端内依次运行下列命令即可完成配置的生成。
cd ~/Desktop/AppleDNS-master
- 切换到 Apple DNS 项目文件夹python fetch-timeout.py ChinaUnicom.json
- 多线程测速脚本,最后一项参数为对应运营商,示例代码以中国联通为例,电信 / 移动运营商对应参数为 ChinaNet/CMCC。测速需要一定的时间,请耐心等待。python export-configure.py hosts
- 示例代码表示生成需要的 hosts 配置,Surge / Merlin 配置对应参数为 Surge / Merlin。- 在终端内复制相应配置到对应的配置文件内即可。
如果你是 Apple Music 重度用户,我建议完成上述操作后继续执行以下步骤,并将终端中的结果替换掉之前 aod.itunes.apple.com
、streamingaudio.itunes.apple.com
两个域名中的 IP:
python fetch-timeout.py Music.json
python export-configure.py hosts
3. 放置配置文件
这里以 hosts 的配置方式为例,介绍一下配置文件的使用方法:
- 输入以下命令并执行,根据提示输入密码:
sudo vi /etc/hosts
- 粘贴刚才生成好的 hosts 配置
- 按下「ESC」按键并输入
:wq
然后回车,即可保存 hosts 的配置。
P.S. 建议完成设置之后,清理一下 DNS 缓存,具体方法为:
sudo killall -HUP mDNSResponder
OS X 操作系统ipconfig /flushdns
Windows 操作系统
4. ONE MORE THING
相信你也注意到了,AppleDNS 能够用于网络调试工具 Surge,Surge 用户可在配置文件 [Rule]
模块前新建 [Host]
模块,将生成的配置放入 [Host]
之后、[Rule]
模块之前即可。
如果你对于上述方法存在疑问,你可以下载这份示例文件进行研究。
如果 AppleDNS 确实帮助你改善了访问 Apple 服务的速度,你也可以捐助作者。
喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )