Skip to content
ViMoRanPublic
forked from byJoey/cfnew

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

CFnew 精简内核

内核版本 Cloudflare Workers / Pages

把代理转发留在 Cloudflare,把控制台、优选操作和订阅生成交给独立面板。内核 37,806 字节,较原完整版本减少约 92%。节点流量直接连接你自己的 Worker。

打开面板 · 下载最新版 · 视频教程 · 完整变量表

当前默认分支是 core-only。旧完整版保留在 main,旧版发行是 v3.1。独立面板源码在 cfnew-panel。

接入面板和客户端

  1. 打开 cfnew.xy.kg,填写自己的 Worker 域名和同一个 UUID。域名填 HTTPS 根地址,不带 UUID、路径或查询参数。
  2. 在配置管理中选择协议、优选来源、出站方式等,点击保存。未绑定 KV 时可以读取环境配置、生成订阅,不能在线保存。
  3. 复制面板生成的订阅地址,导入对应客户端。订阅域名是面板,节点的 SNI / Host 和实际代理入口仍是你的 Worker。

也可以自己部署面板。Vercel 部署步骤和可选变量 w 见该仓库;w 设置在面板项目,不要填到 Worker。

UUID、自定义路径和完整订阅链接都能用于访问你的配置,请妥善保管。“记住节点”只保存在当前浏览器,删除已保存节点不会删除 Worker 或 KV 配置。

先选下载文件

Windows、macOS、Linux 都用同一份文件,按部署方式选择即可。

部署方式 下载文件 怎么用
Cloudflare Pages Pages.zip 整包直接上传,不用解压。包根目录只有 _worker.js。
Cloudflare Workers _worker.js 在 Worker 编辑器中完整替换代码,再部署。
校验下载 SHA256SUMS.txt 用 SHA-256 核对文件是否完整。

仓库里的 pages.zip 与发行的 Pages.zip 字节一致。GitHub 自动生成的 Source code (zip / tar.gz) 是整个仓库源码,不能直接当 Pages 部署包上传。

第一次部署

准备一个 Cloudflare 账号,以及自己生成的 UUID。所有示例里的域名和凭据都要换成自己的。

Cloudflare Pages

  1. 下载上面的 Pages.zip。
  2. Cloudflare 控制台 → Workers 和 Pages → 创建应用 → Pages → 直接上传 / 上传资产。创建项目,把整个 Pages.zip 上传并部署。
  3. 项目设置 → 变量和机密,在生产环境添加文本变量 u,值填自己的 UUID。大写 U 也支持。
  4. 需要在面板保存设置时,创建一个 Workers KV 命名空间,在 Pages 项目的绑定设置中添加 KV,绑定名称填 C 或 c。
  5. 兼容日期设置为 2026-01-20。添加变量、绑定或更改兼容日期后,重新部署,使新设置进入生产版本。
  6. 使用可访问的 pages.dev 地址,或给项目绑定自己的域名,然后按上面的步骤接入面板。

Pages 页面若只允许拖文件夹,可把压缩包解压后上传包含 _worker.js 的目录,确保它在上传内容的根目录。

Cloudflare Workers

  1. 新建 Worker,先完成初始部署,再进入代码编辑器。
  2. 下载 _worker.js,把文件内容完整粘贴到编辑器。使用 ES Module 格式,保留 import 和 export default,保存并部署;不要复制 GitHub 网页的 HTML。
  3. 在设置 → 变量和机密中添加 u,值填自己的 UUID;需要在线保存设置时,添加名为 C 或 c 的 KV 绑定。
  4. 兼容日期设为 2026-01-20,重新部署后绑定可用域名。

打开 Worker 首页显示 hello 就是本版预期行为。管理页面和订阅已经移到独立面板,不在 Worker 首页。

常用变量

变量设置在 Cloudflare Worker / Pages 项目。除 u 和 KV 绑定外,大多数设置可以直接在面板修改,无需逐项添加环境变量。

变量 默认值 用途
u / U 请自行设置 代理 UUID,也是面板的登录凭据。
C / c 未绑定 KV 命名空间绑定,用来在线保存配置。不是普通文本变量。
d / D 空 自定义面板登录路径,例如 /Admin/Panel。
ev、et、ex yes、no、no 分别开启 VLESS WS、Trojan WS、VLESS XHTTP。
p / P 空 指定 ProxyIP,支持 host:port 与 [IPv6]:port。
s / S 空 SOCKS5、HTTP 或 HTTPS 出站代理。
qj / QJ 空 出站策略:空为代理优先,no 为直连优先,only 为只走代理。详见完整变量表。
yx / YX 空 手填优选地址列表,每行一个,可带端口和备注。
yxURL / YXURL / YX_URL 空 在线优选列表地址,搭配“仓库优选”开关使用。
jk / JK no 开启家宽链式订阅,面板会提供“CLASH 家宽”入口。
freeCpu / FREE_CPU no Free CPU 预算保护,达到预算会断开连接。

全部 32 项配置、环境变量别名、默认值、请求参数和 API →

配置优先级是 KV 已保存的配置 > 环境变量 > 内置默认值。因此修改环境变量后,KV 里保存过的同名值仍会覆盖它。通过面板修改并保存,或按完整变量表说明清理对应 KV 字段。环境变量更改后需要重新部署。

协议与订阅

功能 当前支持
代理入站 VLESS WebSocket、Trojan WebSocket、VLESS XHTTP。
XHTTP HTTP/2,使用 stream-one;不要改成 packet-up、stream-up,auto 也不作为本版兼容保证。
出站 直连、ProxyIP 回退、SOCKS5、HTTP、HTTPS。
DNS VLESS 的 UDP DNS 转发;不提供通用 UDP、游戏 UDP 或 QUIC 隧道。
订阅格式 Base64 / V2Ray、Clash、Stash、sing-box、Surge、Loon、Quantumult X,按客户端适配。
家宽链式 开启 jk 后使用面板的“CLASH 家宽”订阅;依赖外部节点,速度和可用性会变化。

sing-box 使用 1.12 及以上版本的配置格式。不同客户端能用的协议不同,优先用面板提供的对应入口。精简内核不提供 Shadowsocks 入站。

客户端 协议怎么开
Surge 开启 et=yes。当前 Surge 订阅只输出 Trojan,默认仅开 VLESS 时不会生成代理节点。
Clash / Mihomo、sing-box、Loon、Quantumult X 使用 VLESS 时保留 ev=yes。这些格式会把 XHTTP 来源转换成 WS,只开 ex、关闭 ev 会使生成的 VLESS 节点不可用。
支持 XHTTP 的客户端 开启 ex=yes,通过 Base64 / VLESS 分享链接导入,保持 HTTP/2、stream-one。

优选只改变客户端连接的入口地址,节点的 Host / SNI 仍使用你的 Worker 域名。第三方 ProxyIP、在线优选源、订阅转换服务和家宽节点的可用性由各自提供方决定。

优选地址怎么填

优选域名、优选 IP、仓库优选默认开启,IPv4 / IPv6 与三网筛选也默认开启。有手填列表时优先使用手填内容。

104.16.1.1:443#手填IPv4
[2606:4700::1111]:8443#手填IPv6
edge.example.com:443#手填域名

每行一个,也支持英文逗号分隔。端口会保留到订阅;IPv6 带端口时必须加方括号。上述地址只用于说明格式,不代表从你的位置连接一定可用。

在线列表填到 yxURL,并开启“仓库优选”。可以获取在线列表、筛选、测试,然后把勾选结果覆盖或追加保存。

检测由面板服务器发起,使用你的 Worker 域名作为 Host / SNI。显示的是面板服务器视角的延迟,实际体验以客户端测试为准。Vercel 的 IPv6 在线检测可能受平台出站限制,不代表 IPv6 节点一定不可用。

手填优选列表上限 262144 字符,配置请求正文上限 1 MiB。更大的列表改用在线 URL。

自定义路径登录

设置 d=/Admin/Panel 后,在公共面板的第二项填 /Admin/Panel 或 Admin/Panel 即可。支持多级路径、中文与前后斜杠,大小写必须一致。

登录成功后面板会读取真正的代理 UUID,并用 UUID 生成稳定入口。因此更改 d 后,原来已复制的 UUID 订阅仍可用。d 是管理入口,tp 用于 Trojan 密码与 XHTTP 兼容路径,两者用途不同。UUID 和自定义路径接口可以同时使用。

旧内核若不支持自定义路径登录,可以先用 UUID 进入,再更新 _worker.js。

Free CPU 保护

配套版本 2026.10.17.2 新增,默认关闭。可在面板开启并保存,或设置 Worker 变量 freeCpu=yes / FREE_CPU=yes;KV 中的设置优先。

开启后,单条连接上下载共用 384 KiB / 96 个数据块的预算。超过任一项就主动断开,客户端需要重新连接。新连接重新计算,重试出站不会重置当前预算。开关修改对新连接生效。

这是流量和处理次数预算,不能保证免费账号 CPU 零超限。正在进行的下载、视频和长连接可能中断,也不保证自动续传。旧内核缺少该功能时面板会提示升级。

从旧完整版升级

  1. 备份原有 Worker 代码,记下原 u、KV 绑定、域名和兼容日期。
  2. 上传本版 _worker.js 或 Pages.zip,保留原 UUID 和原 KV 绑定,兼容日期设为 2026-01-20,重新部署。
  3. 打开独立面板,用原域名和 UUID 登录,确认保存的配置仍在。
  4. 重新复制面板生成的订阅到客户端。 旧 https://Worker域名/UUID/sub 或 Worker /sub 地址不再生成订阅。
  5. 检查协议和客户端兼容性;本版 XHTTP 使用 stream-one,不支持的旧协议需在面板重新选择。

上传内核不会主动清空 KV。切换前保留旧代码,可以按原样重新上传回退;回退到完整版时也换回该版本的订阅入口。

面板与核心同版时不显示更新提示。不一致或旧内核没有版本标记时,面板会显示双方版本和下载入口。

常见问题

现象 先检查
打开 Worker 只有 hello 正常。请从独立面板登录。
面板无法接入 / 鉴权失败 域名是否可公网访问、u 是否已部署、UUID 是否一致;自定义路径检查大小写。Cloudflare Access 或验证码挑战会阻断 API。
能生成订阅,但保存失败 KV 是否绑定为 C 或 c,是否绑定到生产环境,绑定后是否重新部署。
改环境变量不生效 先重新部署,再检查 KV 里是否已有同名配置覆盖它。
Worker 的旧订阅地址失效 从独立面板重新复制订阅。
客户端订阅拿到 hello / HTML 检查是否用了 Worker 首页,或面板被 Vercel 登录保护拦住。
XHTTP 不通 开启 ex,使用支持该协议的客户端、HTTP/2 和 stream-one。
下载一会儿就断 检查 Free CPU 保护;开启后达到预算会主动断开。
Pages 上传失败 使用发行里的 Pages.zip,别上传整个源码包;解压检查 _worker.js 是否在根目录。

版本与发行

  • 当前内核 / 配套面板版本:2026.10.17.2。
  • 本版完整发行说明 · 历次发行。
  • 本次补齐文档与发行入口,代理核心代码保持该版本,默认分支切换不会自动修改已经部署的 Worker。

维护者在 core-only 更新后,可运行以下命令校验和打包:

python3 scripts/package-release.py --output dist --tag v2026.10.17.2

脚本会检查内核版本、仓库 pages.zip 与 _worker.js 一致,再生成 Pages.zip、_worker.js、SHA256SUMS.txt。推送匹配版本的 v20* 标签后,由本分支工作流创建发行;每个版本的说明放在 docs/releases/版本号.md。不要对旧版 main 打新内核标签。

来源与交流

沿用项目来源说明:基于 zizifn/edgetunnel 修改,ProxyIP 部分参考 cmliu,反代 IP 来源包括 qwer-search,在线优选接口来源包括 白嫖哥。独立面板及其第三方规则的许可见 cfnew-panel。

博客 · YouTube · Telegram

本项目供学习与网络技术研究,请遵守当地法律及所用平台的服务条款。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages