GitHub 访问慢 —— 优化 DNS 污染

GitHub 访问慢 —— 优化 DNS 污染

豆子 460 2022-04-12

GitHub 访问速度慢,这是个老生常谈的话题了

事实上,GitHub 并没有被墙,不过因为服务器都在国外,所以访问速度确实很慢

如果有条件当然可以用魔法解决,但如果不想麻烦的话,这里提供另外一个解决方法

所谓 DNS 污染,百度百科是这么说的

网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。一般来说,在互联网上都有可信赖的网域服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的计算机导引往错误的服务器或服务器的网址。

其他的暂且不管,我们只需要知道问题是域名指往不正确的IP地址,我们从这个角度来尝试解决

打开 IP 检测工具,我使用的是 站长之家-多点 IP 检测工具 ,输入【github.com】进行检测,然后在响应结果里按照响应时间排序,把响应最快的 IP 地址记下来

image

打开 HOST 文件,windows 路径:

C:\Windows\System32\drivers\etc\hosts

在 HOST 文件里追加以下语句

#[刚才响应最快的 IP 地址]   github.com 如:
140.82.114.3   github.com

OK,这样我们访问 github.com 进入的就是我们配置的这个 IP 了,一般情况下可以加快访问速度

事实上,和 Github 相关的域名远不止一个,比如我们经常会发现可以进入 Github 但头像出不来,那是因为头像的域名是 avatars.githubusercontent.com ,所以如果这个域名访问不同,头像也就加载不出来了

粗略整理,和 Github 相关的域名也有以下这些

github.global.ssl.fastly.net
github.com
assets-cdn.github.com
documentcloud.github.com
gist.github.com
help.github.com
nodeload.github.com
codeload.github.com
raw.github.com
status.github.com
training.github.com
www.github.com
github.githubassets.com
avatars0.githubusercontent.com
avatars1.githubusercontent.com
avatars2.githubusercontent.com
avatars3.githubusercontent.com

这里提供一个自动检测工具,点击下面的链接可以直接下载,其实就是去重复上述的检测过程

GitHubHOST - 点击下载

下载之后直接运行这个 jar 包

image

程序跑起来之后用浏览器访问 http://localhost:8880 ,程序便会自动执行

image

执行完成后,复制生成的内容追加到 HOST 文件中,并输入 ipconfig /flushdns 命令刷新 DNS

如此这般,算是尽量地去提高网站的访问速度了,如果还慢,那就只能用那招了


# GITHUB