转自:Github:加速方案汇总 (kermsite.com)
重要说明
Github虽然是全球最大的代码托管平台,我们也可以通过使用GitHub学习知识、发现优秀的开源软件。但是GitHub的确存在一些不太和谐的内容。本人坚决抵制这些不和谐内容,希望各位读者也能够自觉遵守当地的法律法规,保持理性上网,注意保护自己的个人信用和个人信息,不要留下不良记录。
如果只是想浏览和从Github上下载软件的话,个人认为比较简单而且保险的方法是使用cloudflare。
如果还有克隆项目的需求,可以参考加速克隆。
确实是需要push&pull
的,推荐自己开启全局。
实在是懒得弄,或者不会弄,也可以用软件。
综合解决方案
此部分介绍的工具通常包含加速访问、加速克隆、加速下载、加速同步等功能。相应的,需要下载特定软件并全局安装。
如果你仅仅需要部分功能,并且不愿意下载软件,可以参考之后的三个章节。
使用“开发者边车”
这是一款专门用于加速Github访问的软件,官方介绍如下:
开发者边车,命名取自service-mesh的service-sidecar,意为为开发者打辅助的边车工具 通过本地代理的方式将https请求代理到一些国内的加速通道上
- github 直连加速 (通过修改sni实现,感谢 fastGithub 提供的思路)
- release、source、zip下载加速
- clone 加速
- 头像加速
- 解决readme中图片引用无法加载的问题
- gist.github.com 加速
- 解决git push 偶尔失败需要输入账号密码的问题(fatal: TaskCanceledException encountered / fatal: HttpRequestException encountered)
- raw/blame加速
请直接参考官方文档使用:
dev-sidecar: 开发者边车,github打不开,github 加速, git clone加速,google CDN加速,Stack Overflow加速 (gitee.com)
软件的备用下载连接:
https://download.fastgit.org/docmirror/dev-sidecar/releases/download/v1.7.2/DevSidecar-1.7.2.exe
以及:
[软件]soft/[开发工具]Dev - Kerm's Onemanager (kermsite.com)
使用FastGithub
这是GitHub上类似开发者边车的一个解决方案。
淦为什么放在Github上啊。我要是能访问你的项目不就代表我已经可以使用GitHub了吗
请直接参考官方:
软件备用下载链接:
https://download.fastgit.org/dotnetcore/FastGithub/releases/download/2.1.2/fastgithub_win-x64.zip
以及:
[软件]soft/[开发工具]Dev - Kerm's Onemanager (kermsite.com)
终极解决方案
使用全局代理解决一切问题。
加速GitHub访问
由于众所周知的原因,在国内访问Github比较困难,有一些网页可以勉强打开,有一些网页则直接报错打不开。并且通常下载速度也非常慢。
这里我稍微总结一下可以用来访问Github的方法。
其实总的来说,这些方法都可以归类到代理服务器中。也就是说国内网络直接访问GitHub打不开,那么使用一台既可以访问GitHub,又可以访问国内网络的服务器作为中转,就可以实现GitHub的间接访问了。
使用带有隐私防护功能的搜索引擎
原理:当使用这类强隐私防护的搜索工具,并打开隐私模式时,数据会先到达搜索引擎的服务商处,然后再转到你的电脑上。那么只要:你的电脑能够访问搜索引擎,服务商能够访问Github,我们就可以间接实现访问。
参考:Metager:使用代理流量的方式提供隐私保护的搜索引擎 (kermsite.com)
使用cloudflare提供的worker服务搭建镜像站
原理:worker是cloudflare提供的一款serverless服务,可以在他们的服务器上运行JavaScript代码。目前cloudflare的IP还没有被屏蔽。故我们可以实现利用cloudflare的服务器进行中转访问GitHub。
参考:使用cloudflare制作“镜像站” (kermsite.com)
加速Github下载
注意:此部分并非访问Github的方法,而是单纯针对下载或者克隆某些文件慢的问题,添加一个CDN加速而已
使用FastGit
参考官方文档:
对于正常的
clone
,push
操作,FastGit 已经提供了相当完善的操作。对于 Release 和源码存档的下载,我们可以使用如下方法进行操作。<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="bash" cid="n380" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 0px; margin-top: 15px; width: inherit;"># Release
假设下载链接为 https://github.com/A/A/releases/download/1.0/1.0.tar.gz
wget https://download.fastgit.org/A/A/releases/download/1.0/1.0.tar.gz
Codeload
假设下载链接为 https://hub.fastgit.org/A/A/archive/master.zip
或者 https://codeload.github.com/A/A/zip/master
wget https://download.fastgit.org/A/A/archive/master.zip</pre>
使用JsDelivr的CDN服务
Migrating from GitHub to jsDelivr
jsDelivr is a free, fast, and reliable Open Source CDN for npm and GitHub. Most GitHub links can be easily converted to jsDelivr links.
——摘自官网
需要提前知道你所要下载的文件的链接。推荐作为分享文件给其他人时使用。我自己尝试了一下加速release似乎不行,用来作图床的加速倒是可以。
Migrate from GitHub to jsDelivr
使用ghproxy
GitHub Proxy 代理加速 (ghproxy.com)
和jsdelivr类似,不过由于是国人搭建的,比jsdelivr容易上手一些
加速Git克隆
直接将http
换成git
即可:
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n346" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">如将:
git clone https://github.com/dotnetcore/FastGithub.git
换成:
git clone git://github.com/dotnetcore/FastGithub.git</pre>
或者使用上面提到的FastGit等。他们也提供克隆加速
其他加速
7ED
7ED.NET Github RAW Accelerate | raw.sevencdn.com
附录
参考文献
版权信息
本文原载于kermsite.com,复制请保留原文出处。