RT, 最近Apple发布了macOS Mojave, 但在更新到macOS Majove时巨慢无比... Apple的这个CDN服务器应该在美国,再加上国内网络情况的各种设定变得十分有意思了。
截张图感受一下
3天18小时... 其实之前有到五六十天,来不及截图了。
解决方法
看到知乎上流传的修改DNS方法,我也实践过。其原理是将Apple更新下载服务器的IP地址替换解析为中国内地的服务器。
但是实际上速度仍在一定程度上无法提升,我对网络进行抓包,发现在点击App Store中的更新按钮后,请求发向了如下地址:
http://222.20.147.168/swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallESDDmg.pkg?wshc_tag=1&wsts_tag=5bae2cc1&wsid_tag=d3475ca6&wsiphost=ipdbm
App Store 在发送请求后,被DNS解析到的IP重定向至这个地址。其实在一定程度上是不可靠的。当然由于macOS对升级安装包会有校验机制,但总觉得心里不踏实...?
于是我认为,最legal的解决方法如下:
- 抓包,获得 App Store 请求更新包的地址,然后暂停;
- 使用第三方工具下载更新包;
- 继续下载,但这次请求通过工具定向到本地
为什么不直接在网上搜索现成的安装包下载?由于App Store 在下载安装包后还会进行升级系统前的其他操作,且对于每种型号的Mac可能下载的东西不一样,我们便采用这种方法。
过程
### 抓包
在此之前,请关闭科学上网软件及VPN软件。否则Charles可能无法成功抓包。
- 使用 Charles 工具进行抓包。下载地址:https://www.charlesproxy.com/
- 将其拖到镜像外运行
- 启用Charles的代理(在软件运行后会自动启用)
获得安装包下载地址
- 继续下载更新程序
- 在Charles中找到地址
这个地址应以http://swcdn.apple.com/ 开头,如果以其他地址开头,应包含这个地址(存在第三方DNS替换URL行为的可能)Charles界面应如图:
(其DNS名称为swcdn.g.aaplimg.com)
- 注意,你应获取到两个下载地址。一个为系统安装镜像,一个位Recovery系统镜像。文件名如下:
在第三方下载软件中下载
迅雷刷刷刷,10MB/s 一会儿就下好了。
使用Charles重定向请求目标
在Charles中右键目标,选择 "Map Local"。
Coooooool!
升级愉快
End.
在重装系统中可以应用吗?
应当也可以类似操作(拍.