部署自己的服务
部署 Cloudflare Workers 版本
- 打开 Cloudflare Workers 并注册登录。
- 创建一个 Worker,取一个子域名。
- 把仓库根目录的
index.js内容复制到编辑器。 - 按需修改文件顶部的配置,然后
Save and deploy。
文件顶部的关键配置:
js
// 静态资源地址,即本网站地址(当路径不是 GitHub 链接时回落到这里)
const ASSET_URL = 'https://minimaxflora.github.io/gh-proxy/'
// 前缀,如果自定义路由为 example.com/gh/*,则改为 '/gh/'
const PREFIX = '/'
// 分支文件使用 jsDelivr 镜像的开关,0 为关闭
const Config = { jsdelivr: 0 }
// 白名单,路径中包含指定字符串才会通过,如 ['/username/']
const whiteList = []部署完成后,访问你的 Worker 域名就能看到本站,并可直接在页面中加速下载。
ASSET_URL 与本站的关系
ASSET_URL 指向的就是这个美化版主页。把本站部署到 GitHub Pages 后,将 ASSET_URL 改成你的 Pages 地址即可。服务会自动处理站点子路径前缀,因此通过加速域名访问时页面资源也能正常加载。
部署本站(GitHub Pages)
本站使用 VitePress + Teek 主题构建,并通过 GitHub Actions 从 master 分支自动发布到 gh-pages 分支。
本地开发与构建
bash
# 安装依赖
npm install
# 本地预览
npm run docs:dev
# 构建静态文件(输出到 docs/.vitepress/dist)
npm run docs:build自动部署
仓库内的 .github/workflows/deploy.yml 会在 master 分支有推送时自动构建并发布到 gh-pages:
- 在仓库
Settings -> Pages中,把Source设为Deploy from a branch; Branch选择gh-pages,目录选择/ (root);- 推送任意改动到
master,等待 Actions 完成后即可访问。
站点路径(base)
本站默认部署在 https://<用户名>.github.io/gh-proxy/,因此构建配置中的 base 为 /gh-proxy/。如果你 Fork 后仓库名不同,请同步修改 docs/.vitepress/config.ts 中的 base。
部署 Python 版本
使用 Docker
bash
docker run -d --name="gh-proxy-py" \
-p 0.0.0.0:80:80 \
--restart=always \
hunsh/gh-proxy-py:latest第一个 80 是暴露出去的端口。
直接部署
bash
# 安装依赖(请使用 Python 3)
pip install flask requests然后按需修改 app/main.py 顶部的配置,重点是 ASSET_URL:
python
ASSET_URL = 'https://minimaxflora.github.io/gh-proxy' # 主页启动服务:
bash
python3 app/main.py注意
Python 版本会在启动时拉取 ASSET_URL 主页内容,如果服务器无法访问 github.io,请把 ASSET_URL 改成其他可访问的静态地址。