部署文档

从零开始部署属于你自己的加速代理服务,全程免费

1

Fork 项目仓库

点击 GitHub 仓库右上角 Fork 按钮,将项目复制到你的账号下。

https://github.com/你的用户名/cloudflare-proxy
2

连接到 Cloudflare Pages

登录 Cloudflare Dashboard,进入 Workers & Pages → 创建应用程序 → Pages → 连接到 Git。

  • 选择你 Fork 的仓库
  • 构建命令:留空(纯静态站点)
  • 输出目录:/
  • 点击「保存并部署」
构建配置 Framework preset: None Build command: (leave empty) Output directory: / Root directory: (leave empty)
3

_worker.js 自动识别

项目根目录的 _worker.js 会在部署时自动被 Cloudflare Pages 识别为 Worker。它提供以下代理能力:

GitHub
Release 下载、Git Clone、Raw 文件、Archive 归档 — 通过 /https://github.com/... 路径代理
Docker Hub
Registry Mirror — 通过 /v2/... 路径代理到 registry-1.docker.io
Docker Auth
自动解析 401 WWW-Authenticate → 获取 Bearer Token → 重试请求
S3 反代
拦截 302/307 重定向到 AWS S3 的响应,通过 Worker 重新代理(解决中国大陆访问问题)
多 Registry
支持 GHCR、Quay.io、GCR、K8s Registry 等第三方容器镜像仓库
静态页面
非代理路径 → env.ASSETS.fetch() → 返回 Pages 托管的前端页面

完整代码见仓库根目录的 _worker.js,无需修改即可部署使用。

4

绑定自定义域名(可选)

进入 Pages 项目 → 自定义域 → 添加你的域名。配置 DNS CNAME 记录指向 your-project.pages.dev

Type Name Target CNAME @ your-project.pages.dev
5

配置你的域名

编辑 assets/js/config.js,将 DOMAIN 改为你的实际域名。页面加载时会自动替换所有代码示例中的占位域名。

window.CF_PROXY = { DOMAIN: '你的域名', };

如果需要彻底清理所有文件中的占位文本,也可以使用 grep -rl 'cloudflare-proxy-6rw.pages.dev' . | xargs sed -i 's/cloudflare-proxy-6rw.pages.dev/你的域名/g'

部署常见问题

Worker 代理是否会消耗大量请求额度?
每个代理请求会计入 Workers 请求数。免费计划每日 10 万次,个人使用绰绰有余。如果流量大,可开启 Cloudflare Cache 减少回源次数。
是否可以代理 GitHub LFS(大文件存储)?
Workers Free 计划单次请求响应体上限 100MB。对于超过 100MB 的 LFS 文件,建议配置 git LFS smudge filter 或使用其他方案。
能否配置 Basic Auth 只供自己使用?
可以。在 Worker 代码中添加 Basic Auth 校验逻辑,检查请求头中的 Authorization 字段。也可以使用 Cloudflare Access 的 Zero Trust 策略实现。
代理会被封禁吗?
Cloudflare Workers 使用共享 IP 池,一般不会被源站封禁。如果遇到 GitHub Rate Limit,可以在 Worker 中添加 GitHub Token 提升限额(5000 req/h)。