为什么慢?github的CDN被某墙屏了。
解决方法
绕过dns解析,在本地直接绑定host,该方法也可加速其他因为CDN被屏蔽导致访问慢的网站。
实现
在本地host文件中添加映射,步骤如下:
用文本编辑器打开hosts文件,位于C:WindowsSystem32driversetc目录下
打开 http://tool.chinaz.com/dns ,这是一个查询域名映射关系的工具
查询 github.global.ssl.fastly.net 和 assets-cdn.github.com 两个地址
多查几次,选择一个稳定,延迟较低的 ip 按如下方式添加到host文件
保存文件,重新打开浏览器,起飞。
# For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost # github 151.101.109.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 192.30.253.112 github.com (140.82.114.4) 151.101.185.194 github.global.ssl.fastly.net 219.76.4.4 github-cloud.s3.amazonaws.com
(转自:https://blog.csdn.net/qq_38977097/article/details/8077098)
国内访问Github会异常缓慢,在clone仓库时甚至只有10k以下的速度,下载半天有时还会失败需要从头再来,甚是让人恼火。
本文介绍通过修改系统hosts文件的办法,绕过国内dns解析,直接访问GitHub的CDN节点,从而达到加速的目的。
1 获取GitHub官方CDN地址
打开https://www.ipaddress.com/
查询以下三个链接的DNS解析地址
1. github.com
2. assets-cdn.github.com
3. github.global.ssl.fastly.net
记录下查询到的IP地址。
2 修改系统Hosts文件
打开系统hosts文件(需管理员权限)。
路径:C:WindowsSystem32driversetc
在末尾添加三行记录并保存。(需管理员权限,注意IP地址与域名间需留有空格)
192.30.253.112 github.com
151.101.72.133 assets-cdn.github.com
151.101.193.194 github.global.ssl.fastly.net
3 刷新系统DNS缓存
Windows+X 打开系统命令行(管理员身份)或powershell
运行 ipconfig /flushdns 手动刷新系统DNS缓存。
(注:原文链接 https://blog.csdn.net/w958660278/article/details/81161224)
上面三行ip的TTL都在49到53之间,那么什么是TTL?
“TTL”是生存时间(Time To Live)的意思
可以通过cmd:
ping 151.101.193.194
ping assets-cdn.github.com
的方式进行查询TTL,字节代表数据包的大小,时间顾名思义就是返回时间,“TTL”的意思就是数据包的生存时间,当然你得到的这个就是剩余的生存时间。TTL用来计算数据包在路由器的消耗时间,因为现在绝大多数路由器的消耗时间都小于1s,而时间小于1s就当1s计算,所以数据包每经过一个路由器节点TTL都减一。那么TTL的值一开始是什么呢?不同的操作系统默认下TTL是不同的。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
Ping百度服务器返回的数据包的TTL值为56(一般都是找2^n且离返回值最近的那个值),那么途中则经过了64-56=9个路由器。
“TTL”的值越小越好显然是不对的,相反,应该说是“TTL”的值越大且越接近最佳TTL如64才对,因为“TTL”的值越大,说明发送数据包经过路由器越少,而经过路由器越少,说明越快到达目的地,速度当然也就越快.
PING命令中的TTL大了和小了都不好,合适是最好的。
路由器是什么?从 Tracert 命令了解
tracert [目标]
意思是得到你的主机到目标主机经过路由器的ip。
达到目标我们经过了9个路由器(不算终点),跟上面Ping百度服务器返回的“TTL”值(56)是相关的,64-56=9。
注意一下有的值为“请求超时” ,原因是有的路由器是禁止Ping的(所以不会返回信息)。
(注:原文链接 http://www.webkaka.com/tutorial/zhanzhang/2017/061570/)
# GitHub520 Host Start 185.199.108.154 github.githubassets.com 199.232.68.133 camo.githubusercontent.com 199.232.68.133 github.map.fastly.net 199.232.69.194 github.global.ssl.fastly.net 140.82.113.3 github.com 140.82.112.5 api.github.com 199.232.68.133 raw.githubusercontent.com 199.232.68.133 user-images.githubusercontent.com 199.232.68.133 favicons.githubusercontent.com 199.232.68.133 avatars5.githubusercontent.com 199.232.68.133 avatars4.githubusercontent.com 199.232.68.133 avatars3.githubusercontent.com 199.232.68.133 avatars2.githubusercontent.com 199.232.68.133 avatars1.githubusercontent.com 199.232.68.133 avatars0.githubusercontent.com # GitHub520 Host End