当前位置: 首页 > 科技观察

访问Github太慢?我写了一个开源小工具,一键搞定速度更快

时间:2023-03-20 10:09:08 科技观察

前言GitHub应该是开发者最常去的网站了。这里有很多优秀的项目,是开发者寻找资源、交友和学习的好地方。特别是前段时间,GitHub公布了一个代码归档计划——ArcticCodeVault,将代码埋在地下250米深处的永久冻土层中,可以保存代码一千年。此外,GitHub还在配置文件中为开发者设计了一个纪念徽章。想到自己的代码能作为人类的科技宝藏保存一千年,是不是有点自豪?好了,言归正传。虽然GitHub一直没有上QQ,但是因为CDN服务器都在国外,国内访问GitHub的速度确实很慢。有时候页面无法刷新,给我的求知之路增添了很多障碍。于是,我努力了3个小时,写了一个不用T的情况下加速GitHub访问速度的小工具,最后分享给大家。同时本文也会分享其他加速GitHub访问的方法。算是比较完整的安排了。我们去取得它!自动生成最快访问主机的小工具。GitHub在国内访问速度慢的原因其实有很多,但最主要的原因是GitHub的分发加速网络域名被DNS污染了。为了解决这个问题,网上很多文章都提供了一种解决方案,即通过修改Hosts文件,绕过国内DNS解析,直接访问GitHub的CDN节点,从而达到加速的目的。但是我看到大部分关于这个方法的介绍都只提供了github的3个相关域名,需要到ipaddress.com上一一查看。根据查到的ip,自己去ping,选择肉眼最快的ip,自己动手编辑成IP+域名格式,粘贴到hosts文件中。事实上,GitHub使用了很多相关的域名。我整理好了。github.global.ssl.fastly.netgithub.comassets-cdn.github.comdocumentcloud.github.comgist.github.comhelp.github.comnodeload.github.comcodeload.github.comraw.github.comstatus.github.等十几个。comtraining.github.comavatars0.githubusercontent.comavatars1.githubusercontent.comavatars2.githubusercontent.comavatars3.githubusercontent.com一个一个的去检查和选择还是挺麻烦的。为此,我写了一个工具,可以根据你当前的ip,自动找到这几十个域名对应的最快的CDN节点。如果一个ip对应多个CDN节点,工具会自动帮你ping10次。获取平均值最小的CDN的IP地址。您需要做的就是将最终生成的结果粘贴到您的主机文件中。开源地址:https://gitee.com/bryan31/githubhost使用方法很简单,执行以下命令运行java-jargithubhost.jar运行后在浏览器中输入127.0.0.1:8880即可自动进行对您当前的Ip分析:分析需要十秒左右,进度条会自动刷新。进度条跑满后,可以看到生成的内容:每个地区每个operator可能运行的不一样,所以得到结果后,可以把这个内容添加到你的hosts文件中(如果你不知道hosts在哪里存储好了,可以自己百度),然后按照提示让hosts文件生效。指定CDN的访问地址,可以让你的github访问无卡顿。码云GitHub镜像站码云提供了一个“码云快下载”站,每天从github同步一些项目。https://gitee.com/mirrors个人感觉不是所有的github项目都会同步。查看仓库数量,大约有15k个项目。如果你想克隆一些项目进行研究,你可以先查看这里。因为码云是国内的开源项目站点,所以不用担心gitclone的速度,但是比较遗憾的是1.这个镜像站点不全是github项目,但是大部分热门项目都会有2.有没有问题和发布包,只有代码3。延迟一天。也就是你看到的是项目一天前的状态。因为不是github,所以不能push到github上的项目github镜像站。这个镜像站是:https://github.com.cnpmjs.org/进去之后和github完全没有区别,访问也很快。尤其是克隆代码,那是非常快的。..比如你本来想clone,所以写gitclonehttps://github.com/kubernetes/kubernetes.git现在改成:gitclonehttps://github.com.cnpmjs.org/kubernetes/kubernetes.git试试看:这个速度应该没什么了。..但是这个方法有点可惜:1.这个镜像站点很不稳定,经常看到:2.每次clone都需要自己修改url,有点不方便3.还是不能pushGitClone站点找解决办法途中发现了另一个站点:gitclonehttps://gitclone.com/这是一个GitHub的缓存加速节点,也缓存了大概15k的item,但是gitclone做了一个单独的站点,可以搜索item,甚至您还可以创建仓库。gitclone的克隆提供了多种克隆方式,但是搜索到的项目最后会跳转到GitHub的对应页面。所以其实和gitee镜像站类似。换汤不换药,问题和之前的镜像站点类似,但如果只是想克隆,还是不错的选择。总结其实如果不使用T字,只有两种方式:修改hosts,直接访问最快的CDN节点。这种方法的优点是它是真实的。通过镜像访问和克隆,这种方式的优势在于克隆的速度。个人建议,如果以浏览为主,使用上面推荐的工具生成hosts进行配置。毕竟如果要clone一个大项目,可以考虑上面的镜像站点,加快下载速度。开源地址:https://gitee.com/bryan31/githubhost启动后访问127.0.0.1:8880端口即可自动生成。