在 Cloudflare Workers 上部署 gh-proxy 以实现 GitHub 文件加速
前言
众所周知,GitHub 在国内的访问速度属实一言难尽,而知名 GitHub 文件加速网站 ghproxy 则天天被”Wall”,于是笔者就想着自建一个类似项目,供自己使用折腾
本人在 Cloudflare Workers 上部署的 GitHub 文件加速服务(欢迎各位适度使用):
https://ghproxy.yukari0201.ggff.net/
但是,授人以鱼不如授人以渔,与其交给各位一个不稳定的加速地址,不如教各位自行部署,于是此文应运而生
开始之前的准备
- 一个 Cloudflare 账户
- 一个可以托管在 Cloudflare 的域名(可选)
部署
创建 Worker 项目
1、登录 Cloudflare Dash
- 登录后,点击右上角的
+ 添加
->Workers
2、开始创建 Worker
- 在跳转到的
开始使用
新界面,点击最下面的从 Hello World! 开始
->开始使用
3、更改默认名称
- 接下来,在输入框中,将 Cloudflare 生成的默认名称修改为你喜欢的名称(例如:
ghproxy
),方便查看、管理
4、最后,点击右下的 部署
即可
替换 worker.js 的内容
1、进入代码编辑器
部署
完成之后,在跳转到的新界面中点击编辑代码
- 如果你不小心点错了,点成了
继续处理项目
,不用担心,只需要点击右上的编辑代码
按钮即可
2、替换代码
- 将
worker.js
的内容替换为 hunshcn/gh-proxy 项目提供的index.js
的内容,该文件加速后的链接如下(选择其中一个即可):- 个人自建 gh-proxy 加速连接
- JSDelivr 加速链接
为你的 gh-proxy 前端添加深色模式支持
找到 worker.js 的这几行/**
* static files (404.html, sw.js, conf.js)
*/
const ASSET_URL = 'https://hunshcn.github.io/gh-proxy/'
将 ASSET_URL
常量的值改为 'https://yukari0201.github.io/gh-proxy/'
即可/**
* static files (404.html, sw.js, conf.js)
*/
const ASSET_URL = 'https://yukari0201.github.io/gh-proxy/'
其中的原理:
ASSET_URL
常量表示前端静态资源的地址,而本人 Fork 了 原项目,并在 DeepSeek 的帮助下对前端界面进行了一点点修改(详见 gh-pages 分支)
实际全是 DeepSeek 干的,有人压迫剥削 AI
将静态资源的地址替换为本人提供的地址后,就支持深色模式了喵~
点个 Star 喵~ https://github.com/Yukari0201/gh-proxy
3、确认无误后,点击右上的 部署
即可
为部署好的 Worker 绑定自己的域名(可选)
为什么需要绑定自己的域名?
- Cloudflare Workers 默认的 worker.dev 域名在国内被污染,无法正常访问
- 默认的 worker.dev 域名过长,不方便使用
操作步骤
1、将域名托管至 Cloudflare
- 若已有域名,需将 DNS 解析迁移到 Cloudflare
- 若无域名,可通过 Cloudflare 注册 一个新域名
- 具体操作方式各位还请自行搜索
2、进入 Workers 管理界面
- 点击侧边栏的
计算 (Workers)
->Workers 和 Pages
- 找到你之前创建好的 Worker,点击
添加绑定
3、添加自定义域名
- 在跳转到的新界面中点击
域和路由
->添加
->自定义域
- 在输入框中输入
<前缀>.<你托管到 Cloudflare 的域名>
- 例如我托管到 Cloudflare 的域名是:
yukari0201.ggff.net
,我输入的域名前缀为,ghproxy
- 最终的访问域名即为:
ghproxy.yukari0201.ggff.net
- 例如我托管到 Cloudflare 的域名是:
4、验证
- 访问
https://<前缀>.<你托管到 Cloudflare 的域名>/
,验证是否生效
参考链接
- https://github.com/hunshcn/gh-proxy
- https://hunsh.net/archives/23/