如果你已经用过 edgetunnel 或 yonggekkk 的一键脚本,觉得它们"功能够用但不够爽",那么 cfnew 可能就是你一直在等的东西。
cfnew(GitHub:byJoey/cfnew)是在 edgetunnel 基础上做的一次"全面升级"。它添加了图形化管理、多协议支持、内置延迟测试、10+ 客户端自动适配、path 参数单节点覆盖、API 管理优选 IP……一句话:把 CF Workers 代理的上限又往上推了一层。
一、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 与同类项目定位对比
| 维度 | cfnew | edgetunnel | yonggekkk 一键脚本 |
|---|---|---|---|
| 协议支持 | VLESS + Trojan + xhttp | VLESS / Trojan / SS | VLESS + Trojan |
| 图形管理 | ✅ KV 图形面板,实时生效 | ✅ 内置 Web 面板 | ❌ 命令行 |
| path 参数覆盖 | ✅ 单节点独立配置 | ❌ 仅全局 | ❌ |
| 内置延迟测试 | ✅ 内置,1-50 线程 | ❌ | ❌ |
| 客户端适配 | 10+ 自动识别 | 主流客户端 | 主流客户端 |
| 优选 IP API | ✅ RESTful API | ❌ | 手动变量 |
| 订阅转换 | 内部实现,无外部依赖 | 内置订阅生成 | 内置订阅生成 |
| 多语言 | 中文 + 波斯语(自动切换 RTL) | 中文 | 中文 |
| Worker 地区选择 | ✅ 10+ 地区自动/手动 | ❌ | ❌ |
| ECH 支持 | ✅ 自动获取,调试头 | ❌ | ❌ |
| 上手难度 | ⭐⭐⭐ 中高(功能多) | ⭐⭐ 中 | ⭐⭐ 中低 |
二、前置条件
- 一个 Cloudflare 账号(免费 Plan)。
- 一个已托管到 CF DNS 的域名(推荐使用 CF Nameserver,方便自定义域名 CNAME)。
- 选择部署方式:Workers 或 Pages,两者功能几乎一致,偏好不同即可。
三、两种部署方式
3.1 Workers 部署
- CF Dashboard → Workers & Pages → Create Application → Create Worker,命名如
mycfnew。 - 进入在线编辑器,将项目
worker.js内容全部粘贴,保存。 - 关键步骤:Settings → Runtime → 找到兼容性日期,选择 2026-01-20,保存。
- Settings → Bindings → 添加 KV 命名空间,变量名填
C。 - Settings → Variables,添加以下必需变量:
u= 你的 UUID(访问/u或/自定义路径进入管理面板的凭据)
其余变量(ev、et、ex、ech、alpn 等)均可通过图形界面配置,无需提前设置环境变量。
- Triggers → 绑定自定义域,或直接使用
*.workers.dev域名。 - 访问
https://你的域名/你的UUID进入图形化配置后台。
3.2 Pages 部署
- Fork 本项目后,在 GitHub 上给项目点 Star ⭐
- CF Dashboard → Pages → Create a project → Connect to Git
- 选择 cfnew 仓库,Build and Output 设置环境变量(
u填 UUID) - Settings → Runtime → 兼容性日期设置为 2026-01-20(⚠️ 必填)
- Settings → Bindings → 添加 KV,变量名
C - 重新部署后访问
/UUID进入后台
Pages 方式的好处是 GitHub 原生 CI/CD,fork 后改代码自动触发新部署。
四、环境变量完整说明
cfnew 的变量分为两类:订阅路径变量(u/p/s/d/wk,决定用户怎么连)和订阅生成变量(ev/et/ex/ech/alpn/yx 等,决定订阅内容是什么)。
4.1 订阅路径变量(用户连接侧)
| 变量 | 必填 | 示例 | 说明 |
|---|---|---|---|
u | ✅ | your-uuid-here | UUID,也是进入管理面板的路径(/u) |
p | ❌ | 1.2.3.4 或 1.2.3.4:8443 | 订阅级 ProxyIP;设置后 wk 失效(互斥)。也可在节点 path 里单独设 |
s | ❌ | user:pass@host:1080 | 订阅级 SOCKS5 代理;节点 path 里可单独覆盖 |
d | ❌ | /mypath 或 /path/to/sub | 自定义订阅路径,多级路径支持。设置后 UUID 路径自动禁用 |
wk | ❌ | sg、jp、hk | 手动指定 Worker 地区(优先级低于 p)。支持:US/SG/JP/HK/KR/DE/SE/NL/FI/GB |
4.2 订阅生成变量(订阅内容侧)
| 变量 | 默认 | 说明 |
|---|---|---|
ev | yes | 启用 VLESS 协议 |
et | no | 启用 Trojan 协议(可同时与 VLESS 共存) |
ex | no | 启用 xhttp 协议(HTTP POST 伪装协议) |
tp | 空(用 UUID) | Trojan 自定义密码 |
ech | no | 启用 ECH(自动开启仅 TLS 模式) |
alpn | 空 | TLS ALPN,支持 h3 / h2 / http/1.1 组合 |
qj | (默认开启降级) | no = 启用降级:CF 直连失败 → SOCKS5 → fallback |
dkby | no | yes = 只生成 TLS 节点 |
rm | 默认开启 | no = 关闭地区智能匹配 |
yxby | no | yes = 关闭所有优选功能 |
ae | no | yes = 允许 API 管理优选 IP |
4.3 优选 IP 相关变量
| 变量 | 默认 | 说明 |
|---|---|---|
yx | 空 | 手动指定优选 IP/域名,支持命名:1.1.1.1:443#香港,8.8.8.8:53#Google |
yxURL | GitHub 默认 | 自定义 IP 列表来源 URL,留空用内置默认源 |
scu | 内置默认 | 订阅转换服务地址 |
epd | yes | 启用优选域名 |
epi | yes | 启用优选 IP |
egi | yes | 启用 GitHub 默认优选 |
五、图形化管理面板
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 |
⚠️
p 和 wk 互斥:设置了 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 支持的客户端
| 平台 | 推荐客户端 |
|---|---|
| Android | v2rayNG · NekoBox · Karing · v2box |
| Windows | v2rayN · Hiddify · Karing |
| iOS | Shadowrocket · Karing · Hiddify · Stash · v2box · Streisand |
| macOS | Clash Verge Rev · Stash · Surge · Karing |
| 软路由 | passwall · ssr-plus · homeproxy |
9.2 订阅别名规则
节点别名做了简化,不再追加端口/协议/TLS 信息,便于识别:
- 域名节点:
优选域名-01、优选域名-02 - IPv6 节点:
IPv6优选-01、IPv6优选-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/FAILED,X-ECH-Debug含详细调试过程。 - Clash 配置:自动添加
ech-opts的query-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 地区参数能不能同时用?
不能。 p 和 wk 互斥。设置了 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 参数 |
| 内置延迟测试 | ❌ | ✅ |
| 上手门槛 | 低 | 中 |
ae=yes 后请勿将含 API 端点的链接泄露给他人。订阅链接和 API 密钥同等对待。建议定期检查 KV 中的配置是否有被篡改痕迹。十四、总结
cfnew 是目前 CF Workers 代理生态里功能最完整、设计最用心的项目之一。它在 edgetunnel 的基础上,增加了图形化管理面板、三协议支持、path 参数单节点覆盖、内置延迟测试、10+ 客户端自动适配、API 管理优选 IP 等一系列特性,真正把"CF Workers 代理"做成了一站式解决方案。
如果你只需要一个简单节点,edgetunnel 足够;但如果你需要精细管理多个节点、多用户分发、自动优选,cfnew 是不二之选。
配套工具:yx-tools 优选工具 · 文字教程:joeyblog.net
推荐视频教程
□ 选择 Workers 或 Pages 部署方式
□ 粘贴
worker.js 内容并部署□ 设置兼容性日期为 2026-01-20(Worker + Pages 均需设置)
□ 创建并绑定 KV 命名空间,变量名
C□ 设置必需变量
u(UUID)□ 访问
/UUID 进入管理面板,完成初始配置□ 开启所需协议(VLESS/Trojan/xhttp)
□ 配置优选 IP 或自定义 ProxyIP
□ 在客户端导入订阅测试连通性