Hotdry.

Article

cfnew:Cloudflare 边缘代理配置自动化与订阅转换内部化实践

基于 Cloudflare Workers/Pages 的代理配置自动化工具 cfnew,通过 KV 存储实现图形化管理,内置订阅转换与传输优化,支持多协议与 API 动态管理。

2026-05-23web

边缘代理的部署与维护长期面临配置碎片化、协议适配繁琐、订阅服务依赖外部等痛点。cfnew 作为基于 Cloudflare Workers/Pages 的开源方案,通过将配置管理、订阅转换、节点优选整合至边缘节点,提供了一套可图形化操作的自动化工作流。

架构设计:KV 驱动的配置管理范式

cfnew 的核心架构围绕 Cloudflare KV 存储构建,实现了配置与代码的分离。传统 Workers 方案每次修改配置都需重新部署,而 cfnew 将配置持久化至 KV 命名空间(绑定环境变量 C),通过图形化管理面板(访问路径 /{UUID})实现实时生效的配置变更。这种设计带来的直接收益是:配置迭代无需触达部署流水线,降低了操作门槛与出错概率。

配置优先级遵循 KV 配置 > 环境变量 > 默认值的三级覆盖机制。对于多节点场景,cfnew 支持通过 RESTful API 动态管理优选 IP,包括批量添加、查询列表、清空全部等操作,无需修改代码即可完成节点池的维护。

订阅转换内部化:摆脱外部依赖

v2.9.8 版本的关键改进是将订阅转换逻辑完全内化至 Worker。此前方案普遍依赖外部 sub-converter 服务,存在可用性风险与隐私泄露隐患。cfnew 现在直接生成 Clash、Sing-box、Surge、Loon、Quantumult X 等客户端的配置文件,规则集分别对接 Loyalsoldier、MetaCubeX SRS、ACL4SSR/blackmatrix7 等社区维护的远端规则。

这一改动不仅消除了外部依赖,还实现了更精细的控制:各策略分组包含「策略组 + 全部节点」双选项,可直接切换具体节点;移除了「自动选择」url-test 模式,避免周期性测速造成的请求浪费。对于 IPv6 节点,修复了 Clash 配置中 server 字段被错误解析为数组的问题。

传输层优化:GrainTCP 思路的借鉴

cfnew 在 WebSocket/TCP 转发层参考 GrainTCP 的设计思路进行了优化:上行方向采用小包队列合并策略,减少系统调用次数;下行方向实施小包聚合,降低带宽碎片;大包则保持直发以避免延迟累积。同时针对 VLESS 协议解析的热路径进行了优化,提升高并发场景下的处理效率。

SOCKS5 降级机制采用 3.5 秒超时策略:当 Cloudflare 直连在 3.5 秒内无数据响应时,自动切换至 SOCKS5 代理,最终回退至 fallback 地址。这一参数可根据实际网络环境调整,平衡连接建立速度与可用性。

动态配置覆盖:Path 参数的灵活应用

v2.9.4 引入的 path 参数机制允许在 VLESS/Trojan 分享链接的 path 字段中追加查询参数,为单个节点指定连接级配置,无需为不同需求单独部署 Worker。支持的参数包括:

  • p:覆盖 ProxyIP(支持带端口格式)
  • wk:覆盖 Worker 地区(如 wk=jpwk=sg
  • rm:关闭地区智能匹配(rm=no
  • s:覆盖 SOCKS5 代理地址

参数优先级遵循 path 参数 > KV / 环境变量 > 自动检测的层级。需要注意的是 pwk 互斥,设置 ProxyIP 后地区匹配逻辑将被跳过。

部署要点与兼容性管理

cfnew 要求将 Cloudflare 兼容性日期设置为 2026-01-20,以支持最新的运行时特性。部署方式支持 Workers 与 Pages 两种形态,前者适合需要自定义路由逻辑的场景,后者则更贴近静态站点托管的简化流程。

对于生产环境,建议开启 KV 配置缓存(5 小时内存缓存窗口),可减少 99% 以上的 KV 读取量。同时启用 API 管理功能后,可通过自动化脚本对接节点优选工具,实现订阅每 15 分钟自动优选一次的运维节奏。

总结

cfnew 通过 KV 存储、订阅转换内部化、传输层优化与 path 参数动态覆盖等设计,将边缘代理的配置管理从代码级操作下沉至图形化界面与 API 调用,显著降低了维护成本。对于需要多协议支持、多客户端适配、动态节点管理的场景,该工具提供了一套可直接落地的工程化方案。


参考资料

web

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com