今天的主角 AppleDNS 就是为了解决苹果服务在国内使用效率偏慢而创建的,它不是一个 App 或者桌面客户端,而是由作者 @gongjianhui(16岁的少年)通过收集 Apple 在全中国所有省级行政区 CDN IP 列表而汇总成的一个开源项目,你可以把解析出的 IP 放入电脑的 Hosts 文件,也可以利用 Surge 应用到 iOS 设备上,可以解决 App Store、Mac App Store、iTunes Store、Apple Music、iBooks Store、TestFlight 在中国部分地区速度缓慢的问题。
由于 AppleDNS 收集的 CDN IP 数据会不断变化,所以在网友的帮助下,它有一个独立的 Python 工作脚本集,先是进行 IP 测试,然后提取 IP,最后由用户自己加入设备的 DNS 解析文件中。
使用前需要你的 Mac (或 Windows)安装了 Python3 或 Python2,OS X 10.8 以上的版本内置了 Python 2.7,所以假设你已安装好了 Python 环境,就可以开始操作了:
1. 将 AppleDNS 下载到本地,解压缩,比如我们放到 /Desktop 这个目录,也就是 Mac 的桌面,我们把解压缩后的文件夹更名为 AppleDNS。 2. 打开终端(Terminal),进入到 AppleDNS 目录,输入:cd ~/Desktop/AppleDNS,这里 “~/” 一般在我们自己机器上还会各有不同,比如像我的机器路径就是:/Users/username(你主机的名称)。 3. 在终端里敲入:python fetch-timeout.py,后面跟入 ChinaUnicom.json(联通的对应文件),如果是电信或移动的,这里就改成 ChinaNet.json 或 CMCC.json,连起来就是输入:python fetch-timeout.py ChinaUnicom.json;这时终端里会开始对苹果各个 CDN 的 IP 进行测速一遍,几秒搞定。 4. 接着输入命令:python export-configure.py (surge,hosts,merlin),这里再解释一下,如果你是想为 Mac 或 Windows 提取最佳 IP,就选择 hosts(如果你有安装 Surge for Mac 客户端,也可以只选择 Surge),如果是想为 iOS 上的 Surge App 下载配置文件,就选择 surge,所以命令会分别是:python export-configure.py surge 或 python export-configure.py hosts;命令执行后产生的结果就是当前延时最小的 IP 配置信息了。 5. 把生成的配置记录考入 hosts 文件或是 Surge 中,对于配置 hosts 文件,不熟悉命令行的朋友推荐一个笨方法,在 Finder 按下 Shift+Command+G,在目录跳转窗口内输入“/etc/hosts”,然后找到 hosts 文件,用 OS X 自带“文本编辑.app”、Sublime Text 这类软件打开,将配置记录考入进去,输入系统登录密码,确认保存。如果是想配置进入 Surge,可以在 Surge 的规则里点击 Edit,找到 Edit in Text Mode,在[Rule]之前输入 [Host],下面粘入配置信息即可。 6. 设置后要清理 DNS 缓存,OS X 下执行:sudo killall -HUP mDNSResponder;Windoges 请执行:ipconfig /flushdns
现在就可以尝试一下速度了,小编在折腾后发现效果真的很不错,尤其是在 iOS 上,打开 App Store 明显加速了好多,另外如果你想要加速 Apple Music,AppleDNS 还单独开发了一个配置脚本 Music.json,你可以载执行一遍上述段落里的“第三步”,然后在第四步时这样:
python export-configure.py Music.json
然后再将配置文件考入 hosts 或 Surge 替代原有的记录即可。
项目地址:https://github.com/gongjianhui/AppleDNS
-------------------------------
AppleDNS 通过收集 Apple 在全中国几乎所有省级行政区的 CDN IP 列表,解决 App Store / Mac App Store / iTunes Store / Apple Music / iBooks / TestFlight 在中国部分地区速度缓慢的问题。
感谢一位不愿意透露姓名的 Telegram 用户提供的 Python 生成脚本 (CC0 授权)。
本配置文件目前对联通、电信、移动用户友好, 鹏博士马甲集团(长城宽带、宽带通、电信通)及其他运营商可以尝试联系作者(Telegram @gongjianhui)付费手动配置。
生成教程:
确保你系统中安装了 Python3 或者 Python2 (OS X 和其他 Linux 发行版内建) 将本项目下载到本地 (git clone 或者下载压缩包)
cd /path/to/AppleDNS
# 切到 AppleDNS 的文件夹
python fetch-timeout.py ChinaUnicom/ChinaNet/CMCC.json
# Python 2.7+ / Python 3.4+ 兼容脚本
#(请选择你的运营商对应文件 ChinaUnicom 联通、ChinaNet 电信、CMCC 移动)
# 确认即开始进行测速,需等待数秒
python export-configure.py {surge,hosts,merlin}
# 生成各种形式的配置(如 Surge 执行 python export-configure.py surge)
# ** 将配置文件放到相应的位置(HOSTS 放入系统相应位置、路由器用户请独立配置路由器后台)**
# ** Surge 用户请在配置文件 [Rule] 前新建 [Host] 将生成的配置放入 [Host] 后([Rule] 前)。**
设置完成后可按需清理 DNS 缓存
OS X:#41
Windows:ipconfig /flushdns
DNSMASQ 用户和 MERLIN 用户警告:
请删除配置文件中的
address=/itunes.apple.com/***
该配置在 DNSMASQ 中意味着将
itunes.apple.com
泛解析!其他
多运营商切换用户可以尝试配合 SwitchHosts! 使用。
手动操作指南:请查看 OLD 分支。
如果你是 Apple Music 重度用户,请额外通过 Music.json 生成单独的 Apple Music 配置覆盖原先配置中相关域名,可解决非热门歌曲无法加载、速度慢问题.(生成方法同上)