gh-proxy+油猴脚本 实现优雅的GitHub加速
gh-proxy+TamperMonkey实现优雅的GitHub加速
善用GitHub加速,码代码快人一步。
前言
由于众所周知的原因,在使用GitHub时常常会遇到图片无法加载、仓库克隆慢到只有几KB/s等问题。目前已经有许多方案可以实现加速访问。
这篇文章除了简要列举已有的部分方法外,重点介绍通过gh-proxy项目搭配应用于GitHub的油猴脚本实现一种更为优雅的加速下载方案。
已有的一些加速方法
目前常见的加速方案有修改hosts文件、利用Gitee导入、国内GitHub全站镜像等,各有千秋。
查IP+修改host
步骤
-
使用https://www.ipaddress.com/来查找github的IP(主要是raw.githubusercontent.com)
-
修改本地hosts文件
-
刷新DNS缓存:
ipconfig /flushdns
缺陷
-
不稳定,IP地址可能变化 -
修改hosts文件较为麻烦且有风险 -
整体操作对新手不友好
Gitee仓库导入
Gitee是国内的git仓库托管服务,最近更是被工信部钦定用于建设中国独立的开源托管平台。
步骤
-
注册Gitee帐号并登录 -
打开导入页面:https://gitee.com/projects/import/url -
填入要导入的github仓库地址,导入仓库 -
从gitee下载/克隆
缺陷
-
需要跳转到gitee网站以及登录,大大增加了操作所需工作量 -
gitee上的仓库不能同步更新,每次需要手动同步(不过gitee有一键同步的按钮) -
导入无法导入Releases,对于只想下载使用并无帮助
站点镜像
目前已经有许多国内的GitHub镜像网站,完整同步github的内容和外观,可以像在GitHub上一样浏览,但是访问速度更快。
-
https://github.com.cnpmjs.org -
https://git.sdut.me/ -
https://hub.fastgit.org/
警告:请不要在镜像网站登录或者输入帐号密码,否则后果自负。
缺陷
-
无法登录,许多操作受限 -
平时的浏览过程中遇到的链接基本全部都是github,需要二次跳转 -
镜像网站中的许多链接(例如仓库地址)也仍然采用github的链接,在进行克隆等操作时仍然要手动替换链接
gh-proxy+油猴脚本
实际上,目前大部分的情况属于GitHub网站可以正常访问,但是图片、文件的加载、release文件的下载和仓库克隆的速度较慢。
接下来介绍的两种方式便是针对这些情况的解决方案,也是这篇文章介绍的重点。
gh-proxy
首先要介绍的是gh-proxy项目。
gh-proxy是一个通过镜像站点和CDN,或者cloudflare Worker来加速GitHub的项目。
Demo页面:https://gh.api.99988866.xyz/
有两种使用方法:
-
在Demo页面输入github的文件、releases等链接,点击下载即可加速下载。 -
也可以直接在复制的GitHub链接前加上这个Demo页面的地址(注意不要忘记最后的斜杠),然后使用各种下载工具等直接下载,速度更快。例如我想要下载Powershell的源代码,原始链接为 https://github.com/PowerShell/PowerShell/archive/v7.0.3.zip
, 那么加上前缀后就是https://gh.api.99988866.xyz/https://github.com/PowerShell/PowerShell/archive/v7.0.3.zip
, 将这个拼接的链接直接粘贴到IDM、FDM或者迅雷等下载工具即可加速下载。
显然这个方法较为简洁,但是仍然需要手动复制或者修改url。
既然已经有了这么方便的接口,那么实现一个更方便直观的入口应该并非难事。
似乎没有现成的轮子。本着自己动手丰衣足食的原则,我写了一个油猴脚本。
油猴脚本gh-proxy-buttons
这个油猴脚本利用gh-proxy,可以在GitHub网页实现如下的功能:
对于链接和文件,鼠标悬停时显示一个按钮,点击即可通过gh-proxy加速下载;
效果图示如下:
Releases页面的下载按钮
悬停在文件下载链接时出现按钮,点击按钮可以通过代理下载或右键按钮复制链接用于下载器
代码页面的文件链接(不支持文件夹)
点击按钮通过代理下载或右键按钮复制链接
仓库地址的文本框
完整仓库的压缩包下载
点击按钮通过代理下载或右键按钮复制链接
优点(开始吹牛)
-
不需要离开github原始页面或是进行打开其他网页等操作 -
不改变github原有页面的外观,在不使用时无存在感 -
鼠标悬浮时显示,移开后消失,操作简单直观
缺点
-
对于GitHub页面本身没有进行加速,但是大部分情况不影响正常使用。 -
如果使用Cloudflare Worker,免费版有10k每日请求数限制,但是目前绰绰有余;而且也可以自己注册创建Worker。
安装
-
无论如何,首先你需要为你的浏览器安装[油猴脚本管理器]:(https://www.tampermonkey.net/)。 -
在 已经安装油 猴的浏览器里打开此处链接(也可直接点击左下角蓝字“阅读原文”): https://gh-proxy.du33169.workers.dev/https://github.com/du33169/gh-proxy-buttons/blob/master/gh-proxy-buttons.user.js ,如果一切顺利,会跳转到油猴的脚本安装页面,点击“安装”即可。 -
如果有其他疑问,可以访问 项目地址 查看更多:https://github.com/du33169/gh-proxy-buttons。
再见了,14KB/s的龟速!