Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

CFNext 订阅管理器

CFNext —— 部署在 Cloudflare Workers / Pages 的代理订阅管理面板,单文件同时实现 VLESS / Trojan / XHTTP 多协议代理与图形化配置:/UUID(或自定义路径)进入面板,/sub 输出订阅;内置节点优选器、节点数量控制、轮询下发、ECH 加密、落地与出站代理及地区 / 运营商 / IP 版本多维筛选,部署即用,绑定 KV 后改完即生效。

Telegram 交流群 YouTube 频道


更新日志 _V1.0.5

🐛 BUG 处理

  1. Trojan 协议在 Mihomo/Clash Verge 中延迟失败/不可用的问题
  2. 更换Mihomo内核下发的配置文件,新配置增加防DNS泄露;
  3. 根据现有代码,更新特别鸣谢/调用 API 接口名单

🚩 节点下发说明:

来源节点名称说明
内置 6 条 bestcf 地区优选池(HK / TW / JP / SG / US / KR)香港-01、日本-01…数据行自带地区标记("地区随机 | 香港 HK"),代码提取中文地区命名
bestcf 源中不带地区标记的行优选IP-XX名称提取不到地区 → 留空兜底
默认 CNAME 域名池(40 个域名,如 cloudflare.182682.xyz)优选IP-XX解析出的纯 CF 优选 IP 无法判定地区,统一改名"优选IP-XX"
CF CIDR 随机补足 + 内置静态优选池(208+ 条纯 CF IP)优选IP-XXX纯 IP 无任何地区信息,统一兜底命名

更新日志 _V1.0.4

✨ 更新内容

  • 明文版代码支持检测更新,点击右上角版本号即可检测,检测到新版本会自动复制新版本的代码到剪贴板;
  • 此版本之前的代码均不支持更新检测,强烈建议更新此版

🐛 BUG 处理

  1. 节点数量控制 不生效的问题,改为全局生效;

更新日志 _V1.0.3

✨ 更新内容

  • 订阅生成器默认节点源更换为 6 条 bestcf 地区中转池(原默认仅解析 14 个 CNAME 域名)
  • 放行社区维护的可达中转 IP(此前被 filterCFbuildNodes 按"非 CF 官方段"一刀切过滤)
  • 静态内置优选 IP 池移至动态节点之后统一追加,不再挤占 Clash 300 上限
  • 默认下发数量提升:fillCount 30 → 1000,结构化上限 300、轻量上限 800
  • 新增 SAFE_CAP 安全上限:结构化格式(Clash/SingBox 等)300、轻量格式(v2ray 等)800,nodeLimit 超出自动钳制
  • 出站连接增加超时保护:直连 6s / 自定义 proxyIP 6s / 内置反代 5s,SYN 被静默丢弃时不再无限挂起
  • 内置地区反代升级为多地区轮询(本地区域优先,最多 3 个区域),单个反代失效不再导致整条链路流量为 0
  • WebSocket 代理增加早期数据帧暂存缓冲:出站建立期间到达的 TLS 握手数据不再被丢弃

🐛 BUG 处理

  1. 下发节点可用数量少 → 根因四处叠加(地区池从未使用 / 非 CF 段 IP 全被过滤 / 静态池占满上限 / 默认值保守),修复后默认下发 800 节点(Clash 结构化 300),地区节点排前
  2. 静态内置 IP 挤占节点列表前部 → 内置池置后追加,动态地区节点优先
  3. 自定义订阅模式合并默认节点数量不足 → 修复合并逻辑,自定义+追加=800、自定义严格=600
  4. 节点过多触发 Worker 免费版 10ms CPU 限制 → 本地冷启动实测后钳制(clash 300≈5-6ms、v2ray 800≈7ms),全部收敛到安全范围
  5. GUI.for.SingBox 连接速度有、网络速度为 0 → 修复三处BUG:①直连无超时,CF 托管站点被回环保护拦截后无限挂起,永远走不到反代兜底;②兜底反代仅单个地区,失效即死路;③出站建立期间到达的早期数据帧被静默丢弃,TLS 握手无法完成。
  6. CF 托管站点(speed.cloudflare.com 等)直连被回环保护拦截 → 超时后自动进入反代兜底链路

更新日志 _V1.0.2

✨ 更新内容

  • 内置节点池扩充:由原来的 37 个 → 扩充至 300 个 IP(从实测可达优选池精选,统一命名 优选IP-001 ~ 优选IP-300
  • 新增【重置】按钮(位于"保存全部"上方):点击后清空 KV 中全部数据,面板还原为初始部署状态(需二次确认,不可恢复)

🐛 BUG 处理

  1. YouTube 掉速 / 节点大面积 -1 → 出站逻辑回滚至 1.0.1 版:直连目标永远最先尝试,自定义落地其次,内置地区反代最后;若仍出现掉速,将节点配置中的出站模式改为其它模式,再改回默认(优先代理,失败直连)即可

更新日志 _V1.0.1

✨ 更新内容

  • 节点配置选项:节点相关设置新建独立模块
  • 新增节点数量控制选项:开启后可控制最终下发节点数量(CF 免费额度保护机制)
  • 新增轮询机制开关选项,默认开启(给用户更多选择,不再默认锁定开启轮询机制)
  • 优选器订阅模式新增开启/关闭选项:关闭时仅下发自定义订阅中添加的自定义节点,开启时追加内置及默认节点

一、项目概述与兼容性

内容
项目名称CFNext 订阅管理器
当前版本v1.0.3
运行环境Cloudflare Workers / Pages
部署形态单文件 Worker/Pages(CFNext 明文版/混淆版
数据存储Cloudflare KV(绑定变量 K),未绑定时配置仅存于当前会话
面板入口https://你的域名/<UUID>(或自定义路径)
订阅入口https://你的域名/<UUID>/sub(按客户端 UA 自动识别格式)
配置 APIhttps://你的域名/<UUID>/api/config(GET 读取 / POST 保存)

1.1 节点下发逻辑

  • 默认模式(订阅关闭):下发「优选域名解析节点 + 内置优选池 + 官方域名节点」,随机补足不超过上限 20%——保证开箱即用的节点质量
  • 轮询机制(默认开启):Clash 上限 300 / V2rayN 上限 800,更新订阅覆盖上次下发的节点(KV issuedIPs 滑动窗口 200 条),客户端定期换新 IP 且数量恒定
  • 关闭轮询:忽略轮询与数量限制,一次性下发全部节点(Clash 上限放宽至 10000)
  • 节点数量控制:开启后按输入数量精确下发(1-1000),输入多少下发多少;订阅模式关闭时不强制补足(有多少发多少)

二、主要功能

#功能说明
1多协议支持VLESS / Trojan / XHTTP 三协议独立开关,可同时启用;Trojan 密码留空默认使用 UUID
2图形化配置面板全模块化面板:快速开始 / 基础配置 / 节点配置 / ECH 配置 / 协议开关 / 落地与出站 / 优选器,保存即生效
3订阅模式关闭(默认)/ 自定义订阅(支持汇聚)/ 随机优选模式(官方接口)三种模式切换
4节点数量控制下拉开关 + 数量输入,开启后精确控制下发节点总数(1-1000)
5轮询机制默认开启:Clash 上限 300 / V2rayN 上限 800,更新订阅覆盖旧节点;关闭后忽略限制一次下发全部
6优选器内置微测网 IPv4/IPv6、优选 IP 列表、HostMonit 优选、微测优选域名 + 自定义数据源 URL;在线 TCP 测速后「加入优选」随订阅下发
7自定义订阅(支持汇聚)内置 6 条在线源(bestcf 地区源,可增删),支持域名 / 优选 API / IP 逐行汇聚;可切换「仅自定义节点」——关闭后只下发输入框内内容
8地区与筛选地区选择(全部 / 香港 / 台湾 / 美国 / 新加坡 / 日本 / 韩国 / 德国)+ IP 版本(IPv4 / IPv6)+ 运营商(移动 / 联通 / 电信)组合筛选
9落地与出站反代 / 落地 IP(留空使用内置 VLESS 中继 + 地区反代兜底;填写后启用透明代理)+ 出站代理(SOCKS5 / HTTP,user:pass@host:port)+ 出站模式选择
10ECH 加密自定义 ECH 域名 / ECH DNS(DoH),开启后自动进入仅 TLS 节点模式
11多客户端Clash / Sing-box / Surge / Loon / Quantumult X / V2ray / Shadowrocket / Nekoray / Stash,按 UA 自动识别(URL 追加 ?format= 可强制指定)
12日间 / 夜间模式面板右上角一键切换,选择持久化到本地
13配置 API/api/config GET/POST 读写配置,便于脚本化管理

三、部署说明

Worker 部署

  1. 登录 Cloudflare 控制台 → Workers 和 Pages → 新建 Worker
  2. CFNext 明文版/混淆版 全文粘贴到 Worker 代码编辑器
  3. 设置 环境变量 U = 你的 UUID(必填,同时用作面板访问路径;可另设 D 自定义路径)
  4. (推荐)创建 KV 命名空间 并在 Worker 设置中绑定,变量名设为 K——配置面板保存后持久化
  5. 部署后访问 https://你的域名/UUID 进入图形化配置面板

Pages 部署

  1. 登录 Cloudflare 控制台 → Workers 和 Pages → 新建 Pages 项目
  2. CFNext 明文版/混淆版 放到项目目录(或压缩为 zip 上传),框架选择「无」
  3. 设置 环境变量 U(同上)
  4. (推荐)创建 KV 命名空间并在 Pages 设置中绑定,变量名设为 K
  5. 部署后访问 https://你的域名/UUID 进入图形化配置面板

登录与访问

  • 访问 https://你的域名/<UUID> 直接进入面板
  • 若设置了 ADMIN 管理密码,访问面板需先登录(UUID 路径 + 密码双重校验)
  • 订阅地址:https://你的域名/<UUID>/sub(下方「订阅地址」模块有各客户端一键复制链接)

四、环境变量与配置变量

优先级:KV 配置 > 环境变量 > 默认值

4.1 基础配置

变量说明
U你的 UUID必需,VLESS 用户 ID 与面板访问路径,更改后不影响功能;留空自动生成
D(兼容 PATH自定义路径可选,自定义面板 / 订阅访问路径(默认用 UUID)
ADMIN(兼容 admin管理密码可选,设置后访问面板需登录;留空无需登录
HOST自定义 SNI / Host可选,客户端连接的 SNI 与 WS Host;留空用 Worker 域名

4.2 协议与传输

变量说明
ECHtrue / 1启用 ECH 加密客户端握手(开启后自动仅 TLS 端口)
TROJANtrue / 1启用 Trojan 协议(默认禁用)
TROJAN_PASSWORD自定义密码Trojan 密码,留空用 UUID
ALPNh2 / http/1.1ALPN 协商,留空由客户端协商

4.3 优选与出站

变量说明
PROXYIPhost 或 host:port反代 / 落地 IP,留空使用内置 VLESS 中继(地区反代兜底);填写后启用透明代理
S(兼容 OUTBOUNDuser:pass@host:port出站代理(SOCKS5 / HTTP)
YXIP:端口#名称自定义优选列表,逗号分隔
YXURLURL优选器自定义数据源地址

4.4 面板配置项(保存于 KV 或当前会话)

配置项说明
uuid / path / admin / host基础配置(同环境变量,面板可视化编辑)
enableVless / enableTrojan / enableXhttp协议开关(默认 VLESS 开、其余关)
trojanPasswordTrojan 密码
alpn / tlsOnlyALPN 协商 / 仅 TLS 端口节点
ech / echHost / echDnsECH 开关 / 自定义 ECH 域名 / ECH DoH
nodeLimit / nodeLimitCount节点数量控制开关 / 下发数量(1-1000)
polling轮询机制开关(默认开启)
optimizer.subMode订阅模式:'' 关闭 / custom 自定义订阅(支持汇聚)/ random 随机优选
optimizer.subIncludeDefault自定义订阅模式下是否追加内置及默认节点(默认关闭:仅自定义)
optimizer.subRandomCount随机优选数量(默认 16)
optimizer.fillCount随机补足节点数
optimizer.sourceURL自定义优选数据源 URL
preferredDomains / preferredIPs优选节点(域名 / 优选 API / IP,每行一个,IP:端口#名称
filter.region地区:all / HK / TW / US / SG / JP / KR / DE
filter.ipTypeIPv4 / IPv6
filter.isp移动 / 联通 / 电信
proxyIP / outboundProxy / outboundMode反代落地 IP / 出站代理 / 出站模式

五、面板功能说明

部署后访问 https://你的域名/<UUID> 进入图形化配置面板。

模块说明
快速开始三种使用方式:免配置使用(小白专属)/ 配置协议使用 / 优选方式使用,含客户端选择与订阅链接复制
基础配置面板路径 / 管理密码 / VLESS UUID / 自定义 SNI Host
节点配置ALPN(留空由客户端协商)/ TLS 控制(开启仅下发 TLS 端口节点)/ 节点数量控制(开启后限制下发节点总数)/ 轮询机制
ECH 配置ECH 开关 / 自定义 ECH 域名 / 自定义 ECH DNS(DoH)
协议开关启用 VLESS / Trojan / XHTTP + Trojan 密码
落地与出站反代 / 落地 IP + 出站代理 + 出站模式
地区与筛选地区 / IP 版本 / 运营商组合筛选
订阅地址各客户端订阅链接一键复制
运行状态当前版本 / Worker 地区 / 配置状态等
在线优选数据源选择(微测网 / 优选 IP 列表 / HostMonit / 自定义 URL)+ 端口选择 + 测速 + 加入优选节点
测速结果在线优选测速实时结果(同一 IP 自动去重)
优选节点域名 / 优选 API / IP 逐行配置,随订阅下发
调用 API 接口/api/config 读写示例
相关链接常用外链

六、订阅模式与优选

6.1 订阅模式

模式说明
关闭(默认)使用默认订阅生成逻辑:优选域名解析 + 内置优选池 + 官方域名,随机补足 ≤ 20%
自定义订阅(支持汇聚)按「优选节点」输入框内容逐条汇聚,支持 域名 / IPv4 / IPv6 / sub:// 优选 API / https:// 优选 API;内置 6 条 bestcf 地区在线源(可增删);「仅自定义节点」开关:关闭后只下发输入框内内容(含内置 6 条源),开启后追加内置及默认节点
随机优选模式(官方接口)按设定数量(默认 16)从 Cloudflare 官方 CIDR 随机生成优选 IP,下发前自动 TCP 探测剔除不可达

6.2 在线优选

  • 数据源:微测网 IPv4 / 微测网 IPv6 / 优选 IP 列表(bestcf)/ HostMonit 优选 / 自定义数据源 URL
  • 端口:443 / 8443 / 2053 / 2083 / 2087 / 2096 / 自定义,任选测速
  • 测速结果实时展示,同一 IP 自动去重,可一键「加入优选节点」保存后随订阅下发
  • 在线优选前建议关闭代理(优选请求由本机直连发出)

6.3 地区与命名

  • 能确定地区的节点显示中文地区名:香港 / 台湾 / 日本 / 美国 / 新加坡 / 韩国 / 德国
  • 无法确定地区统一为「优选IP-XX」
  • 数据源自定义名称(如 JP-A-147)原样保留,不会被改名规则误伤

七、性能优化与安全

  • 随机占比限制:默认模式随机补足 ≤ 上限 20%,节点主体来自域名解析与内置优选池,保证开箱节点质量
  • 下发前探测:随机生成的节点 Worker 端 TCP 443 并发探测,剔除完全不可达 IP
  • DoH 优化:CF 1.1.1.1 内部 DoH 优先(同机房内网时延、仅计 1 次子请求),失败降级阿里 DNS;IPv4 模式跳过 AAAA 查询,子请求稳定低于 15 次(免费版 50 次硬限)
  • 滑动窗口轮询:KV issuedIPs 滑动窗口 200 条,更新订阅覆盖旧节点、数量恒定
  • SWR 容灾缓存:外部优选源拉取失败时沿用上一轮有效节点,订阅永不枯竭
  • UUID 鉴权:访问路径中的 UUID(或自定义路径)与配置一致才放行;设置管理密码后面板需登录
  • 非法路径拦截:无效路径直接 404,不触发 KV 读取

八、致谢

  • 隧道与代理思路参考 cmliu/edgetunnel 公开项目(仅借鉴原理,代码独立实现)
  • 优选数据源:bestcf、WeTest、HostMonit 等社区维护
  • 本项目的图形化配置、优选器、多客户端订阅等功能均为独立实现

关于 About

CFNext —— 部署在 Cloudflare Workers / Pages 的多功能代理订阅管理面板

语言 Languages

JavaScript100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
29
Total Commits
峰值: 29次/周
Less
More

核心贡献者 Contributors