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了吗

请直接参考官方:

dotnetcore/FastGithub: github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题

软件备用下载链接:

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

参考官方文档:

首页 | FastGit UK Document

对于正常的 clonepush 操作,FastGit 已经提供了相当完善的操作。对于 Release 和源码存档的下载,我们可以使用如下方法进行操作。

> # 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
> ```

### 使用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](https://www.jsdelivr.com/github)

### 使用ghproxy

[GitHub Proxy 代理加速 (ghproxy.com)](https://ghproxy.com/)

和jsdelivr类似,不过由于是国人搭建的,比jsdelivr容易上手一些

## 加速Git克隆

直接将`http`换成`git`即可:

如将: git clone https://github.com/dotnetcore/FastGithub.git 换成: git clone git://github.com/dotnetcore/FastGithub.git ```

或者使用上面提到的FastGit等。他们也提供克隆加速

其他加速

7ED

7ED.NET Github RAW Accelerate | raw.sevencdn.com

您所期待的有限服务,欢迎光临 - 7ED Service

参考

  1. dev-sidecar: 开发者边车,github打不开,github 加速, git clone加速,google CDN加速,Stack Overflow加速 (gitee.com)
  2. 提高国内访问 github 速度的 9 种方法! - 知乎 (zhihu.com)