摘要
一句话总结
CF-Workers-SUB 是一款基于 Cloudflare Workers 部署的代理订阅管理工具,能够将零散的独立节点和多个订阅链接汇聚并转换为适配多种客户端的单一专属订阅链接。
核心要点
- 开源与技术栈:项目基于 JavaScript 开发,采用 Apache License 2.0 开源协议。
- 部署与存储:支持通过 Cloudflare Pages 或 Workers 进行部署,并可绑定 Cloudflare KV 命名空间用于逐行录入和存储节点数据。
- 订阅汇聚与转换:自动将独立节点链接转换为 base64 格式,支持将多个不同服务商的订阅合并为一个统一的订阅地址。
- 多客户端适配:依托订阅转换后端服务,可将订阅自动转换为 Clash、Sing-box 等多种代理客户端支持的格式,并支持自定义分流规则。
- 入口保护机制:通过设置环境变量(如
TOKEN)定义专属访问路径,防止订阅地址被恶意盗用。 - 隐私保护:在处理非 base64 订阅时,系统会自动生成有效期为 24 小时的临时订阅提交给转换后端,以防止真实订阅地址泄露。
- 高度可配置:提供丰富的环境变量,允许用户自定义访客 Token (
GUEST)、订阅名称 (SUBNAME)、转换后端 API (SUBAPI) 及分流配置 (SUBCONFIG)。 - 消息通知:支持通过配置 TGTOKEN 和 TGID,将相关通知推送到 Telegram。
风险与不足
- 转换超时风险:当汇聚的订阅非 base64 格式且节点数量十分庞大时,后端处理时间较长,极易导致部分客户端(如 Clash)在拉取订阅时因超时而失败(官方建议适度删减节点数量)。
- 外部服务依赖:格式适配功能默认依赖外部的订阅转换后端服务(如
sub.cmliussss.com),若外部服务不可用会影响功能(但允许用户通过环境变量自行指定其他后端)。
功能与定位
CF-Workers-SUB 是一个基于 Cloudflare Workers 搭建的代理订阅管理工具。其主要定位是将用户手中零散的独立节点和多个不同的订阅链接,合并为一个专属于用户的单一订阅链接,从而简化多节点、多服务商环境下的订阅管理。
典型使用场景
- 适用于个人或团队在对应技术领域的实践落地。
核心功能
- 节点格式转换:自动将独立的节点链接转换为 base64 格式的订阅链接。
- 多订阅汇聚:支持将多个 base64 订阅(如来自不同服务商的订阅)合并为一个统一的订阅地址,实现单链接获取所有节点。
- 多客户端适配:依托后端的订阅转换服务,可自动将订阅转换为不同代理客户端(如 Clash、Sing-box 等)所需的格式,实现一条订阅适配多种工具。
- 自定义分流:支持配置专属的代理分流规则,实现个性化的路由模式。
- 消息通知:支持通过配置 Telegram Bot Token 和用户 ID,将相关通知发送至 Telegram。
特色与差异点
- 项目具备活跃社区与持续迭代特征。
使用方式概览
- 部署环境:支持通过 Cloudflare Pages 或 Cloudflare Workers 进行部署。
- 入口保护:通过设置环境变量(如
TOKEN)来定义专属的快速订阅访问路径(如/auto),以避免订阅地址被恶意盗用。 - 数据存储:支持绑定 Cloudflare KV 命名空间,用户可通过专属入口页面逐行录入自建节点链接或第三方订阅链接。
- 高度可配置:提供丰富的环境变量选项,允许用户自定义访客订阅 Token (
GUEST)、订阅名称 (SUBNAME)、自定义订阅转换后端 API (SUBAPI) 以及分流配置文件 (SUBCONFIG) 等。
限制与注意事项
- 转换超时风险:当汇聚的订阅非 base64 格式且节点数量十分庞大时,订阅转换后端需要较长时间处理。这极易导致部分客户端(如 Clash)在拉取订阅时因超时而失败。官方建议适度删减节点数量以提高转换效率。
- 隐私保护机制:为防止真实订阅地址泄露,当处理非 base64 订阅时,系统会自动生成一个有效期为 24 小时的临时订阅,并将其提交给订阅转换后端完成格式转换。
- 外部服务依赖:格式适配功能默认依赖外部的订阅转换后端服务(如
sub.cmliussss.com),用户也可通过环境变量自行指定其他转换后端。 - 通知配置前提:若需使用 Telegram 通知功能,必须提前在 Telegram 注册并获取 Bot 凭证(TGTOKEN)及接收通知的账户/群组 ID(TGID)。
- 合规边界:本仓库仅做项目信息归档,不复述可操作细节、命令、脚本片段或下载镜像直链。
链接
- GitHub 仓库:https://github.com/cmliu/CF-Workers-SUB