{"id":27969822,"url":"https://github.com/cmliu/cf-workers-raw","last_synced_at":"2025-05-07T21:54:47.522Z","repository":{"id":242541278,"uuid":"809826075","full_name":"cmliu/CF-Workers-Raw","owner":"cmliu","description":"这个项目允许你通过Cloudflare Workers安全地访问GitHub私有仓库中的原始文件，无需直接暴露你的GitHub令牌。","archived":false,"fork":false,"pushed_at":"2024-08-10T19:54:19.000Z","size":40,"stargazers_count":673,"open_issues_count":2,"forks_count":893,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T21:54:43.370Z","etag":null,"topics":["cloudflare-pages","cloudflare-worker","cloudflare-workers","raw"],"latest_commit_sha":null,"homepage":"https://raw.090227.xyz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmliu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-03T14:18:42.000Z","updated_at":"2025-05-04T15:50:19.000Z","dependencies_parsed_at":"2024-08-03T08:26:22.497Z","dependency_job_id":"f72dac0a-c78a-4d42-b5f0-746dc7953481","html_url":"https://github.com/cmliu/CF-Workers-Raw","commit_stats":null,"previous_names":["cmliu/cf-workers-raw"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmliu%2FCF-Workers-Raw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmliu%2FCF-Workers-Raw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmliu%2FCF-Workers-Raw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmliu%2FCF-Workers-Raw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmliu","download_url":"https://codeload.github.com/cmliu/CF-Workers-Raw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252961844,"owners_count":21832193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare-pages","cloudflare-worker","cloudflare-workers","raw"],"created_at":"2025-05-07T21:54:47.052Z","updated_at":"2025-05-07T21:54:47.490Z","avatar_url":"https://github.com/cmliu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CF-Workers-Raw：轻松访问GitHub私有仓库\n这个项目允许你通过Cloudflare Workers安全地访问GitHub私有仓库中的原始文件，无需直接暴露你的GitHub令牌。\n## 为什么需要这个工具？\n\n- 你有一些存储在GitHub私有仓库中的重要文件。\n- 你想直接通过URL访问这些文件的原始内容（比如配置文件、数据文件等）。\n- 但是，你不想在URL中直接暴露你的GitHub令牌，因为这可能会被他人滥用。\n\n我们的解决方案是使用Cloudflare Workers作为中间层，它替你安全地处理身份验证，让你可以安全地访问私有文件。\n## 如何使用？ [视频教程](https://www.youtube.com/watch?v=T-bK5o96lqI)\n假设你的Cloudflare Workers项目部署在`raw.090227.xyz`，\n\n而你要访问的私有文件是`https://raw.githubusercontent.com/cmliu/CF-Workers-Raw/main/_worker.js`。\n\n## 方法1：通过URL参数传递令牌\n最直接的方法是在URL中添加你的GitHub令牌作为参数：\n```url\nhttps://raw.090227.xyz/cmliu/CF-Workers-Raw/main/_worker.js?token=你的GitHub令牌\n```\n或者，如果你喜欢完整的原始URL：\n```url\nhttps://raw.090227.xyz/https://raw.githubusercontent.com/cmliu/CF-Workers-Raw/main/_worker.js?token=你的GitHub令牌\n```\n\n## 方法2：在Workers中设置全局令牌\n如果你经常访问同一个私有仓库，可以在Workers设置中添加一个名为`GH_TOKEN`的变量，值为你的GitHub令牌。这样，你就可以直接访问，无需在URL中每次都包含令牌：\n```url\nhttps://raw.090227.xyz/cmliu/CF-Workers-Raw/main/_worker.js\n```\n或者，如果你喜欢完整的原始URL：\n```url\nhttps://raw.090227.xyz/https://raw.githubusercontent.com/cmliu/CF-Workers-Raw/main/_worker.js\n```\n\n## 方法3：添加额外的访问控制（推荐）\n为了更高的安全性，你可以设置两个变量：\n\n- `GH_TOKEN`：你的GitHub令牌\n- `TOKEN`：一个自定义的访问密钥（比如mysecretkey）\n\n然后，你的URL会是这样的：\n```url\nhttps://raw.090227.xyz/cmliu/CF-Workers-Raw/main/_worker.js?token=mysecretkey\n```\n或者，如果你喜欢完整的原始URL：\n```url\nhttps://raw.090227.xyz/https://raw.githubusercontent.com/cmliu/CF-Workers-Raw/main/_worker.js?token=mysecretkey\n```\n这种方法提供了双重安全：即使有人猜到了你的自定义密钥，他们仍然无法访问你的GitHub文件，因为GitHub令牌是安全地存储在Workers设置中的。\n\n## 方法4：添加`GH_NAME`、`GH_REPO`、`GH_BRANCH`变量**隐藏GitHub路径信息**\n\n为了更高的隐私性，你可以设置多个变量：\n- `GH_NAME`：你的GitHub用户名（例如: **cmliu**）\n然后，你的URL会是这样的：\n```url\nhttps://raw.090227.xyz/CF-Workers-Raw/main/_worker.js?token=sd123123\n```\n\n- `GH_REPO`：你的GitHub仓库名（例如: **CF-Workers-Raw**，必须设置`GH_NAME`变量为前提）\n然后，你的URL会是这样的：\n```url\nhttps://raw.090227.xyz/main/_worker.js?token=sd123123\n```\n\n- `GH_BRANCH`：你的GitHub仓库名（例如: **main**，必须设置`GH_NAME`和`GH_REPO`变量为前提）\n然后，你的URL会是这样的：\n```url\nhttps://raw.090227.xyz/_worker.js?token=sd123123\n```\n\n**如您使用完整的原始URL，则以上变量将不会生效！**\n```url\nhttps://raw.090227.xyz/https://raw.githubusercontent.com/cmliu/CF-Workers-Raw/main/_worker.js?token=sd123123\n```\n\n## 如何设置这些变量？\n\n在你的Cloudflare Workers管理面板中：\n\n1. 进入你的Workers项目。\n2. 点击**设置**标签。\n3. 滚动到**环境变量**部分。\n4. 添加以下变量：\n   - 变量：GH_TOKEN，值：你的GitHub个人访问令牌\n   - 变量：TOKEN（可选），值：你的自定义访问密钥\n     \nGitHub个人访问令牌可以在GitHub设置中的\"Developer settings\" \u003e \"Personal access tokens (classic)\"页面生成。\n\n## 错误处理\n\n如果出现问题，你会看到以下错误消息之一：\n\n- **TOKEN有误**：你提供的自定义访问密钥不正确。\n- **TOKEN不能为空**：需要提供GitHub令牌。\n- **无法获取文件 检测路径或TOKEN**：文件路径错误或令牌无权访问该文件。\n- **路径不能为空**：你没有指定要访问的文件路径。\n\n# 变量说明\n| 变量名 | 示例 | 必填 | 备注 | \n|--|--|--|--|\n| GH_TOKEN| `ghp_CgmlL2b5J8Z1soNUquc0bZblkbO3gKxhn13t`| ❌| 您的GitHub令牌 **token**|\n| TOKEN| `nicaibudaowo` | ❌| `GH_TOKEN`和`TOKEN`同时存在的时候会作为访问鉴权，单独赋值时的效果与`GH_TOKEN`相同|\n| GH_NAME| `cmliu` | ❌| 你的GitHub用户名 |\n| GH_REPO| `CF-Workers-Raw` | ❌| 你的GitHub仓库(必须设置`GH_NAME`变量为前提) |\n| GH_BRANCH| `main` | ❌| 你的GitHub仓库(必须设置`GH_NAME`和`GH_REPO`变量为前提) |\n| URL302 | `https://t.me/CMLiussss` |❌| 主页302跳转 |\n| URL | `https://github.com/cmliu/CF-Workers-Raw/blob/main/README.md` |❌| 主页伪装 |\n| ERROR | `无法获取文件，检查路径或TOKEN是否正确。` |❌| 自定义错误提示 |\n\n# 感谢\n我自己的脑洞、ChatGPT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmliu%2Fcf-workers-raw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmliu%2Fcf-workers-raw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmliu%2Fcf-workers-raw/lists"}