项目地址:cmliu/CF-Workers-SUB · 作者图文教程:cmliussss.com/p/CF-Workers-SUB · 视频教程:CM喂饭 干货满满第 28 期 / 第 13 期(见文末)· 配套阅读:《自建订阅转换后端 SubConverter》
节点一多,订阅管理先崩溃:自建的几个节点链接、两三个机场订阅、朋友分享的临时节点,散落在客户端里一条条维护。CF-Workers-SUB 干的就是汇聚这一件事——把多个节点链接和多个订阅链接合并成一条你自己的订阅,客户端只订这一条;它还能依托订阅转换后端把汇聚结果适配成 Clash / sing-box 等不同格式,并套用你自己的分流规则。本文按官方图文与仓库 README 写全 Pages / Workers 两种部署、全部变量和注意事项。提醒:本项目供学习与网络技术研究,请遵守当地法律法规。

它能干什么
- 节点链接自动转 base64 订阅:把 vless://、vmess://、trojan://、ss:// 等分享链接打包成标准 base64 订阅
- 多订阅汇聚:多个机场订阅 + 多个自建节点合并为一个订阅地址,客户端只维护这一条
- 自动适配客户端格式:依托订阅转换后端(SUBAPI),同一条汇聚订阅可输出 Clash、sing-box、Surge、Loon 等格式
- 自定义分流规则:转换时套用外部配置文件(SUBCONFIG),用你自己的分流而不是机场给的简单规则
- 访客订阅与 TG 通知:可另发一条访客 TOKEN 给别人用(GUEST),订阅被访问时可 Telegram 通知你
准备工作
- 一个 Cloudflare 账号(免费计划即可)
- 一个 GitHub 账号(Pages 部署要先 Fork 仓库)
- 一个域名(可选但推荐):绑自定义域后地址更好记;Pages 部署要给 Pages 项目绑次级域名(不要用根域名)
- 一个订阅转换后端:默认用作者的公共后端(SUBAPI.cmliussss.net),想彻底不经第三方,就先按《自建订阅转换后端 SubConverter》搭一个自己的,再填到 SUBAPI 变量里
部署方法一:Pages 部署
- 在 GitHub 上 Fork CF-Workers-SUB 仓库(顺手点 Star)
- Cloudflare 控制台 → Pages →「连接到 Git」,选中你 Fork 的仓库,「开始设置」并部署
- 绑定 KV:项目「设置 → 绑定」添加 KV 命名空间绑定,变量名填
KV(没有命名空间就新建一个);绑定后需要重新部署一次生效 - 设置快速订阅入口:项目环境变量添加
TOKEN,值就是你的订阅入口路径,例如填auto,订阅地址即https://你的域名/auto。强烈建议把默认值改掉,换成只有你知道的词——入口路径就是钥匙,猜中即可管理你的汇聚内容 - 绑自定义域(推荐):Pages 项目「自定义域」填次级域名(如
sub.example.com),按提示到域名 DNS 处添加 CNAME 记录指向CF-Workers-SUB.pages.dev,点「激活域」 - 访问
https://你的域名/<TOKEN 的值>打开管理页(见下节)
部署方法二:Workers 部署
- Cloudflare 控制台创建一个新的 Worker
- 把仓库
_worker.js的全部内容粘贴进在线编辑器并部署 - 修改入口:Workers 版不用环境变量,直接在代码里改
mytoken的赋值,例如let mytoken = 'auto';改成你自己的入口词,订阅地址即https://你的Worker域名/<mytoken 的值> - 同样绑定变量名为
KV的 KV 命名空间(「设置 → 绑定」) - 访问
https://你的Worker域名/<入口>打开管理页
Pages 版改配置在变量里改、Workers 版在代码里改,这是两种方法唯一的本质区别;长期用、想跟作者更新选 Pages + GitHub。
添加节点与订阅(管理页用法)
打开 /<TOKEN> 就是汇聚管理页,页面顶部会列出各格式的订阅地址,中间是汇聚编辑框:

- 在编辑框里粘贴你的内容,一行一个:节点分享链接(vless://、vmess://、trojan://、ss:// 等)和订阅链接(https:// 开头)可以混着放,点保存
- 拿订阅:页面上方有现成的地址——自适应订阅地址(按客户端自动识别格式)、Base64 订阅(
/<TOKEN>?b64)、Clash 订阅(?clash)、sing-box 订阅(?sb)、Surge(?surge)、Loon(?loon),把对应的一条填进客户端即可 - 没有绑 KV 时,也可以把链接清单直接写在
LINK变量里(见变量表);绑了 KV 后以管理页内容为准,LINK 变量不再使用
变量全表
| 变量名 | 示例 | 必填 | 说明 |
|---|---|---|---|
TOKEN | auto | ✅ | 汇聚订阅的入口路径,例如 /auto。务必改成自己的词 |
GUEST | test | ❌ | 访客订阅 TOKEN,例如 /sub?token=<你的GUEST值>,给别人用的只读入口 |
LINK | 多条链接换行分隔 | ❌ | 无 KV 时的链接清单,可同时放多个节点链接与多个订阅链接;添加 KV 后此变量不再使用 |
TGTOKEN | 机器人 token | ❌ | Telegram 通知的机器人凭证(需先在 Telegram 注册 Bot 获取) |
TGID | 数字 ID | ❌ | 接收通知的 Telegram 用户或群组数字 ID,与 TGTOKEN 配套 |
SUBNAME | CF-Workers-SUB | ❌ | 订阅名称(客户端里显示的名字) |
SUBAPI | SUBAPI.cmliussss.net | ❌ | 订阅转换后端地址;换成自建后端就填自己的,见配套文章 |
SUBCONFIG | ACL4SSR 的 ini 地址 | ❌ | 订阅转换配置文件,默认 ACL4SSR_Online_MultiCountry.ini(多国分流规则) |
注意事项(官方 CAUTION 与实测经验)
- 24 小时临时订阅:非 base64 的汇聚转换时,它会先生成一个 24 小时有效的临时订阅再提交给转换后端——这是为了防止你的汇聚地址在转换环节泄露。副作用是:转换类订阅地址依赖后端实时生成,别把它当成永久静态文件理解
- 汇聚规模别贪大:节点池太大时转换后端处理慢,Clash 等客户端拉订阅容易超时。几百个节点以内为宜,明显用不上的机场和节点先清掉
- 入口即钥匙:TOKEN(或 Workers 版的 mytoken)同时是管理入口,泄露等于别人能改你的汇聚清单;订阅地址也不要发到公开场合
- 改完变量记得重新部署:Pages 改环境变量/KV 绑定后要重新部署才生效,这一点和 edgetunnel 等同类项目一致
常见问题与检查维修
- 打开
/<TOKEN>不是管理页:先确认 TOKEN 值与访问路径完全一致(大小写敏感);Pages 部署确认变量加在生产环境且已重新部署;Workers 部署确认改的是代码里的mytoken并已部署 - 保存后订阅里没有新加的节点:确认 KV 绑定的变量名是
KV、绑到了当前项目;如果没绑 KV 而是用 LINK 变量,注意链接之间用换行分隔 - Clash 拉订阅超时/失败:多为汇聚规模过大或转换后端慢——先缩小汇聚清单试;再把 SUBAPI 换成自建后端(公共后端高峰期排队是常态)
- 转换格式不对:检查客户端拿的是哪条地址(?clash / ?sb 等后缀别拿错);分流规则不对则是 SUBCONFIG 配置文件的问题,换回默认 ACL4SSR 配置验证
- 访客订阅:只发 GUEST 生成的访客地址,不要把主 TOKEN 地址给别人
视频教程
- 作者官方视频:自建订阅!CF-Workers-SUB(CM喂饭 干货满满第 28 期)
- 作者官方视频:CF-Workers-SUB Pages 全变量部署篇(第 13 期)
- 作者图文教程:自建订阅!CF-Workers-SUB(CMLiussss Blog)
资料来源
- 项目仓库 README 与变量说明(2026-11 核对):https://github.com/cmliu/CF-Workers-SUB
- 作者图文教程:https://cmliussss.com/p/CF-Workers-SUB
- 配套自建后端:见本站《自建订阅转换后端 SubConverter》
还没有评论,来抢沙发。