上过 Github 的朋友们应该都知道,Github 好,真男人就应该上 Github。然而,国内 Github 的稳定性根本没法看,一会能打开一会打不开,有时候可能十次里只能成功打开一次:
仓库克隆能否成功更是全看运气,在经历了多次 git clone
和 ctrl+c
的循环后终于能成功连接开始拉取,结果一看速度,几十KB,甚至几KB:
此时你想着,行吧,我就挂它几个小时后台等着呗。然而,这种想法还是太天真了,等你过了几个小时后回来再看,大概率会得到一条无情的拉取失败提示:
这对于等了半天的你来说简直是致命打击!网上有很多解决方案,有换一个站点克隆的,有修改系统配置文件的,还有科学上网的,这些都或多或少有点麻烦或者存在合规性问题,但有这么一个神器,完全合规合法,且使用简单,仅需打开这个神器即可生效。
它就是 FastGithub :
官网地址:https://github.com/creazyboyone/FastGithub/
官方对其功能的描述如下:
-
提供域名的纯净IP解析;
-
提供IP测速并选择最快的IP;
-
提供域名的tls连接自定义配置;
-
google的CDN资源替换,解决大量国外网站无法加载
js
和css
的问题;
最重要的是,其完全合法,官网的合法性说明如下:
《国际联网暂行规定》第六条规定:“计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。” FastGithub
本地代理使用的都是“公用电信网提供的国际出入口信道”,从国外Github
服务器到国内用户电脑上FastGithub
程序的流量,使用的是正常流量通道,其间未对流量进行任何额外加密(仅有网页原有的TLS加密,区别于VPN的流量加密),而FastGithub
获取到网页数据之后发生的整个代理过程完全在国内,不再适用国际互联网相关之规定。
当然其也有几点注意事项:
-
fastgithub不具备“翻墙”功能,也没有相关的计划
-
fastgithub不支持Windows7等已被发行方停止支持的操作系统,并且也不会主动提供支持
-
fastgithub不能为您的游戏加速
-
fastgithub没有主动在github之外的任何渠道发布
针对于上面的最后一点,由于很多朋友本来就是苦于无法连接 github ,这里又只能从官网下载,实属陷入悖论了,因此,我会帮大家先下载好,大家在公众号后台回复 fastgithub 即可获取国内的快速下载链接!
当然,为了方便大家在无法打开官网的情况下能够运行起来,这里再附上官网的使用指南:
windows-x64桌面:
-
双击运行 FastGithub.UI.exe
windows-x64服务:
-
fastgithub.exe start
// 以windows服务安装并启动 -
fastgithub.exe stop
// 以windows服务卸载并删除
linux-x64终端:
-
sudo ./fastgithub
-
设置系统自动代理为
http://127.0.0.1:38457
,或手动代理http/https为127.0.0.1:38457
linux-x64服务
-
sudo ./fastgithub start
// 以systemd服务安装并启动 -
sudo ./fastgithub stop
// 以systemd服务卸载并删除 -
设置系统自动代理为
http://127.0.0.1:38457
,或手动代理http/https为127.0.0.1:38457
macOS-x64
-
双击运行fastgithub
-
安装cacert/fastgithub.cer并设置信任
-
设置系统自动代理为
http://127.0.0.1:38457
,或手动代理http/https为127.0.0.1:38457
docker-compose一键部署:
-
准备好docker 18.09, docker-compose.
-
在源码目录下,有一个docker-compose.yaml 文件,专用于在实际项目中,临时使用github.com源码,而做的demo配置。
-
根据自己的需要更新docker-compose.yaml中的sample和build镜像即可完成拉github.com源码加速,并基于源码做后续的操作。
我在打开了 fastgithub 后的下载速度可以看下图:
当然,还是要说明一下,正是由于 FastGithub 完全合规合法,其用的都是公用电信网提供的国际出入口信道,因此其速度也取决于这些信道的速度,FastGithub 只是自动为我们选择了相对比较快且稳定的信道。在下载一些比较大型的仓库时,也有可能速度会逐步下降,或是由于下载时间过长被中断,如果遇到这些情况只能是多试几次,或者换一个方案。但至少对于 Github 网页的访问以及一些小型仓库的克隆是没有问题的。