CFNext README

The project's README from github.com/PAICNI/CFNext. As one markdown file: README.md.

CFNext 订阅管理器

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

Telegram 交流群 YouTube 频道


更新日志 _V2.3.0(祝各位国庆快乐!)

✨ 更新内容

🐛 BUG 处理


更新日志 _V2.2.0

✨ 更新内容

🐛 BUG 处理


更新日志 _V2.1.0

✨ 更新内容

🐛 BUG 处理

1.修复2.0版本下发的配置文件在SingBox客户端无法启动的两处问题,


更新日志 _V2.0

✨ 更新内容

🐛 BUG 处理

  1. 修复 Issues 反馈的开启 ECH 后,通过 Clash / Mihomo 订阅下发 ECH 不生效的问题(mihomo 规范为顶层 ech-opts,旧格式 tls-opts.ech 不被识别)
  2. 修复 XHTTP 节点在 mihomo / Nekobox 下导入报错的问题(主机字段改为规范顶层 host,headers.Host 会被误读为请求标头)
  3. 修复 XHTTP 节点在 Clash 下全部超时的问题(stream-one 依赖 HTTP/2 双向流,xhttp 节点 alpn 强制 h2,ws 节点保持 http/1.1)
  4. 修复原生地址不受面板开关控制下发的问题(新增「地址来源」开关,原生地址默认关闭不下发)
  5. 修复内置反代 IP 节点默认下发的问题(proxyip.*.cmliussss.net 不再自动塞进订阅,需要反代请自行填写)
  6. 修复 AsteriskNG / v2rayNG 无法加载配置文件的问题(下发回滚明文与 1.x 版本保持一致,避免客户端按 GBK 解码 base64 导致乱码 / 加载失败)
  7. 修复 Surfboard 下发的配置文件为空的问题:Surfboard 分支改为输出 Surge 风格配置,VLESS 节点全部转换为 Trojan(密码 = UUID,与 Worker 服务端一致),过滤 XHTTP 与明文端口节点(Surfboard 不支持 XHTTP;Trojan 定义内嵌 TLS,明文端口无法握手)
  8. 修复出站代理不可达时永久挂起的问题(所有出站连接统一 6 秒超时快速失败,及时走反代兜底)
  9. 修复 TLS 握手中途被截断的问题(SOCKS5 / HTTP 代理握手残留字节不再丢弃,转发前补发给客户端,解决 Telegram 等"连接通但流量为 0")
  10. 修复代理账号密码含 URL 编码字符认证失败的问题(user:pass 中 %40/@、%28/() 等先解码再认证)
  11. 修复自定义域名部署明文端口节点全部不可用的问题(非 *.workers.dev 自动开启仅 TLS,实测自定义域名明文端口被 CF 边缘拒绝)
  12. 修复 QuanX 节点 IPv6 格式与证书校验问题(IPv6 补方括号避免端口歧义,tls-verification 改为 true)
  13. 优化云端测活机制,移除大测活块对齐 1.x 版本,仅保留初始化测活(测活仍存在 4 处:1. 首次初始化测活,2. fillCount 补足小范围测活,3. 优选域名测活,4. 节点数量控制补足测活)
  14. 优化 KV 读写:配置读取走 30 秒边缘缓存(太长影响更改保存写入),轮询窗口仅在内容实际变化时写入(KV 免费写配额仅 1000 次/日)
  15. 修复了混淆版下发节点乱码的问题,混淆器把代码里 '\uFFFD' 转义字面量改写成空格判定, bestcf 源(行内含空格)被误判 GBK, "香港 / 台湾 / 美国" 乱码;

更新日志 _V1.0.6

🐛 BUG 处理

1. 筛选设置勾选「IPv6」但实际只下发 IPv4 节点;IPv4+IPv6 同选不能混合下发;IPv6 节点全部 -1 不可用

筛选不生效:

修复:


更新日志 _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

✨ 更新内容

🐛 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

✨ 更新内容

🐛 BUG 处理

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

更新日志 _V1.0.1

✨ 更新内容


一、项目概述与兼容性

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

1.1 节点下发逻辑


二、主要功能

# 功能 说明
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)+ 出站模式选择
10 ECH 加密 自定义 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 进入图形化配置面板

登录与访问


四、环境变量与配置变量

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

4.1 基础配置

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

4.2 协议与传输

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

4.3 优选与出站

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

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

配置项 说明
uuid / path / admin / host 基础配置(同环境变量,面板可视化编辑)
enableVless / enableTrojan / enableXhttp 协议开关(默认 VLESS 开、其余关)
trojanPassword Trojan 密码
alpn / tlsOnly ALPN 协商 / 仅 TLS 端口节点
ech / echHost / echDns ECH 开关 / 自定义 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.ipType IPv4 / 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 在线优选

6.3 地区与命名


七、性能优化与安全


八、致谢

CFNext (PAICNI/CFNext)

Searching Database…

Что это?CFNext — панель управления прокси-подписками, которую вы разворачиваете на Cloudflare Workers или Pages; один скрипт и запускает сам прокси VLESS/Trojan/XHTTP, и отдаёт ссылку подписки /sub плюс графическую панель конфигурации.
Это отдельный прокси-сервер или просто агрегатор подписок?И то и другое: однофайловый скрипт Worker/Pages — это настоящая конечная точка прокси VLESS/Trojan/XHTTP, и он же агрегирует/генерирует клиентские ссылки подписки и хостит GUI-панель.
Как его развернуть?Создайте Worker (или проект Pages) на Cloudflare, вставьте исходник CFNext — обычный или обфусцированный, задайте переменную окружения U равной вашему UUID (она используется и как VLESS ID, и как путь панели), затем откройте путь с UUID для панели и /sub для ссылки подписки.
Нужно ли настраивать Cloudflare KV?Не обязательно: без привязанного KV-неймспейса настройки панели живут только в текущей сессии; привязка KV-неймспейса как переменной K делает сохранённый конфиг устойчивым к передеплоям.
Не вылетит ли он за рамки бесплатного тарифа Cloudflare?CFNext следит за вашей квотой Workers/Pages в реальном времени и автоматически уменьшает число выдаваемых узлов, когда дневное потребление превышает 60% бесплатной квоты, до нижнего предела в 100 узлов при 100% использования.
Для кого это в первую очередь сделано?Он рассчитан на пользователей, которым нужно обходить сетевую цензуру, особенно на пользователей из материкового Китая, чьи прямые подключения к сервисам блокируются, — при этом всё работает на бесплатном serverless-тарифе Cloudflare.
Какие прокси-клиенты поддерживает подписка?Клиент определяется автоматически по User-Agent, и конфиг отдаётся в правильном формате для Clash, Sing-box, Surge, Loon, Quantumult X, V2ray, Shadowrocket, Nekoray и Stash, либо формат можно задать принудительно через ?format=.
Что такое режим «домашнего интернета» (家宽)?Он подтягивает текущий список OpenVPN-узлов VPN Gate и раздаёт его как обычные узлы подписки, туннелируя OpenVPN-трафик через собственный Cloudflare-фронт CFNext, так что список остаётся доступным, даже когда прямой доступ к VPN Gate заблокирован.
Что даёт включение ECH?ECH шифрует TLS-рукопожатие (скрывая SNI) для более сильной защиты от цензуры и автоматически переключает панель в режим только-TLS-узлов.
Можно ли одновременно запускать VLESS, Trojan и XHTTP?Да, у каждого протокола свой переключатель, и их можно включать одновременно; пароль Trojan по умолчанию равен вашему UUID, если оставить поле пустым.
Creator
PAICNI
Size
9.8 MB
Stars
2K
Updated
CommitOct 18
Age
1mo
Commits · 90 Days