CFNext —— 部署在 Cloudflare Workers / Pages 的代理订阅管理面板,单文件同时实现 VLESS / Trojan / XHTTP 多协议代理与图形化配置:
/UUID(或自定义路径)进入面板,/sub输出订阅;内置节点优选器、节点数量控制、轮询下发、ECH 加密、落地与出站代理及地区 / 运营商 / IP 版本多维筛选,部署即用,绑定 KV 后改完即生效。
✨点击展开更新日志
旧的用法不变:留空 ⇒ 直连失败后走内置地区出口;只填一条 ⇒ 与旧版行为完全一致(全部节点都走这一条)。
新能力:允许一次填多条,用英文逗号分隔(分号、换行同样识别),例如:
Proxy-HK.SenflareLink.Kdns.fr,Proxy-TW.SenflareLink.Kdns.fr,Proxy-JP.SenflareLink.Kdns.fr
下发节点时自动按节点落地国家挑选对应的 ProxyIP —— 香港节点走香港的 ProxyIP、台湾节点走台湾的、日本节点走日本的。
匹配规则(三条,按优先级):
- 带国家码的条目:从域名里提取两位国家代码(如
Proxy-HK.…里的HK),只用于该国节点(此处"国家" = 请求实际落地的机房国家) - 无国家码的条目:作为通用候选,按填写顺序 —— 任何国家都可使用
- 全不匹配:退回列表首条(此规则同时保证了「只填一条时全局生效」)
条目类型:域名或纯 IP 都支持
| 写法 | 示例 | 行为 |
|---|---|---|
| 域名(带国家码) | Proxy-HK.a.com |
只用于香港节点 |
| 域名(无国家码) | proxy.example.com |
通用候选 |
| 纯 IPv4 | 43.132.231.159:443 |
通用候选(不做 DoH,直连该 IP) |
| 纯 IPv6 | [2001:db8::1]:443 |
同上(IPv6 必须加方括号) |
| IP + 国家码(前缀式) | HK.43.132.231.159:443 |
只用于香港节点 |
| IP + 国家码(后缀式) | 43.132.231.159:443#HK |
只用于香港节点 |
| 多IP + 国家码(写法) | 43.132.231.159:443#HK,43.132.231.159:443#JP |
用于香港和日本节点 |
变量名:ADMIN(大小写均可,小写 admin 等价;同时存在时 ADMIN 优先)。
行为:只要设置了该环境变量,KV config.admin 里固化的旧密码一律被忽略 —— 忘记面板密码时可用它强制重置;未设置时仍沿用 KV 中的密码,存量部署行为逐字节不变。
- 开启:当日用量高于 95% 时,订阅停止下发任何节点(返回 403 与明确提示,次日自动恢复);
- 关闭(默认):完全沿用原有的 60% 起按比例收缩策略;
- 两者互不影响:同时开启时,超过 95% 由严格模式硬停,未超过则走比例收缩。
- 修复login/L值设置后不生效的问题;正常使用可不用更新
✨ 更新内容
- 环境变量 login 键名兼容单字母 L
- 给混淆版/小说混淆版/Pages版构建器都加了 --seed,再次加固
- 混淆版/混淆Pages版:在交给 terser 之前把 105 个顶层函数声明按种子重排。函数声明有提升语义,所以行为一个字都不变;但 terser 的遍历顺序变了,标识符命名序列就整体重排。实测同一份源码的两个变体 约 96% 的字符不同——不是换个后缀那种表面差异。顶层 const/let/class(有 TDZ)、import 首句、export default 末句一律不动,重排后还会再做一次解析断言。
- 小说版:种子驱动分片边界、容器切分、容器乱序、承载位点,全变。
- 修复Clash配置文件报错;
- 修复面板设置中设置新的UUID后全局不随动变化的BUG
- 访问形态改为「反跳转」:移除固定
/login入口与全部未授权 302 跳转(仅保留http → https的 301)。未登录、根路径、路径不匹配一律直接渲染静态欢迎页,不再暴露任何跳转链 —— 对外只呈现一个静态站点。 - 登录入口与密码解耦:新增
login变量存放入口路径,访问/<login 的值>才是登录页;管理密码不再是路径本身,首次进入时设置(写入 KV)。 - 新增内置 UUID:未配置
U时由管理密码派生(MD5(ADMIN|CFNext)规范化 UUIDv4,稳定不变),冷启动不再随机生成,订阅地址可预期。 - 新增路由伪装
MASK:默认返回静态欢迎页;MASK=1101返回伪造的 Cloudflare 1101 错误页;MASK=off返回 404。 - 代码层加固(部署期防护):特征词运行时消隐、面板自白注释归档、可选的 JS 混淆版 / 小说分片版产物,降低部署时被静态特征查杀(Error 1101)的概率。
- 新增小说混淆版:将所有代码全部分散到简·爱小说各处,通过目录索引重建代码;
- 修复滥用提示,添加多重防滥用检测
- 「节点测活」默认关闭(probeAlive: false)——默认零探测,节点按数据源顺序全量下发、客户端自行择优,想剔除死节点可在面板手动开(或 PROBE_ALIVE=1)
- 开启后探测限额:初始化池中继 100→24、CF 段 150→16、域名预检 25→12、CIDR 补足 60→20;未测活项补位下发,所以下发数量完全不变
- 面板测活卡片加了明确警示文案
- 优化KV写入:
- 落点自学习改纯时间闸:无论落点是否变化,全账户 60 分钟内最多写 1 次(跨实例以 KV 内的 t 为准)→ 从「按连接数放大」变成 ≤24 次/日。落点变化等下个窗口记录即可,国家标注功能不受影响。
- 统一写预算护栏 kvCacheWriteOk():所有「可丢的缓存类写入」(外部源快照、家宽缓存、初始化池、落点)共用预算,每实例每日 300 次上限,超限直接跳过写入(缓存失效自动重拉,功能不减)。这条顺带封死了「自定义订阅源填几十个 URL」这类配置打满配额的可能。
- 轮询去重 issued 加 30 秒写入风暴保护:客户端解析失败秒级重试不再放大 KV 写。
- 面板「启用轮询」提示补了一句:开启后每次更新会写一次 KV,客户端更新间隔建议 ≥5 分钟。
- 浏览器 UA 识别修复:新增
isBrowserNav判定,真实浏览器访问根路径正确跳转面板,不再被客户端 UA 误判(同时修复 FlClash 等泛 UA 客户端拿到明文列表而非 Clash 配置的问题) - Telegram 用量通知:配置 Bot Token 与 Chat ID 后推送用量提醒(80% / 85% / 90% 各一次,90% 后每涨 1% 提醒);达 99% 自动停用订阅、次日自动恢复(停用与恢复不依赖 TG)
- Clash 规则同域代下:Clash rule-providers 由直连上游改为经 Worker
/crules端点代下(KV 缓存 1 天),客户端无需直连规则站;内置 25 类规则源 - 节点国家标注与落点自学习:无法从名字识别地区的节点按机房实测落点标注国家(可固定指定或关闭);订阅链接支持
?country=XX/?country=off临时覆盖 - Clash 分组动态生成:proxy-groups 由静态模板改为按节点/配置动态生成(占位符注入),家宽组、保底前置节点自动归组
- Karing 订阅格式:新增 Karing 客户端识别与专属订阅输出(
/karing/i判定前置,含 hiddify 别名) - 自定义订阅源多 URL:支持换行/逗号/分号分隔最多 50 个数据源,并发拉取、逐源失败隔离,单 URL 行为不变
- Clash/Mihomo 泛 UA 兜底:无法识别的客户端 UA(含 mozilla 特征)统一生成 Clash YAML 配置,FlClash 等客户端可直接导入
- 优选/测速节点原名保留:面板优选与本地测速添加节点时保留原始
#名称,不再强制改写为「优选N」 - 接口增强:新增
visitorCountry(访客国家)、usageColo(当前机房)字段;未知机房码显示原始大写码而非空白;补齐kv、workersDev字段 - 反滥用治理:订阅端点限流 10 次/分、面板 20 次/分(内存令牌桶,429 + Retry-After);定时任务节流(自动优选 30 分钟、家宽刷新 15 分钟);订阅源拉取 KV 缓存 30 分钟;DoH 解析改为顺序降级(正常仅 1 次出网,语义保持「首个成功者胜出」)
- 体积压缩:深度压缩,单字母变量名、无注释、无字符串数组
- 站点伪装兜底(降低 Worker 指纹 / 滥用检测风险):未匹配路径的 GET 请求不再返回裸 404,改为三级伪装——
/robots.txt返回全站 Disallow;配置镜像站则反代改写(文本响应自动把镜像域名改写为本机域名);镜像失败 / 留空返回 nginx 官方欢迎页;面板「基础配置」新增「站点伪装 / 镜像页」输入框,填nginx强制欢迎页不做反代 - 兜底优选池:优选配置新增「兜底优选池 URL」输入框(逗号/换行分隔,上限 10 个);配置后 bestcf 兜底池优先拉取自定义池(每源 100 条,节点名「兜底-NN」),留空保持内置地区池;缓存随配置自动失效,修改立即生效
- 修复家宽中继永远判死的问题:
testRelayAliveRaw正则双转义导致/^HTTP\/1\.[01]/恒为 false,修正为/^HTTP\/1\.[01] (200|204)/ - 修复自定义订阅模式(仅自定义节点)输入域名 URL(如
https://bestcf.pages.dev/domain/all.txt)只出少量 IP 节点的问题:逐行解析支持「整行域名(:端口)(#名称)」,跳过通配符域名,按域名:端口去重 - 修复 Clash/sing-box/v2rayN 等格式订阅下载文件无后缀、手动加后缀仍不可用的问题:按格式下发
Content-Disposition文件名(Clash→.yaml、sing-box→.json、Surge/Loon/QuantumultX→.conf、其余.txt),面板下载按钮同步 - 回退「节点测活结果缓存」至主线语义:探测结果不再写内存/KV(
probedb)缓存,同一节点每次订阅都实时探测——缓存的陈旧「存活」判定会让已失效节点在 TTL 窗口内绕过剔除,拖低下发存活率 - 修复自定义订阅 URL 查询串含逗号被切分打碎的问题(如
https://proxy.seeck.cn/api/nodes?region=NL,GB,FI,JP,SG,RU,FR&limit=10&format=brand保存后面板显示为多行、拉取失败):地址清单切分改为 URL 感知——换行/分号始终分隔,逗号分隔时按「URL / 主机形态」智能重组,查询串原样保留;同时修正查询串碎片(GB、FI等)被误当服务器地址下发的隐患;优选节点 / 自定义数据源 URL / 兜底优选池三处入口同步生效;面板「优选节点」保存收集同步改为 URL 感知;纯域名/IP 逗号分隔的旧用法保持兼容
- **节点连接提速(出站并发竞速)直连与内置地区反代改为并发发起,取最先握手成功的,败者连接立即释放。原先「串行尝试 + 逐级超时」会在目标站走 Cloudflare 时白等约 6 秒(直连被 Workers 回环保护拦截),现在反代同时进行,通常 1 秒内即可用。各出站模式(仅代理 / 不走代理 / 默认)的优先级语义保持不变。
- WS 0-RTT 早数据(ed=2048):TLS + WebSocket 节点链接(VLESS / Trojan 链接、Clash、sing-box)自动携带
?ed=2048,客户端可在 WebSocket 握手阶段预发首个数据包,服务端在握手时即取出并抢先建连,省去一个往返(约 1 个 RTT),明显改善测速、网页首包等握手敏感场景。服务端只接受能通过协议校验的数据,解析失败静默回退,对不支持的客户端零副作用。 - IPv6 下发策略:新增「不下发 / 仅备胎 / 等权混合」三档,默认「不下发」。IPv6 到 Cloudflare 的可达性取决于客户端所在网络,此前 500 条清单里 IPv6 占 230 条,会显著拖长客户端的逐节点择优。默认档即使勾选了「IPv6」也不进清单;「仅备胎」占比封顶 且整体排到列表尾部;仅勾选 IPv6(单选)时策略自动让位,订阅不会变空。此为运行期策略,重新部署即生效,无需清 KV、无需改面板开关。
- 保底节点前置:实测高存活 IP(「优选IP-Sxx」「内置·保底-XX」「隧道前置-XX」)恒定保留在清单头部,组内仍随机轮换(首节点永远是稳定节点,但不是固定);其余节点整体乱序。避免这批最稳的节点在节点数封顶时被顺序截断砍掉,也保证客户端「取第一个」就是可用节点。关闭负载均衡时只做前置、不打乱,语义不变。
- 家宽「隧道前置」节点自动生成:家宽节点依赖「隧道前置」拨号,而隧道过去取自会被协议开关 / 筛选清空的结果,导致只开家宽的用户拨号链断裂。现在隧道节点固定为 VLESS + WS + TLS(443),由 Worker 从内置实测可用 CF 段直接生成,不再受面板协议开关、地区 / 运营商筛选与优选源影响,保证家宽始终有可拨号入口。
- 提速失效修正:三处独立问题——① 反代抢走本可直连的流量(新增直连优先窗口,窗口内直连成功就用直连,目标确定在 CF 段时直接上反代);② 首包等待窗口过长(由 400ms 收紧到 80ms);③ VLESS 的 2 字节响应头下发过晚,导致部分客户端互等(改为解析成功即刻下发)。
- 家宽列表协议归一:
/api/hwlist默认协议由udp改为tcp,与隧道承载能力一致。
- 新增「家宽模式」模块(VPN Gate OpenVPN):自动拉取 VPN Gate 当日列表,下发为「家宽XX」节点(XX 为地区,同地区自动加序号);开启后家宽 OpenVPN 节点通过「隧道前置」自动测活组拨号,先经自有 CF 节点握手、OpenVPN 传输整体走 CF 隧道,隧道自动切换,解决大陆直连 VPN Gate 失败
- VPN Gate 列表缓存与代拉:列表缓存 30 分钟(每小时清空重建、每 5 分钟按吞吐重排),缓存不足 30 台自动强制刷新,拉取失败回退上一份缓存;大陆直连超时由 Worker 边缘代拉
- 订阅 Clash 配置 geosite 补全:从 GitHub 获取规则集补全 Clash 配置中的 geosite 分流
- ALPN 协商随面板设置下发:h2 / http/1.1 逗号分隔,Clash、Sing-box 与 VLESS/Trojan/XHTTP 节点链接均实际下发
- 补全GUI.for.SingBox规则集:使用GUI.for.SingBox客户端请通过导入 sing-box 配置插件进行导入,快速开始下载配置文件会报错导致内核无法拉起
- 新增首次(重置KV)登录需强制设置登录密码,对应面板设置管理密码(留空则面板免登录)选项;
- 新增负载均衡(默认开启),每次订阅请求对节点顺序做随机轮换(Fisher-Yates),客户端连接分散到整批节点,避免全部集中踩同一批头部「最优 IP」导致拥塞变慢;关闭则保持固定顺序(头部为最稳节点),位于「节点配置」选项中;
1.修复2.0版本下发的配置文件在SingBox客户端无法启动的两处问题,
- 开启多协议后节点名称出现重复,SingBox客户端配置要求不能出现重复名称,更新重命名协议,Vless→无,Trojian→XX.T,Xhttp→XX.X;
- 新增 CF 配额安全监控:面板配置 Cloudflare 账户 ID + API 令牌(或环境变量
CF_ACCOUNT_ID/CF_API_TOKEN)后,可实时查看当日 Workers + Pages 请求量、剩余额度、CPU 时间与子请求数(GraphQL 查询,5 分钟缓存,429 限流自动退避 15 分钟) - 新增配额自动调节:当日用量 ≥60% 免费额度时按比例收缩订阅节点上限(60%→1000 条、70%→750、80%→500、90%→250、100%→100 保底),保护免费账户额度不被刷爆
- 出站代理新增 SS 协议支持(aes-128-gcm / aes-256-gcm / chacha20-ietf-poly1305;chacha20 为纯 JS 实现,兼容 Cloudflare Workers 加密环境)
- 为保障免费额度使用量(轮询机制大家又不喜欢),默认开启精确节点数量控制(数量 500,范围 1-1000),关闭后全量下发,可自行调整;轮询默认关闭
- 新增内置保底优选 IP:20 条实测可用的 CF 官方任播段 IP,固定 443 追加下发,保证订阅内始终有稳定可用节点
- 新增节点测活:默认开启 TCP 测活剔除死节点(并发闸 ≤4 防排队假死),relay 中转双重测活(TCP + HTTP 200/204),优选域名 DoH 预检剔除死域名(10 分钟缓存);可用
PROBE_ALIVE=0强制关闭 - 新增 bestcf 区域优选池与 HostMonit 实时优选源:随机补足优先用优选池,不足再回退 CF CIDR 随机生成
- 单选 IPv6:全走 Cloudflare 官方 ips-v6 网段(自动拉取、6 小时缓存),内置实测池转 IPv4-embedded IPv6,不再靠随机 v6 段硬凑
- IPv4+IPv6 双选:preferredIPs 做 v4/v6 交替重排,避免数量控制截断时 IPv6 被整个挤掉
- 面板全新重写:侧边栏布局 + 6 个视图(仪表盘 / 节点配置 / 优选配置 / 配额安全 / 面板设置 / 关于),支持日间 / 夜间 /
- 新增订阅预览、按客户端联动的订阅二维码(Clash / Sing-box / Surge 安装 scheme)、自定义订阅路径别名(如 /AAZ/sub)
- 新增配置 JSON 导出 / 导入(备份迁移)、UUID 一键生成
- 新增 Surfboard 订阅格式与明文 vless 输出(面板格式选择新增 Surfboard / Stash / 明文 vless)
- 更新检测重写:明文 / 混淆版按部署形态各自拉取对应仓库代码,60 秒缓存
- 修复 Issues 反馈的开启 ECH 后,通过 Clash / Mihomo 订阅下发 ECH 不生效的问题(mihomo 规范为顶层 ech-opts,旧格式 tls-opts.ech 不被识别)
- 修复 XHTTP 节点在 mihomo / Nekobox 下导入报错的问题(主机字段改为规范顶层 host,headers.Host 会被误读为请求标头)
- 修复 XHTTP 节点在 Clash 下全部超时的问题(stream-one 依赖 HTTP/2 双向流,xhttp 节点 alpn 强制 h2,ws 节点保持 http/1.1)
- 修复原生地址不受面板开关控制下发的问题(新增「地址来源」开关,原生地址默认关闭不下发)
- 修复内置反代 IP 节点默认下发的问题(proxyip.*.cmliussss.net 不再自动塞进订阅,需要反代请自行填写)
- 修复 AsteriskNG / v2rayNG 无法加载配置文件的问题(下发回滚明文与 1.x 版本保持一致,避免客户端按 GBK 解码 base64 导致乱码 / 加载失败)
- 修复 Surfboard 下发的配置文件为空的问题:Surfboard 分支改为输出 Surge 风格配置,VLESS 节点全部转换为 Trojan(密码 = UUID,与 Worker 服务端一致),过滤 XHTTP 与明文端口节点(Surfboard 不支持 XHTTP;Trojan 定义内嵌 TLS,明文端口无法握手)
- 修复出站代理不可达时永久挂起的问题(所有出站连接统一 6 秒超时快速失败,及时走反代兜底)
- 修复 TLS 握手中途被截断的问题(SOCKS5 / HTTP 代理握手残留字节不再丢弃,转发前补发给客户端,解决 Telegram 等"连接通但流量为 0")
- 修复代理账号密码含 URL 编码字符认证失败的问题(user:pass 中 %40/@、%28/() 等先解码再认证)
- 修复自定义域名部署明文端口节点全部不可用的问题(非 *.workers.dev 自动开启仅 TLS,实测自定义域名明文端口被 CF 边缘拒绝)
- 修复 QuanX 节点 IPv6 格式与证书校验问题(IPv6 补方括号避免端口歧义,tls-verification 改为 true)
- 优化云端测活机制,移除大测活块对齐 1.x 版本,仅保留初始化测活(测活仍存在 4 处:1. 首次初始化测活,2. fillCount 补足小范围测活,3. 优选域名测活,4. 节点数量控制补足测活)
- 优化 KV 读写:配置读取走 30 秒边缘缓存(太长影响更改保存写入),轮询窗口仅在内容实际变化时写入(KV 免费写配额仅 1000 次/日)
- 修复了混淆版下发节点乱码的问题,混淆器把代码里 '\uFFFD' 转义字面量改写成空格判定, bestcf 源(行内含空格)被误判 GBK, "香港 / 台湾 / 美国" 乱码;
1. 筛选设置勾选「IPv6」但实际只下发 IPv4 节点;IPv4+IPv6 同选不能混合下发;IPv6 节点全部 -1 不可用
- CF CIDR 随机补足/随机优选一直用全 IPv4 段(
REACHABLE_CIDRS),数据源不产 IPv6; - 内置静态优选池(300 条全 IPv4)先占满 ,IPv6 补足无位置;
- bestcf 地区源为纯 IPv4 文本且解析结果先占满。三者叠加导致 IPv6 筛选后节点池为空 → 触发
filterNodes逐级放宽(放宽 ipType)→ 回退全部 IPv4。
- 新增
REACHABLE_CIDRS_V6段池供补足与随机优选; randomIPFromCidr识别 IPv6 段走新增randomIP6FromCidr;- IP 类型筛选语义拆分为三段:单选 IPv4 → 只下发 IPv4、单选 IPv6 → 只下发 IPv6、IPv4+IPv6 同选 → 混合下发;
- 新增
ipv4ToEmbeddedV6——内置实测池 300 条 IPv4 转 CF IPv4-embedded IPv6(2606:4700::<hex>,实测 6/6 TCP 可达、与对应 IPv4 路由到同一 CF 边缘),单选 IPv6 时内置池全量转 embedded IPv6 替代随机补足、混合时一半保持 IPv4 一半转 IPv6,实现"下发即用"; - 新增
fetchCfIpsV6:IPv6 相关筛选/随机优选时动态拉取 Cloudflare 官方cloudflare.com/ips-v6公开网段(7 个官方 CIDR,随公告自动同步),内存缓存 6 小时,拉取失败自动回退内置段,补足与随机优选优先使用官方段(含内置缺失的 2405:b500::/32、2405:8100::/32)。
- Trojan 协议在 Mihomo/Clash Verge 中延迟失败/不可用的问题
- 更换Mihomo内核下发的配置文件,新配置增加防DNS泄露;
- 根据现有代码,更新特别鸣谢/调用 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 无任何地区信息,统一兜底命名 |
- 明文版代码支持检测更新,点击右上角版本号即可检测,检测到新版本会自动复制新版本的代码到剪贴板;
- 此版本之前的代码均不支持更新检测,强烈建议更新此版
- 节点数量控制 不生效的问题,改为全局生效;
- 订阅生成器默认节点源更换为 6 条 bestcf 地区中转池(原默认仅解析 14 个 CNAME 域名)
- 放行社区维护的可达中转 IP(此前被
filterCF与buildNodes按"非 CF 官方段"一刀切过滤) - 静态内置优选 IP 池移至动态节点之后统一追加,不再挤占 Clash 300 上限
- 默认下发数量提升:
fillCount30 → 1000,结构化上限 300、轻量上限 800 - 新增
SAFE_CAP安全上限:结构化格式(Clash/SingBox 等)300、轻量格式(v2ray 等)800,nodeLimit超出自动钳制 - 出站连接增加超时保护:直连 6s / 自定义 proxyIP 6s / 内置反代 5s,SYN 被静默丢弃时不再无限挂起
- 内置地区反代升级为多地区轮询(本地区域优先,最多 3 个区域),单个反代失效不再导致整条链路流量为 0
- WebSocket 代理增加早期数据帧暂存缓冲:出站建立期间到达的 TLS 握手数据不再被丢弃
- 下发节点可用数量少 → 根因四处叠加(地区池从未使用 / 非 CF 段 IP 全被过滤 / 静态池占满上限 / 默认值保守),修复后默认下发 800 节点(Clash 结构化 300),地区节点排前
- 静态内置 IP 挤占节点列表前部 → 内置池置后追加,动态地区节点优先
- 自定义订阅模式合并默认节点数量不足 → 修复合并逻辑,自定义+追加=800、自定义严格=600
- 节点过多触发 Worker 免费版 10ms CPU 限制 → 本地冷启动实测后钳制(clash 300≈5-6ms、v2ray 800≈7ms),全部收敛到安全范围
- GUI.for.SingBox 连接速度有、网络速度为 0 → 修复三处BUG:①直连无超时,CF 托管站点被回环保护拦截后无限挂起,永远走不到反代兜底;②兜底反代仅单个地区,失效即死路;③出站建立期间到达的早期数据帧被静默丢弃,TLS 握手无法完成。
- CF 托管站点(speed.cloudflare.com 等)直连被回环保护拦截 → 超时后自动进入反代兜底链路
- 内置节点池扩充:由原来的 37 个 → 扩充至 300 个 IP(从实测可达优选池精选,统一命名
优选IP-001~优选IP-300) - 新增【重置】按钮(位于"保存全部"上方):点击后清空 KV 中全部数据,面板还原为初始部署状态(需二次确认,不可恢复)
- YouTube 掉速 / 节点大面积 -1 → 出站逻辑回滚至 1.0.1 版:直连目标永远最先尝试,自定义落地其次,内置地区反代最后;若仍出现掉速,将节点配置中的出站模式改为其它模式,再改回默认(优先代理,失败直连)即可
- 节点配置选项:节点相关设置新建独立模块
- 新增节点数量控制选项:开启后可控制最终下发节点数量(CF 免费额度保护机制)
- 新增轮询机制开关选项,默认开启(给用户更多选择,不再默认锁定开启轮询机制)
- 优选器订阅模式新增开启/关闭选项:关闭时仅下发自定义订阅中添加的自定义节点,开启时追加内置及默认节点
| 项 | 内容 |
|---|---|
| 项目名称 | CFNext 订阅管理器 |
| 当前版本 | v2.7.1 |
| 运行环境 | Cloudflare Workers / Pages |
| 部署形态 | 单文件 Worker/Pages(CFNext 明文版/混淆版/小说混淆版) |
| 数据存储 | Cloudflare KV(绑定变量 K),未绑定时配置仅存于当前会话 |
| 面板入口 | https://你的域名/<login设置的值>(或自定义路径) |
- 默认模式(订阅关闭):下发「优选域名解析节点 + 内置优选池 + 官方域名节点」,随机补足不超过上限 20%——保证开箱即用的节点质量
- 轮询机制(默认关闭):Clash 上限 300 / V2rayN 上限 800,更新订阅覆盖上次下发的节点(KV
issuedIPs滑动窗口 200 条),客户端定期换新 IP 且数量恒定 - 节点数量控制(默认开启,默认限制:500):开启后按输入数量精确下发(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)+ 出站模式选择 |
| 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 读写配置,便于脚本化管理 |
- 登录 Cloudflare 控制台 → Workers 和 Pages → 新建 Worker
- 将
CFNext 明文版/混淆版全文粘贴到 Worker 代码编辑器 - 设置 环境变量
login= 你的面板地址(必填,用作面板访问路径,在浏览器地址栏输入/你设置的值;) - (推荐)创建 KV 命名空间 并在 Worker 设置中绑定,变量名设为
K——配置面板保存后持久化 - 部署后访问
https://你的域名/UUID进入图形化配置面板
- 登录 Cloudflare 控制台 → Workers 和 Pages → 新建 Pages 项目
- 将
CFNext 明文版/混淆版放到项目目录(或压缩为 zip 上传),框架选择「无」 - 设置 环境变量
login(同上) - (推荐)创建 KV 命名空间并在 Pages 设置中绑定,变量名设为
K - 部署后访问
https://你的域名/login设置的值进入图形化配置面板
- 访问
https://你的域名/<你设置的login值>设置密码后直接进入面板 - 订阅地址:
https://你的域名/<UUID>/subUUID可在面板设置中一键生成(下方「订阅地址」模块有各客户端一键复制链接)
优先级:KV 配置 > 环境变量 > 默认值
| 变量 | 值 | 说明 |
|---|---|---|
login |
你的面板地址 | 必需,部署完成后访问面板需在上方地址栏粘贴/你设置的值 |
D(兼容 PATH) |
自定义路径 | 可选,自定义面板 / 订阅访问路径(默认用 UUID) |
ADMIN(兼容 admin) |
管理密码 | 可选,设置后访问面板需登录;留空无需登录 |
HOST |
自定义 SNI / Host | 可选,客户端连接的 SNI 与 WS Host;留空用 Worker 域名 |
| 变量 | 值 | 说明 |
|---|---|---|
ECH |
true / 1 | 启用 ECH 加密客户端握手(开启后自动仅 TLS 端口) |
TROJAN |
true / 1 | 启用 Trojan 协议(默认禁用) |
TROJAN_PASSWORD |
自定义密码 | Trojan 密码,留空用 UUID |
ALPN |
h2 / http/1.1 | ALPN 协商,留空由客户端协商 |
| 变量 | 值 | 说明 |
|---|---|---|
PROXYIP |
host 或 host:port | 反代 / 落地 IP,留空使用内置 VLESS 中继(地区反代兜底);填写后启用透明代理 |
S(兼容 OUTBOUND) |
user:pass@host:port |
出站代理(SOCKS5 / HTTP) |
YX |
IP:端口#名称 | 自定义优选列表,逗号分隔 |
YXURL |
URL | 优选器自定义数据源地址 |
| 配置项 | 说明 |
|---|---|
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 读写示例 |
| 相关链接 | 常用外链 |
| 模式 | 说明 |
|---|---|
| 关闭(默认) | 使用默认订阅生成逻辑:优选域名解析 + 内置优选池 + 官方域名,随机补足 ≤ 20% |
| 自定义订阅(支持汇聚) | 按「优选节点」输入框内容逐条汇聚,支持 域名 / IPv4 / IPv6 / sub:// 优选 API / https:// 优选 API;内置 6 条 bestcf 地区在线源(可增删);「仅自定义节点」开关:关闭后只下发输入框内内容(含内置 6 条源),开启后追加内置及默认节点 |
| 随机优选模式(官方接口) | 按设定数量(默认 16)从 Cloudflare 官方 CIDR 随机生成优选 IP,下发前自动 TCP 探测剔除不可达 |
- 数据源:微测网 IPv4 / 微测网 IPv6 / 优选 IP 列表(bestcf)/ HostMonit 优选 / 自定义数据源 URL
- 端口:443 / 8443 / 2053 / 2083 / 2087 / 2096 / 自定义,任选测速
- 测速结果实时展示,同一 IP 自动去重,可一键「加入优选节点」保存后随订阅下发
- 在线优选前建议关闭代理(优选请求由本机直连发出)
- 能确定地区的节点显示中文地区名:香港 / 台湾 / 日本 / 美国 / 新加坡 / 韩国 / 德国
- 无法确定地区统一为「优选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 等社区维护
- 本项目的图形化配置、优选器、多客户端订阅等功能均为独立实现