起因
国内下载Github的代码或文件比较困难,或者感人的几KB,或者无法下载。如果服务器上的项目构建依赖于Github代码,必须采取加速手段以节省时间。
一种方法是采用代理/VPN加速,例如使用ssh -D
建立动态代理,然后配合proxychains
让应用走代理加速;另一种方法是直接加速要下载的资源。第一种方法需要在服务器上部署代理环境,对新手不友好。第二种加速链接可以写在脚本中,适合多人都要部署环境的情形。
加速Github资源,最初接触到的是部署在Cloudflare workers上的js版本。经过本人测试,发现在国内VPS上速度非常不理想,于是想到用自己买的好线路VPS来加速。
作者提供了Python版(以及docker版),但作为一个PHP开发,为何不用PHP编写的呢?于是顺手写了一个,目前开源在Github上:https://github.com/tlanyan/ghproxy。
Github文件下载加速项目说明
基于异步PHP框架 ReactPHP开发,演示网址:https://gh.2i.gs。
使用方式:https://gh.2i.gs/要加速的github网址
,例如要加速本项目代码下载,使用网址 https://gh.2i.gs/https://github.com/tlanyan/ghproxy/archive/main.zip
即可加速下载。也可在演示网站输入资源URL,点击下载按钮查看跳转后的加速网址。
目前项目(仅)支持如下形式资源的加速:
分支源码:https://github.com/tlanyan/ghproxy/archive/main.zip
release源码:https://github.com/tlanyan/yii2/archive/2.0.4.zip
release文件:https://github.com/tlanyan/yii2/archive/2.0.4.zip
分支文件:https://github.com/tlanyan/ghproxy/blob/main/index.html
API请求:https://api.github.com/repos/reactphp/http/releases/latest
简单来说,在Github网站上右键复制出来的链接都是符合标准的。其中默认release、archive直接反代加速,文件会跳转至JsDelivr或cnpmjs.org加速下载。
注意:
- 不支持加速项目文件夹
- 本项目支持加速API请求(但是API请求一般数据很小,能直接访问的情况下没有加速效果)
- 网站仅做演示,可靠使用请自行部署
其他事项
1. 详细部署教程请参考 项目主页说明,本文不再赘述。
2. 后来本人上网搜索,发现了许多加速Github的方式,包括使用cnpm.js等镜像站,或者用Ucloud提供的GlobalSSH等骚操作,详情参考:让你的GitHub下载飞速提升到2M/s以上。