|
|
|
|
移动端

访问Github太慢?我写了一个开源小工具一键变快

GitHub应该是广大开发者最常去的站点,这里面有大量的优秀项目,是广大开发者寻找资源,交友学习的好地方。

作者:铂赛东来源:元人部落|2020-08-25 20:10

 前言

GitHub应该是广大开发者最常去的站点,这里面有大量的优秀项目,是广大开发者寻找资源,交友学习的好地方。尤其是前段时间GitHub公布了一项代码存档计划——Arctic Code Vault,要把代码埋入地下250米深的永久冻土层,可以将代码保存一千年。此外,GitHub 还为开发者在配置文件中设计了纪念徽章。

想想自己的代码可以作为人类的技术瑰宝被保存一千年,是不是有点自豪呢。

好了,言归正传。

虽然GitHub没有被Q,但是由于CDN服务器都在国外,所以国内访问GitHub的速度实在是慢的一匹,有时候经常页面刷不出,在我获取知识的道路上增加了重重的阻碍。

所以,我肝了3小时,写了一个在不用T子的情况下,加速GitHub访问速度的小工具,最后会分享给大家。

同时,这篇文章也会分享其他加速GitHub访问的方法。算是一个比较全的整理吧。

Let's get it!

自动生成最快访问host的小工具

GitHub在国内访问速度慢的原因其实有很多,但最主要的原因就是GitHub的分发加速网络域名遭到DNS的污染。为了解决这个问题,网上有很多文章提供了一个解决方案,就是通过修改Hosts文件,绕过国内的DNS解析,直接访问GitHub的CDN节点,从而达到加速的目的。

但是我看大多数关于此方法的介绍,只提供3个github的相关域名,而且需要在ipaddress.com 一个个去查,根据查到的ip,再去自己ping,肉眼选取最快的ip,自行编辑成IP+域名格式,贴到hosts文件里。

其实GitHub用到相关域名有很多,我整理了下,一共有十几个

  1. github.global.ssl.fastly.net 
  2. github.com 
  3. assets-cdn.github.com 
  4. documentcloud.github.com 
  5. gist.github.com 
  6. help.github.com 
  7. nodeload.github.com 
  8. codeload.github.com 
  9. raw.github.com 
  10. status.github.com 
  11. training.github.com 
  12. avatars0.githubusercontent.com 
  13. avatars1.githubusercontent.com 
  14. avatars2.githubusercontent.com 
  15. avatars3.githubusercontent.com 

这要是一个个去查,一个个去选取,也是挺麻烦的。

为此我写了一个工具,能自动的根据你当前ip,去寻找这十几个域名所对应最快的CDN节点,如果一个ip对应多个CDN节点,工具会自动帮你去ping 10次,取到平均值最小的CDN的IP地址。

你需要做的,只是把最终生成的结果贴到你的hosts文件中即可。

开源地址:https://gitee.com/bryan31/githubhost

用法很简单,只需要执行以下命令即可运行

  1. java -jar githubhost.jar 

运行起来后,浏览器输入127.0.0.1:8880即可自动进行根据你当前Ip进行分析:

访问github太慢?我写了一个开源小工具一键变快


分析大概需要十几秒,进度条会自动刷新,等进度条满了之后,即可看到生成内容:

访问github太慢?我写了一个开源小工具一键变快


每个地区每个运营商可能运行出来的都不一样,所以得出结果后,你就可以把这段内容追加到你hosts文件中(如果不知道hosts存放位置,可以自行baidu),然后根据提示让hosts文件生效。

指定了CDN的访问地址,可以让你的github访问无卡顿了。

码云GitHub镜像站

码云提供了一个”码云急速下载“站,每天从github上同步一些项目。

https://gitee.com/mirrors

个人感觉应该不是所有的github项目都会同步过来,看仓库数量,有大概15k的项目

访问github太慢?我写了一个开源小工具一键变快


如果你想clone一些项目去研究,可以先在这里找找有没有。码云因为是国内开源项目站点,git clone速度自然不用担心,但是很可惜的是

1.这个镜像站点不是所有的github项目,不过大多数热门项目都会有

2.issue和release包也没有,只有代码

3.有一天的延迟。即你看到的是一天前的项目状态

4.因为不是github,所以你也没法通过这个push到github上的项目

GitHub镜像站

这个镜像站为:

https://github.com.cnpmjs.org/

进入之后,完全和github没有任何区别,访问也很快。

尤其是clone代码,那是飞快啊。。。

比如,你原先要clone,这样写

  1. git clone https://github.com/kubernetes/kubernetes.git 

现在改成:

  1. git clone https://github.com.cnpmjs.org/kubernetes/kubernetes.git 

试一下:

访问github太慢?我写了一个开源小工具一键变快

这个速度,应该无欲无求了吧。。。

不过这个方法可惜的是:

1.这个镜像站很不稳定,你时常会看到:

访问github太慢?我写了一个开源小工具一键变快

2.你每次clone还需要自己去修改url,有点不方便

3.你依旧没法push

GitClone站点

在寻找解决之道的途中,我又发现一个站点:gitclone

https://gitclone.com/

访问github太慢?我写了一个开源小工具一键变快

这是一个GitHub的缓存加速节点,也大约缓存了15k个项目,但是gitclone单独做了一个站点,里面可以进行搜索项目,甚至于还可以创建仓库。

gitclone的clone提供了多种方式来clone

访问github太慢?我写了一个开源小工具一键变快

但是搜索到的项目,最终查看还是跳转到GitHub相应的页面。

所以其实和gitee镜像站都差不多。换汤不换药,问题和之前几个镜像站点差不多,不过你只是要clone,还是不错的选择。

总结

其实在不用T字的情况下,方式无非就两种:

  1. 修改hosts,直接访问最快的CDN节点,这种方式优势在于原汁原味。
  2. 通过镜像去访问和clone,这种方式优势在于clone的速度。

个人推荐如果主要浏览为主,还是用上文推荐的工具去生成hosts进行配置,毕竟原汁原味,clone大项目的话,可以考虑以上镜像站点去加速下载。

开源地址:https://gitee.com/bryan31/githubhost

启动后访问127.0.0.1:8880端口即可自动生成。

【编辑推荐】

  1. 代码防御性编程的十条技巧
  2. 两个月新增 80 万行代码,Linux 内核为什么不会崩?
  3. 微软开源计算机视觉专题库在GitHub上又火了
  4. 科学家的挑战:十年前写的代码现在还能否运行
  5. 不怕特朗普封杀!“中国版 GitHub” 出道:工信部选定,已是世界第二
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

136人订阅学习

搭建数据中心实验Lab

搭建数据中心实验Lab

实验平台Datacenter
共5章 | ITGO(老曾)

93人订阅学习

大数据安全运维实战

大数据安全运维实战

CDH+Ambari
共20章 | 大数据陈浩

91人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微