GitHub是一个在线软件源代码托管服务平台,用于公开程序或软件的代码。使用Git作为版本控制软件,由开发者克里斯·汪斯崔斯、P·J·海特和汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成。在2018年,GitHub被微软公司收购。[2][3][4]
但是长期以来,Github在国内都处于半墙状态,与其状态类似的还有TMDB和CF,虽然CF是真的大善人,但是在国内也是真的慢....
原理
一个大型网站可能有多个IP,而我们访问这些IP的速度由于路由原因不完全一样。在访问网站时,计算机会先从本地hosts文件读取域名对应的hosts,如果没有找到,再去请求DNS,而DNS返回的并不一定是最优的IP,我们需要做的,就是手动获取优选IP,然后将其写死在hosts文件里
获取优选IP
方法很多,这里只介绍几种好用的,先介绍一种通用的吧
测速获取优选IP
测速获取优选IP,就是有些测速网站提供了多地区多节点的测速,而我们只需要选择其中ping延迟最低的IP就是了,这里我们以TMDB举例,但是这个方法其实是通用的
我比较习惯使用的网站是站长先生,用其他的其实也可以,只是我觉得这个挺好用的
先打开网站,输入我们需要优选的域名,这里是www.themoviedb.org,然后点击ping
接下来会得到一张下面这样的图,我们找到香港对应的IP(注意,国内延迟低的你的地区不一定低,但是香港近的我们如果可以走香港一般会比较快)
这里我们获得两个IP,然后在自己本地ping一下保证能通
然后这个IP就是我们的优选IP了
Github专用法
对于Github,有大佬定时获取最新的优选IP,直接看这个就好了
CF专用法
同样有大佬开发了专用工具,现在这里下载CloudflareSpeedTest并解压,解压后的文件夹应该长这样
然后双击CloudflareST,会出现下面这样的输出
# XIU2/CloudflareSpeedTest v2.2.5
开始延迟测速(模式:TCP, 端口:443, 范围:0 ~ 9999 ms, 丢包:1.00)
5955 / 5955 [--------------------------------------------------------------------------------------------] 可用: 3033
开始下载测速(下限:0.00 MB/s, 数量:10, 队列:10)
10 / 10 [------------------------------------------------------------------------------------------------]
IP 地址 已发送 已接收 丢包率 平均延迟 下载速度 (MB/s)
104.20.90.32 4 4 0.00 46.38 91.31
104.18.158.125 4 4 0.00 46.54 75.02
104.19.207.189 4 4 0.00 46.42 66.19
104.17.65.227 4 4 0.00 46.53 61.38
104.24.146.42 4 4 0.00 46.58 59.95
104.19.199.67 4 4 0.00 46.39 57.25
104.19.195.122 4 4 0.00 46.24 55.16
104.19.206.216 4 4 0.00 46.38 23.90
104.18.130.7 4 4 0.00 46.47 15.91
172.65.131.53 4 4 0.00 46.48 0.00
完整测速结果已写入 result.csv 文件,可使用记事本/表格软件查看。
基本上第一个就是我们需要的优选IP了
写入Hosts
Windows下hosts的位置:C:\Windows\System32\drivers\etc\hosts
Linux和Macos下hosts的位置:/etc/hosts
注意,修改host需要管理员权限,然后像下面这样按照IP 域名的格式写进去就完了
140.82.114.26 alive.github.com
140.82.114.26 live.github.com
185.199.111.154 github.githubassets.com
参考文献
- https://zh.wikipedia.org/wiki/GitHub
- https://github.com/XIU2/CloudflareSpeedTest
- https://hosts.gitcdn.top/
- https://sir.net/