CF-Workers-Raw:轻松访问GitHub私有仓库中的原始文件
CF-Workers-Raw:轻松访问GitHub私有仓库中的原始文件

背景与核心痛点:在实际开发与运维过程中,我们常常需要直接通过 HTTP URL 访问 GitHub 私有仓库中的原始文件(如配置、密钥模板或自动化脚本)。但若直接在 URL 中拼接 GitHub Personal Access Token (PAT),极易发生密钥泄露与滥用。CF-Workers-Raw 利用 Cloudflare Workers 作为轻量级边缘安全中继,在边缘节点安全注入 Token 并支持自定义访问密钥鉴权,兼顾安全性与极致访问速度。
目录
核心特性与优势
- 安全隐匿:无需在客户端或终端脚本中暴露真实 GitHub Token。
- 边缘加速:依托 Cloudflare 全球 Anycast 边缘网络,大幅改善国内及跨境访问私有 raw 文件的延迟。
- 轻量无门槛:单个
_worker.js脚本即可运行,免费套餐每日 10 万次请求额度充裕。 - 灵活鉴权:支持通过自定义 Header 或 URL Query Parameter 进行二次访问保护。
准备工作:创建 GitHub 访问令牌
- 登录 GitHub,点击右上角头像进入 Settings。
- 依次选择 Developer settings -> Personal access tokens -> Tokens (classic)。
- 点击 Generate new token (classic):
- Note:填入备注(如
cf-workers-raw) - Expiration:选择过期时间(推荐长期或根据策略设置)
- Select scopes:勾选
repo权限(允许访问私有仓库内容)
- Note:填入备注(如
- 点击 Generate token 生成并妥善保存 Token,该密钥仅显示一次。
部署 Cloudflare Workers
- 访问开源仓库:cmliu/CF-Workers-Raw。
- 支持两种部署方式:
- Workers 部署:在 Cloudflare Dashboard 新建 Worker,将仓库
_worker.js复制并粘贴保存部署。 - Pages 部署:直接连接 GitHub 仓库自动 CI 部署。
- Workers 部署:在 Cloudflare Dashboard 新建 Worker,将仓库
环境变量配置说明
在 Cloudflare Workers 后台 Settings -> Variables 中可配置以下环境变量:
| 变量名 | 示例值 | 必填 | 说明 |
|---|---|---|---|
GH_TOKEN |
ghp_xxxxxxxxxxxx |
否 | GitHub 官方个人访问令牌,用于后端鉴权 |
TOKEN |
myCustomKey2026 |
否 | 自定义访问密钥,与 GH_TOKEN 配合实现双重保护 |
URL302 |
https://t.me/yourchannel |
否 | 访问 Worker 根目录时的 302 重定向目标 |
URL |
https://github.com/cmliu/CF-Workers-Raw |
否 | 根目录页面伪装反代目标 |
安全访问与鉴权实操
假设你的 Worker 绑定域名为 raw.yourdomain.com,目标私有文件为 https://raw.githubusercontent.com/user/private-repo/main/config.yaml。
模式一:URL 动态传递令牌
未在 Workers 中配置 GH_TOKEN 时,可在请求 URL 中临时追加参数:
https://raw.yourdomain.com/user/private-repo/main/config.yaml?token=ghp_xxxxxxxxxxxx
或直接粘贴完整 Raw 地址:
https://raw.yourdomain.com/https://raw.githubusercontent.com/user/private-repo/main/config.yaml?token=ghp_xxxxxxxxxxxx
模式二:Workers 注入全局令牌
在 Workers 环境变量中设置 GH_TOKEN 后,请求无需附带任何参数,Workers 会自动在边缘节点补全 Authorization 头部:
https://raw.yourdomain.com/user/private-repo/main/config.yaml
模式三:双重自定义访问控制(推荐)
在 Workers 环境变量中同时设置:
GH_TOKEN=ghp_xxxxxxxxxxxxTOKEN=myCustomKey2026
此时外部必须提供正确的自定义密钥才能获取文件,彻底杜绝泄露真实 GitHub Token:
https://raw.yourdomain.com/user/private-repo/main/config.yaml?token=myCustomKey2026
即使自定义密钥泄露,他人也无法通过该密钥直接访问你 GitHub 上的其他私有仓库,安全性极大提升。
本文是转载文章,版权归原作者所有。建议访问原文,转载本文请联系原作者。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果