vlambda博客
学习文章列表

gh-proxy+油猴脚本 实现优雅的GitHub加速

gh-proxy+TamperMonkey实现优雅的GitHub加速

善用GitHub加速,码代码快人一步。

前言

由于众所周知的原因,在使用GitHub时常常会遇到图片无法加载、仓库克隆慢到只有几KB/s等问题。目前已经有许多方案可以实现加速访问。

这篇文章除了简要列举已有的部分方法外,重点介绍通过gh-proxy项目搭配应用于GitHub的油猴脚本实现一种更为优雅的加速下载方案。

已有的一些加速方法

目前常见的加速方案有修改hosts文件、利用Gitee导入、国内GitHub全站镜像等,各有千秋。

查IP+修改host

步骤

  1. 使用https://www.ipaddress.com/来查找github的IP(主要是raw.githubusercontent.com)

  2. 修改本地hosts文件

  3. 刷新DNS缓存:ipconfig /flushdns

缺陷

  • 不稳定,IP地址可能变化
  • 修改hosts文件较为麻烦且有风险
  • 整体操作对新手不友好

Gitee仓库导入

Gitee是国内的git仓库托管服务,最近更是被工信部钦定用于建设中国独立的开源托管平台。

步骤

  1. 注册Gitee帐号并登录
  2. 打开导入页面:https://gitee.com/projects/import/url
  3. 填入要导入的github仓库地址,导入仓库
  4. 从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/

gh-proxy Demo页面

有两种使用方法:

  1. 在Demo页面输入github的文件、releases等链接,点击下载即可加速下载。
  2. 也可以直接在复制的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页面的下载按钮

悬停在文件下载链接时出现按钮,点击按钮可以通过代理下载或右键按钮复制链接用于下载器

gh-proxy+油猴脚本 实现优雅的GitHub加速

release

代码页面的文件链接(不支持文件夹)

点击按钮通过代理下载或右键按钮复制链接

gh-proxy+油猴脚本 实现优雅的GitHub加速

file

仓库地址的文本框

gh-proxy+油猴脚本 实现优雅的GitHub加速

copy

完整仓库的压缩包下载

点击按钮通过代理下载或右键按钮复制链接

gh-proxy+油猴脚本 实现优雅的GitHub加速

zip

优点(开始吹牛

  • 不需要离开github原始页面或是进行打开其他网页等操作
  • 不改变github原有页面的外观,在不使用时无存在感
  • 鼠标悬浮时显示,移开后消失,操作简单直观

缺点

  • 对于GitHub页面本身没有进行加速,但是大部分情况不影响正常使用。
  • 如果使用Cloudflare Worker,免费版有10k每日请求数限制,但是目前绰绰有余;而且也可以自己注册创建Worker。

安装

  1. 无论如何,首先你需要为你的浏览器安装[油猴脚本管理器]:(https://www.tampermonkey.net/)。
  2. 已经安装油 猴的浏览器里打开此处链接(也可直接点击左下角蓝字“阅读原文”): https://gh-proxy.du33169.workers.dev/https://github.com/du33169/gh-proxy-buttons/blob/master/gh-proxy-buttons.user.js ,如果一切顺利,会跳转到油猴的脚本安装页面,点击“安装”即可。

    gh-proxy+油猴脚本 实现优雅的GitHub加速

  3.  如果有其他疑问,可以访问 项目地址 查看更多:https://github.com/du33169/gh-proxy-buttons。


再见了,14KB/s的龟速!


往期精选

gh-proxy+油猴脚本 实现优雅的GitHub加速
转了吗

赞了吗

在看吗