2016年3月30日星期三

AppleDNSV3.0.5 加速 Apple 服务 真的快,快出声。

   Apple 的云服务,想必大家已经吐槽很久很久了。不知为何虽然使用了国内的 CDN 服务,但 Apple 的云服务似乎不那么听话,经常性出现连接中断或者缓慢的情况… 于是@gongjianhui 同学做出了这个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 的连接方式,你也大可不必担心作者会通过此项目获取个人敏感信息。
原理很简单,实现也比较容易,Mac 上只需要修改本地 Hosts 文件即可,而 iOS 端就需要工具实现了,如类 Surge 服务。

使用方法  

1.一些准备工作 


       Windows 用户

   由于 AppleDNS 项目提供了自动生成配置形式的 Python 脚本文件,运行脚本需要电脑中安装有 Python 软件。
  • Windows 用户需要先配置 Python 环境(下载64.32安装两步即可),
  •  更新: AppleDNS 目前已经完全兼容 Python,不论哪个版本,只要你的电脑中已经安装了 Python,那么,继续下面的操作吧。
  • Mac 用户

Mac,系统是 OS X 10.8 或者以上版本,系统已经自带了 Python 2.7。你可以在终端中运行下列命令查看当前系统默认的 Python 版本:
python -V
当然,如果你想安装并使用 Python 3,你可以前往 Python 官网下载安装包安装。

2.配置文件的配置方法
  • 在开始操作前,你需要在项目首页下载项目文件。这里假设你的项目文件夹存放于桌面,你只要在终端内依次运行下列命令即可完成配置的生成。
  • cd ~/Desktop/AppleDNS-master - 切换到 Apple DNS 项目文件夹
  • cd /path/to/AppleDNS
    # 切到 AppleDNS 的文件夹
  • ./fetch-timeout.py ChinaUnicom.json- 多线程测速脚本,最后一项参数为对应运营商,示例代码以中国联通为例,电信 / 移动运营商对应参数为 ChinaNet/CMCC。测速需要一定的时间,请耐心等待。
  • python fetch-timeout.py ChinaUnicom/ChinaNet/CMCC.json 
  • # Python 2.7+ / Python 3.4+ 兼容脚本 #(请选择你的运营商对应文件 ChinaUnicom 联通、ChinaNet 电信、CMCC 移动) # 确认即开始进行测速,需等待数秒
  • #(请选择你的运营商对应文件 ChinaUnicom 联通、ChinaNet 电信、CMCC 移动)
  • 
    
  • ./export-configure.py hosts - 示例代码表示生成需要的 hosts 配置,Surge / Merlin 配置对应参数为 Surge / Merlin。
  • python export-configure.py {surge,hosts,merlin}
    
    # 生成各种形式的配置(如 Surge 执行 python export-configure.py surge)

在终端内复制相应配置到对应的配置文件内即可。 
这里以 hosts 的配置方式为例,介绍一下配置文件的使用方法:

  • 输入以下命令并执行,根据提示输入密码:

  • sudo vi /etc/hosts
  • 粘贴刚才生成好的 hosts 配置
  • 按下「ESC」按键并输入  :wq 然后回车,即可保存 hosts 的配置。
Surge 用户请在配置文件 [Rule] 前新建 [Host] 将生成的配置放入 [Host] 后([Rule] 前)。
P.S. 建议完成设置之后,清理一下 DNS 缓存,具体方法为:
  • 如果你是 Apple Music 重度用户,我建议完成上述操作后继续执行以下步骤,并将终端中的结果替换掉之前 aod.itunes.apple.comstreamingaudio.itunes.apple.com 两个域名中的 IP:
  • ./fetch-timeout.py Music.json
  • ./export-configure.py hosts
  • sudo killall -HUP mDNSResponder OS X 操作系统
  • ipconfig /flushdns Windows 操作系统

4. ONE MORE THING

相信你也注意到了,AppleDNS 能够用于网络调试工具 Surge,

Surge配置文件:

 点击 Edit in text mode  进入配置文件



在配置文件
下方加入:
[host]
对应条目域名 = IP地址


如果你对于上述方法存在疑问,你可以下载这份示例文件进行研究。 
如果 AppleDNS 确实帮助你改善了访问 Apple 服务的速度,你也可以捐助作者

没有评论:

发表评论