如果你已经用过 edgetunnel 或 yonggekkk 的一键脚本,觉得它们"功能够用但不够爽",那么 cfnew 可能就是你一直在等的东西。

cfnew(GitHub:byJoey/cfnew)是在 edgetunnel 基础上做的一次"全面升级"。它添加了图形化管理、多协议支持、内置延迟测试、10+ 客户端自动适配、path 参数单节点覆盖、API 管理优选 IP……一句话:把 CF Workers 代理的上限又往上推了一层

⚠️ 重要提醒
部署后请将兼容性日期设置为 2026-01-20( Workers / Pages 均需设置,否则部分新特性不可用)。本指南仅供技术研究学习用途,请遵守当地法律法规。

一、cfnew 是什么?

cfnew 是一个基于 Cloudflare Workers/Pages 平台的高功能代理协议解决方案,由 byJoey 维护开发,底层部分代码参考 zizifn/edgetunnel,但功能层做了大量新增:

  • 三协议:VLESS、Trojan、xhttp(新),可同时启用多个。
  • 图形管理面板:KV 持久化配置,改完立即生效,无需重新部署。
  • path 参数覆盖:分享链接里直接写参数,为单个节点临时切换 ProxyIP 或地区,无需改全局配置。
  • 内置延迟测试:不用装外部工具,在配置页面直接测 IP 延迟,自动获取机场码。
  • 10+ 客户端自动适配:CLASH / SURGE / SING-BOX / LOON / QUANTUMULT X / V2RAY / Shadowrocket / STASH / NEKORAY / V2RAYNG。

1.1 与同类项目定位对比

维度cfnewedgetunnelyonggekkk 一键脚本
协议支持VLESS + Trojan + xhttpVLESS / Trojan / SSVLESS + Trojan
图形管理✅ KV 图形面板,实时生效✅ 内置 Web 面板❌ 命令行
path 参数覆盖✅ 单节点独立配置❌ 仅全局
内置延迟测试✅ 内置,1-50 线程
客户端适配10+ 自动识别主流客户端主流客户端
优选 IP API✅ RESTful API手动变量
订阅转换内部实现,无外部依赖内置订阅生成内置订阅生成
多语言中文 + 波斯语(自动切换 RTL)中文中文
Worker 地区选择✅ 10+ 地区自动/手动
ECH 支持✅ 自动获取,调试头
上手难度⭐⭐⭐ 中高(功能多)⭐⭐ 中⭐⭐ 中低
💡 为什么 cfnew 值得折腾
cfnew 的最大价值不在"多",而在"巧":path 参数覆盖让一个订阅链接同时服务多个用户场景;graph 面板让配置修改零重部署;内置延迟测试省掉了反复跑优选脚本的功夫。功能密度在同类项目里都是最高的。当然,代价是上手曲线略陡,本文帮你跨过这道坎。

二、前置条件

  • 一个 Cloudflare 账号(免费 Plan)。
  • 一个已托管到 CF DNS 的域名(推荐使用 CF Nameserver,方便自定义域名 CNAME)。
  • 选择部署方式:WorkersPages,两者功能几乎一致,偏好不同即可。

三、两种部署方式

3.1 Workers 部署

  1. CF Dashboard → Workers & PagesCreate ApplicationCreate Worker,命名如 mycfnew
  2. 进入在线编辑器,将项目 worker.js 内容全部粘贴,保存。
  3. 关键步骤:Settings → Runtime → 找到兼容性日期,选择 2026-01-20,保存。
  4. Settings → Bindings → 添加 KV 命名空间,变量名填 C
  5. Settings → Variables,添加以下必需变量
  • u = 你的 UUID(访问 /u/自定义路径 进入管理面板的凭据)

其余变量(evetexechalpn 等)均可通过图形界面配置,无需提前设置环境变量。

  1. Triggers → 绑定自定义域,或直接使用 *.workers.dev 域名。
  2. 访问 https://你的域名/你的UUID 进入图形化配置后台。

3.2 Pages 部署

  1. Fork 本项目后,在 GitHub 上给项目点 Star ⭐
  2. CF Dashboard → Pages → Create a projectConnect to Git
  3. 选择 cfnew 仓库,Build and Output 设置环境变量(u 填 UUID)
  4. Settings → Runtime → 兼容性日期设置为 2026-01-20(⚠️ 必填)
  5. Settings → Bindings → 添加 KV,变量名 C
  6. 重新部署后访问 /UUID 进入后台

Pages 方式的好处是 GitHub 原生 CI/CD,fork 后改代码自动触发新部署。

四、环境变量完整说明

cfnew 的变量分为两类:订阅路径变量(u/p/s/d/wk,决定用户怎么连)和订阅生成变量(ev/et/ex/ech/alpn/yx 等,决定订阅内容是什么)。

4.1 订阅路径变量(用户连接侧)

变量必填示例说明
uyour-uuid-hereUUID,也是进入管理面板的路径(/u
p1.2.3.41.2.3.4:8443订阅级 ProxyIP;设置后 wk 失效(互斥)。也可在节点 path 里单独设
suser:pass@host:1080订阅级 SOCKS5 代理;节点 path 里可单独覆盖
d/mypath/path/to/sub自定义订阅路径,多级路径支持。设置后 UUID 路径自动禁用
wksgjphk手动指定 Worker 地区(优先级低于 p)。支持:US/SG/JP/HK/KR/DE/SE/NL/FI/GB

4.2 订阅生成变量(订阅内容侧)

变量默认说明
evyes启用 VLESS 协议
etno启用 Trojan 协议(可同时与 VLESS 共存)
exno启用 xhttp 协议(HTTP POST 伪装协议)
tp空(用 UUID)Trojan 自定义密码
echno启用 ECH(自动开启仅 TLS 模式)
alpnTLS ALPN,支持 h3 / h2 / http/1.1 组合
qj(默认开启降级)no = 启用降级:CF 直连失败 → SOCKS5 → fallback
dkbynoyes = 只生成 TLS 节点
rm默认开启no = 关闭地区智能匹配
yxbynoyes = 关闭所有优选功能
aenoyes = 允许 API 管理优选 IP

4.3 优选 IP 相关变量

变量默认说明
yx手动指定优选 IP/域名,支持命名:1.1.1.1:443#香港,8.8.8.8:53#Google
yxURLGitHub 默认自定义 IP 列表来源 URL,留空用内置默认源
scu内置默认订阅转换服务地址
epdyes启用优选域名
epiyes启用优选 IP
egiyes启用 GitHub 默认优选
⚠️ 兼容性日期必设
cfnew 使用了一些较新的 Web 标准,Worker 和 Pages 的运行时兼容性日期都必须手动设置为 2026-01-20,否则会出现订阅生成异常、KV 读取失败等问题。部署后立即检查此项。

五、图形化管理面板

cfnew 的所有配置都通过 KV 存储,访问 https://你的域名/你的UUID(或自定义路径)即可进入后台。

5.1 核心功能

  • 协议配置区:VLESS / Trojan / xhttp 各自有独立开关和子配置,有独立的"保存"按钮。
  • 优选 IP 管理:内置延迟测试工具(1-50 线程并发),支持按地区筛选、只保留最快 N 个、追加/替换模式。
  • 订阅转换:可自定义转换服务 URL,CLASH / SING-BOX / SURGE 等配置全部 Worker 内部生成,不再依赖外部 sub-converter。
  • 客户端唤起:配置页右下角提供各平台客户端一键下载按钮。
  • 通知系统:右上角浮动消息,自动消失,可悬停暂停,支持 success / info / warn / error 四种语义。

5.2 浏览器本地缓存机制

KV 读取做了 5 小时内存缓存,跨 isolate 版本键 c_ver 协调。保存配置后,浏览器 localStorage 会持久化用户的 FX 特效开关、语言偏好等设置,KV 的变更在 30s 短窗口内自动刷新。

六、Path 参数:单节点覆盖

这是 cfnew 最"精巧"的设计。你不需要为每个用户单独部署 Worker,只需要在分享链接的 path 里加几个查询参数,就能为单个节点临时覆盖连接级配置:

参数作用示例
p覆盖 ProxyIP(与 wk 互斥)/?ed=2048&p=1.1.1.1
wk覆盖 Worker 地区/?ed=2048&wk=jp
rm关闭地区智能匹配/?ed=2048&wk=sg&rm=no
s覆盖 SOCKS5 代理/?ed=2048&s=user:pass@socks5:1080&wk=us
💡 优先级规则
path 参数 > KV/环境变量全局配置 > 自动检测
⚠️ pwk 互斥:设置了 p 后,Worker 的地区匹配逻辑被完全跳过,两者同时写只有 p 生效。
⚠️ 不在上表中的变量(ev、et、yx 等)属于订阅生成级配置,在 WebSocket 握手阶段已过路由,放在 path 里无效,仍需在环境变量或 KV 中设置。
# 指定 ProxyIP(不要同时写 wk)
https://your-worker.workers.dev/?ed=2048&p=1.1.1.1
/?ed=2048&p=proxy.example.com:443
/?ed=2048&p=[2001:db8::1]:443

# 指定地区(让 Worker 自动选该地区 ProxyIP)
/?ed=2048&wk=jp
/?ed=2048&wk=sg&rm=no

# 指定 SOCKS5(可与 wk 搭配)
/?ed=2048&s=user:[email protected]:1080&wk=us

七、多协议配置

7.1 VLESS(默认启用)

VLESS 是主力协议,默认启用,无需额外配置。支持 VLESS-WS-TLS,订阅链接默认自动生成。

7.2 Trojan(可选启用)

设置 et=yes 启用,可自定义 Trojan 密码(tp 变量),留空则使用 UUID 作为密码。Trojan 节点在 Shadowrocket / v2rayN 等客户端需开启 TLS 才能使用。

7.3 xhttp(可选启用)

cfnew v2.7 新增的基于 HTTP POST 的模拟协议,增加一层伪装。设置 ex=yes 即可启用。xhttp 的主要价值是进一步混淆流量特征,适合对协议指纹敏感的场景。

7.4 三协议共存

VLESS / Trojan / xhttp 可以同时启用,客户端会自动识别引入哪种协议。图形界面里三个开关独立控制,各有独立保存按钮,互不干扰。

八、Worker 地区与延迟测试

8.1 Worker 地区选择

CF Workers 支持指定实例的地区,cfnew 支持手动指定或在订阅链接里通过 wk 参数指定:

代码地区代码地区
us美国(西部/东部)hk香港
sg新加坡jp日本
kr韩国de德国
se瑞典nl荷兰
fi芬兰gb英国

默认采用自动检测,页面会显示当前 Worker 地区、检测方式、ProxyIP 状态。地区选择逻辑:同地区 → 邻近地区 → 其他地区。

8.2 内置延迟测试工具

在图形管理面板的优选 IP 管理区,内置了完整的延迟测试工具:

  • 1-50 线程并发测试,默认 5 线程。
  • 自动获取机场码(SJC、LAX 等),自动映射中文机场名。
  • 自动扣除 DNS + TLS 握手时间,只显示真实的数据传输延迟。
  • IP 来源:手动输入(逗号分隔批量)/ CF 随机 IP 生成 / 从 URL 批量获取。
  • 筛选:支持按地区筛选、只保留最快 N 个、追加/替换模式。

九、订阅系统与客户端支持

cfnew 内置了完整的订阅转换功能,不再依赖外部 sub-converter 服务。Clash 使用 Loyalsoldier 规则集,Sing-box 使用 MetaCubeX SRS,Surge/Loon/QuanX 使用 ACL4SSR 规则。

9.1 支持的客户端

平台推荐客户端
Androidv2rayNG · NekoBox · Karing · v2box
Windowsv2rayN · Hiddify · Karing
iOSShadowrocket · Karing · Hiddify · Stash · v2box · Streisand
macOSClash Verge Rev · Stash · Surge · Karing
软路由passwall · ssr-plus · homeproxy

9.2 订阅别名规则

节点别名做了简化,不再追加端口/协议/TLS 信息,便于识别:

  • 域名节点:优选域名-01优选域名-02
  • IPv6 节点:IPv6优选-01IPv6优选-02
  • IPv4 节点:优先 isp-colo-序号(含运营商+地区信息),缺失时回退 IPv4优选-序号

9.3 应用唤起

订阅页面提供按钮,点击直接唤起已安装的对应客户端。根据 User-Agent 自动识别客户端类型,返回对应格式的订阅内容,无需用户手动选择协议。

十、ECH 加密客户端握手

cfnew 内置了 Encrypted Client Hello(ECH)支持:

  • 自动获取:每次刷新订阅时自动从 DoH 获取最新 ECH 配置(优先 Google DNS,失败自动切 Cloudflare DNS)。
  • 智能模式:启用 ECH 时自动启用"仅 TLS"模式,避免 80 端口干扰。
  • 图形化开关:协议配置区一键开启/关闭。
  • 调试信息:浏览器开发者工具响应头中可查 X-ECH-Status: SUCCESS/FAILEDX-ECH-Debug 含详细调试过程。
  • Clash 配置:自动添加 ech-optsquery-server-name 参数,与 v2ray 行为一致。

十一、API 管理优选 IP

cfnew 提供 RESTful API,允许通过外部脚本动态管理优选 IP,无需改代码或进后台:

# 添加单个 IP
curl -X POST "https://your-worker.workers.dev/{UUID}/api/preferred-ips" \
  -H "Content-Type: application/json" \
  -d '{"ip": "1.2.3.4", "port": 443, "name": "香港节点"}'

# 批量添加
curl -X POST "https://your-worker.workers.dev/{UUID}/api/preferred-ips" \
  -H "Content-Type: application/json" \
  -d '[
    {"ip": "1.2.3.4", "port": 443, "name": "节点1"},
    {"ip": "5.6.7.8", "port": 8443, "name": "节点2"}
  ]'

# 清空所有 IP
curl -X DELETE "https://your-worker.workers.dev/{UUID}/api/preferred-ips" \
  -H "Content-Type: application/json" \
  -d '{"all": true}'

# 查询列表
curl "https://your-worker.workers.dev/{UUID}/api/preferred-ips"

API 添加的 IP 与图形界面手动配置的 yx 变量自动合并,不会互相覆盖。

十二、ProxyIP 与降级机制

12.1 ProxyIP 配置

ProxyIP 的格式与 yonggekkk 项目相同:

  • 443 端口:IPv4 / [IPv6] / 域名(无需 :443
  • 非 443:IPv4:端口 / [IPv6]:端口 / 域名:端口

12.2 SOCKS5 降级超时

cfnew 内置了 SOCKS5 降级机制:直连 3.5s 无数据自动走 fallback(SOCKS5 代理 → 最终 fallback),防止 CF 边缘节点到部分目标站点不通时长时间卡住。

12.3 订阅自动优选

订阅每 15 分钟自动优选一次,配合多重备用方案,保证节点列表的更新频率和可用性。默认使用 GitHub 的优选源,可自行切换到自定义 URL。

十三、常见问题

Q1:兼容性日期设置了还是报错?

请分别在 Workers 和 Pages 两个入口都设置一遍兼容性日期,部分用户只设了 Workers 没设 Pages,导致部署后部分功能不可用。

Q2:访问 /UUID 返回 404?

检查:① KV 绑定变量是否为 C(大写);② KV 命名空间和 Worker 是否在同一 CF 账号下;③ 部署后是否有执行过第一次保存操作。

Q3:ProxyIP 和 Worker 地区参数能不能同时用?

不能。 pwk 互斥。设置了 p,地区匹配逻辑完全跳过;设置了 wk,Worker 自动匹配该地区的 ProxyIP。

Q4:订阅地址变了怎么办?

UUID 或自定义路径(d)一变,旧的订阅地址就失效。修改后在配置页重新获取订阅链接,更新到客户端即可。如果担心频繁更换,建议设一个stable 的自定义路径 d,不随 UUID 更换而变。

Q5:Clash 订阅导入后代理组循环引用?

cfnew 已修复该问题(修复了 Clash 代理组 🎯 全球直连 ↔ 🚀 节点选择 循环引用)。如果仍出现,清除 Clash 本地缓存重新导入订阅。

Q6:yonggekkk 项目和 cfnew 如何选择?

选型维度选 yonggekkk 脚本选 cfnew
场景快速搭建,运维简单多用户/多节点精细管理
图形界面❌ 命令行✅ 图形 + API
协议丰富度VLESS + Trojan+ xhttp
单节点定制✅ path 参数
内置延迟测试
上手门槛
🔒 安全提示
cfnew 支持 API 管理优选 IP,开启 ae=yes 后请勿将含 API 端点的链接泄露给他人。订阅链接和 API 密钥同等对待。建议定期检查 KV 中的配置是否有被篡改痕迹。

十四、总结

cfnew 是目前 CF Workers 代理生态里功能最完整、设计最用心的项目之一。它在 edgetunnel 的基础上,增加了图形化管理面板、三协议支持、path 参数单节点覆盖、内置延迟测试、10+ 客户端自动适配、API 管理优选 IP 等一系列特性,真正把"CF Workers 代理"做成了一站式解决方案。

如果你只需要一个简单节点,edgetunnel 足够;但如果你需要精细管理多个节点、多用户分发、自动优选,cfnew 是不二之选。

项目地址:github.com/byJoey/cfnew

配套工具:yx-tools 优选工具 · 文字教程:joeyblog.net

推荐视频教程

📋 快速检查清单
□ CF 账号 + 域名已托管到 CF DNS
□ 选择 Workers 或 Pages 部署方式
□ 粘贴 worker.js 内容并部署
设置兼容性日期为 2026-01-20(Worker + Pages 均需设置)
□ 创建并绑定 KV 命名空间,变量名 C
□ 设置必需变量 u(UUID)
□ 访问 /UUID 进入管理面板,完成初始配置
□ 开启所需协议(VLESS/Trojan/xhttp)
□ 配置优选 IP 或自定义 ProxyIP
□ 在客户端导入订阅测试连通性