
用 DMIT 这类付费 VPS 搭代理节点,稳定性好但有成本。很多人不知道,Cloudflare Workers 有每天 10 万次的免费请求额度,可以用来跑一个完全零成本的 VLESS 节点——作为备用或平替方案,值得每人都部署一个。
本文用的是开源项目 edgetunnel,部署过程 10 分钟以内完成。
原理简介
Cloudflare Workers 是运行在 CF 边缘节点的 JavaScript 函数。edgetunnel 把 VLESS 协议实现在 Worker 里,流量经过 CF 的 CDN 网络中转,绕开直接 IP 识别。
优点:
- 完全免费(免费计划每天 10 万次请求,足够个人使用)
- 无需服务器,不存在 IP 被封问题
- CF 的 IP 段被封概率极低
局限:
- 速度受 CF 网络质量影响,高峰期不如专线 VPS
- 不适合大流量下载,适合日常浏览和轻量使用
- 部分地区对 CF IP 有 QoS
前置准备
- 一个 Cloudflare 账号(免费注册)
- 一个域名(可选,但推荐,CF 免费提供 workers.dev 子域名也行)
部署步骤
第一步:Fork 项目到你的 GitHub
打开 https://github.com/cmliu/edgetunnel,点右上角 Fork,复制到自己的账号。
第二步:在 Cloudflare 创建 Worker
- 登录 dash.cloudflare.com
- 左侧菜单点 Workers & Pages
- 点 Create → Create Worker
- 给 Worker 起个名字(比如
my-proxy),点 Deploy
第三步:粘贴 Worker 代码
- 部署完成后点 Edit code
- 清空编辑器里的默认代码
- 打开你 Fork 的 GitHub 仓库,找到
_worker.js文件,复制全部内容 - 粘贴到 Worker 编辑器里
- 点右上角 Deploy
第四步:配置 UUID(你的连接密码)
UUID 是你节点的唯一标识。生成一个:
# macOS / Linux
uuidgen | tr '[:upper:]' '[:lower:]'
# 输出类似:
# a1b2c3d4-e5f6-7890-abcd-ef1234567890
在 Worker 代码顶部找到 userID 变量,填入你生成的 UUID:
let userID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';
或者通过环境变量设置(更安全):
- Worker 页面点 Settings → Variables
- 添加变量:
UUID= 你的 UUID - 点 Save and Deploy
代码里对应改为读取环境变量:
let userID = env.UUID || 'default-uuid';
第五步:绑定自定义域名(可选但推荐)
Workers.dev 域名在部分地区访问不稳定,绑定自己的域名更好:
- 前提:域名已托管到 Cloudflare(NS 指向 CF)
- Worker 页面点 Settings → Domains & Routes
- 点 Add → Custom domain
- 填入你的域名,比如
proxy.yourdomain.com - 保存,CF 自动配置 SSL
获取订阅链接
Worker 部署完成后,访问:
https://你的Worker域名/你的UUID
比如:
https://my-proxy.workers.dev/a1b2c3d4-e5f6-7890-abcd-ef1234567890
页面会返回一个 Base64 编码的订阅内容,包含多种协议格式(VLESS、Trojan、VMess)的节点信息。
订阅链接格式
https://你的域名/你的UUID?sub # 订阅链接(返回所有节点)
https://你的域名/你的UUID?clash # Clash/mihomo 格式
https://你的域名/你的UUID?singbox # sing-box 格式
在 mihomo 中使用
方式一:订阅导入(推荐)
直接把 ?clash 格式的 URL 作为订阅链接,粘贴到 Clash/mihomo 的订阅管理里。
方式二:手动配置
proxies:
- name: "CF-Workers-VLESS"
type: vless
server: 你的Worker域名
port: 443
uuid: 你的UUID
network: ws
tls: true
ws-opts:
path: "/"
headers:
Host: 你的Worker域名
client-fingerprint: chrome
优化:选择更快的 CF 优选 IP
edgetunnel 默认走 CF 分配的节点,速度因地区而异。可以通过 CF 优选 IP 工具测速选择延迟最低的节点。
把 Worker 域名里的 IP 替换成延迟最低的 CF IP,速度有时能提升 50% 以上。
# 下载工具
wget https://github.com/XIU2/CloudflareSpeedTest/releases/latest/download/cfst_linux_amd64.tar.gz
tar -xzf cfst_linux_amd64.tar.gz
./CloudflareST
# 测速完成后,结果保存在 result.csv
# 取延迟最低的 IP 替换到节点配置里
和 DMIT VPS 方案对比
| 对比项 | CF Workers | DMIT VPS |
|---|---|---|
| 成本 | 免费 | $20+/月 |
| 速度(日常) | 中等 | 快(CN2 GIA) |
| 稳定性 | 较好(CF 托管) | 好 |
| 大流量 | 不适合 | 适合 |
| 被封风险 | 极低 | 有一定概率 |
| 适用场景 | 备用/平替 | 主力节点 |
推荐策略: DMIT 作为主力,CF Workers 作为备用。两个方案互补,主节点被封期间 CF Workers 顶上,完全无感知切换。
配合 mihomo 的 fallback 机制:
proxy-groups:
- name: "主力线路"
type: fallback
url: http://www.gstatic.com/generate_204
interval: 30
proxies:
- DMIT-HK-Reality
- CF-Workers-VLESS # 备用,主力挂了自动切
常见问题
Worker 部署后访问报错 522
Worker 域名没有正常解析。检查:
- 域名是否已绑定到 Worker
- Worker 是否正常 Deploy(状态显示 Active)
速度很慢
- 尝试优选 IP(见上方 CloudflareST 方法)
- 检查当前时段,高峰期 CF 节点压力大
- 换一个 CF 数据中心城市(可以在优选结果里选不同地区的 IP)
节点连接但无法访问某些网站
检查 Worker 代码里的 proxyIP 配置,部分版本需要填一个出口 IP 才能正常回源。
需要更稳定的主力方案,见:
📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格