cfnew 是一个基于 Cloudflare Workers / Pages 的开源项目,适合用来学习 Cloudflare 边缘函数、KV 配置、订阅面板和多客户端配置生成的完整流程。本文按新手能跟着操作的方式整理部署步骤,重点放在项目创建、变量配置、KV 绑定、图形化面板和常见问题排查。

项目地址:https://github.com/byJoey/cfnew。本文只用于个人学习、自用测试和合规网络环境研究,实际使用时请遵守当地法律法规、Cloudflare 服务条款以及相关平台规则。
一、cfnew 适合解决什么问题
如果你想学习 Cloudflare Workers 或 Pages 如何部署一个带配置面板的项目,cfnew 是一个比较完整的案例。它把脚本逻辑、KV 存储、环境变量、订阅生成、多客户端格式适配都集中在一个项目里,新手可以通过它理解 Cloudflare 边缘应用的基本结构。
- 支持 VLESS、Trojan、xhttp 等协议开关配置。
- 支持通过 Cloudflare KV 保存配置,修改后不用每次重新部署。
- 支持自定义路径,不一定使用 UUID 作为访问路径。
- 支持 Clash、Sing-box、Surge、Loon、Quantumult X、V2rayN 等多种客户端配置格式。
- 支持出站代理变量
s和出站方式qj,便于做线路测试和出口控制。
二、准备工作
开始前建议先准备好下面这些内容。不要把 UUID、密码、代理账号等敏感信息公开发到评论区、截图或视频里。
- 一个 Cloudflare 账号。
- 一个可以正常访问 Cloudflare 控制台的浏览器。
- cfnew 官方 GitHub 项目地址。
- 一个 UUID,可用在线 UUID 生成器或本地工具生成。
- 如需自定义域名,提前把域名接入 Cloudflare。
生成 UUID 后建议单独保存,后面环境变量、访问路径和订阅配置都会用到。
示例 UUID:
00000000-0000-4000-8000-000000000000
三、部署方式怎么选:Workers 还是 Pages
cfnew 可以围绕 Cloudflare Workers / Pages 部署。新手如果只是想快速理解项目,Workers 的路径更直接;如果你习惯 GitHub 仓库和 Pages 项目联动,也可以用 Pages。
| 方式 | 适合人群 | 特点 |
|---|---|---|
| Workers | 想快速部署和测试的人 | 直接创建 Worker,粘贴脚本或绑定仓库,配置变量和 KV |
| Pages | 习惯 GitHub 工作流的人 | 适合用仓库管理代码,后续更新更清晰 |
下面以 Workers 思路说明核心步骤。不同账号界面可能会有细微变化,实际按钮名称以 Cloudflare 当前控制台为准。
四、第一步:获取 cfnew 项目代码
打开 cfnew 的 GitHub 页面,查看项目文件和 README。建议优先使用官方仓库中的最新版本,不要从不明网盘或二次打包页面下载。
https://github.com/byJoey/cfnew
如果你熟悉 Git,可以把仓库克隆到本地;如果只是做测试,也可以直接在 GitHub 页面查看需要部署的 Worker 源码文件。
git clone https://github.com/byJoey/cfnew.git
五、第二步:创建 Cloudflare Worker
- 登录 Cloudflare 控制台。
- 进入 Workers & Pages。
- 选择创建 Worker 项目。
- 进入编辑页面后,把 cfnew 对应的 Worker 代码粘贴进去。
- 保存并部署,先确认 Worker 可以正常生成访问地址。
部署完成后,Cloudflare 会给你一个类似下面格式的访问地址。这里的地址只是格式示例,实际以你自己的 Worker 地址为准。
https://your-worker-name.your-subdomain.workers.dev
六、第三步:配置基础环境变量
进入 Worker 的设置页面,找到环境变量配置。cfnew 的基础变量可以先从最少配置开始,跑通后再逐步增加高级参数。
| 变量名 | 是否必需 | 作用 | 建议 |
|---|---|---|---|
u | 必需 | UUID,用于访问订阅和配置页面 | 使用自己生成的 UUID |
d | 可选 | 自定义访问路径 | 想隐藏 UUID 路径时再设置 |
p | 可选 | ProxyIP 地址 | 不懂时先留空 |
wk | 可选 | 指定 Worker 地区 | 与 p 互斥,先别同时配置 |
s | 可选 | 出站代理地址 | 需要固定出口或线路测试时再配置 |
最小可用配置可以先只设置 u。例如:
u = 你的 UUID
如果你想用自定义路径,可以增加 d。路径建议简单一点,前面带不带 / 项目都会处理,但自己填写时最好统一带上。
d = /my-panel-path
七、第四步:创建并绑定 KV 命名空间
cfnew 推荐使用 Cloudflare KV 保存图形化面板里的配置。这样后续修改协议、优选、出站方式等选项时,不需要每次重新部署 Worker。
- 在 Cloudflare 控制台进入 Workers 的 KV 管理页面。
- 创建一个新的 KV 命名空间,例如
cfnew_config。 - 回到你的 Worker 项目设置。
- 找到 KV Namespace Bindings。
- 绑定刚才创建的 KV,变量名填写
C。 - 保存设置后重新部署 Worker。
这里最容易填错的是变量名。cfnew README 中推荐绑定变量名为 C,大小写要保持一致。
KV 绑定变量名:
C
八、第五步:打开图形化配置面板
部署和 KV 绑定完成后,访问你的 Worker 地址加上 UUID 或自定义路径,就可以进入 cfnew 的图形化配置页面。
# 使用 UUID 路径
https://your-worker.example.workers.dev/你的UUID
# 使用自定义路径
https://your-worker.example.workers.dev/my-panel-path
进入面板后,建议先检查基础配置是否能保存。保存后刷新页面,如果配置还在,说明 KV 绑定已经生效。
九、协议和客户端配置建议
cfnew 支持多协议,但新手不建议一上来全部打开。先用默认配置跑通,再根据自己的客户端需求开启其他协议。
| 变量名 | 作用 | 建议 |
|---|---|---|
ev | 启用 VLESS | 默认启用,先保持默认 |
et | 启用 Trojan | 需要 Trojan 客户端时再开 |
ex | 启用 xhttp | 需要测试 xhttp 时再开 |
tp | Trojan 密码 | 启用 Trojan 后再设置 |
alpn | TLS ALPN 参数 | 不确定时留空 |
客户端方面,README 中提到支持 Clash、Surge、Sing-box、Loon、Quantumult X、V2rayN、Shadowrocket 等格式。实际使用时,优先选择你已经熟悉的客户端,不要为了功能多而频繁切换。
十、出站代理 s 和出站方式 qj 怎么理解
新版 cfnew 对出站代理做了比较清晰的区分。s 用来填写出站代理地址,支持 SOCKS5、HTTP、HTTPS 三类写法;qj 用来决定代理不可用时是否回落。
# SOCKS5,不写前缀时默认按 SOCKS5 理解
host:port
socks5://host:port
# HTTP / HTTPS 代理
http://host:port
https://host:port
# 带认证示例
socks5://user:pass@host:1080
http://user:pass@host:8080
qj 值 | 行为 | 适合场景 |
|---|---|---|
| 留空 | 优先走代理,失败后回落 | 普通测试 |
no | 优先直连,失败再走代理 | 把代理作为备用线路 |
only | 只走代理,失败就断开 | 需要固定出口,不希望回落 |
如果你没有配置 s,那么 qj 怎么填意义都不大。新手建议先不配置出站代理,等基础部署确认正常后,再单独测试这一部分。
十一、常见问题排查
1. 打开面板提示 404 或路径不对
先确认访问路径到底是 UUID 还是自定义 d。如果设置了自定义路径,UUID 路径可能不再按你预期访问。建议回到环境变量里核对 u 和 d。
2. 面板配置保存后刷新丢失
大概率是 KV 没有绑定成功,或者绑定变量名不是 C。检查 Worker 设置里的 KV Namespace Bindings,保存后重新部署。
3. 修改环境变量后没有生效
Cloudflare Worker 修改变量后通常需要重新部署。另一个容易忽略的点是:启用 KV 面板后,部分配置优先级可能变成 KV 配置高于环境变量。可以在图形化面板里同步检查。
4. p 和 wk 同时设置后结果不符合预期
按项目说明,p 和 wk 是互斥思路。设置 p 后会直接使用指定 ProxyIP,地区匹配 wk 会失效。新手建议二选一,不要同时填。
5. 出站代理配置后不通
检查代理是否支持隧道转发、地址端口是否正确、账号密码是否包含特殊字符。需要固定出口时再使用 qj=only,否则调试阶段可以先用默认回落逻辑,方便确认问题位置。
十二、安全和维护建议
- 不要公开自己的 UUID、自定义路径、代理账号、订阅链接。
- 只从官方 GitHub 仓库获取项目代码,避免使用不明来源的二次修改版。
- Cloudflare 控制台开启两步验证,降低账号风险。
- 每隔一段时间检查 GitHub README,项目变量和功能可能会更新。
- 如果配置截图要发到文章或视频里,记得打码敏感信息。
十三、总结
cfnew 的核心部署思路并不复杂:先创建 Cloudflare Worker,再配置 UUID 等基础变量,然后绑定 KV,最后通过图形化面板维护配置。真正容易出错的地方主要是 KV 变量名、访问路径、环境变量优先级,以及 p、wk、s、qj 这些高级参数的理解。
建议新手先用最小配置跑通,再逐项测试高级功能。这样即使后面遇到问题,也能快速判断是部署问题、KV 问题,还是某个高级参数引起的。