这阵子想看看开源项目 MyBatis 的源码,结果使用 git 的 clone 命令怎么也 clone 不下来,我以为是网速慢,上 Google 一搜,原来 Github 的域名被 DNS 污染了,我说呢怎么访问 Github 一直都很慢,知道了问题原因就解决掉这个恶心的问题
加速访问
在网上搜索一圈,好多文章中提速的方法就是修改 git 的代理配置,前提是有 SS 之类的{代}{理}工具,然而我开了全局{代}{理},设置了 git 的代理配置,clone 的速度还是很慢,只能到 30kb/s,如果库大点,下个几天几夜都可能?
设置代理不好使,就继续搜索解决方法,在 github 上找到一个 issues,其中提供了 github 的 host列表。
随着 issue 找到了一个生成 hosts 的 repo,但是这个 repo 的 hosts 并不是每日更新的,于是自己 fork 了一份,写了个简单 crontab,每日执行生成更新 hosts 文件。
仓库地址:https://github.com/Mosiki/github
食用方法
最麻烦的方式就是去手动修改 host 文件,最简单的方式就是下载 Switch Host 软件进行 host 修改,跨平台,因为 hosts 文件每日都会自动更新,所以需要本地的 hosts 也能自动更新, 好在 SwitchHosts 提供了远程 hosts 的功能。
- 复制如下 hosts 地址
https://raw.githubusercontent.com/Mosiki/github/master/github_hosts.txt
- 新增远程 hosts
笔者在 mac 下操作,win 是同理。 - 设置自动更新
选择 24 小时即可,第一次添加的时候需要手动点击刷新按钮,刷新获取一下远程的 hosts
更新完成之后点击确定保存即可。 - 打开 hosts 开关
如图设置完,把开关打开就 Ok 了。
测试Clone速度
由 30kb/s 变成 4M/s 了 ?
修改后,在 GitHub 的 release 中下载东西也变快了。