🚀 Edgetunnel 2.0 全新版本:就是这么简单,就是这么方便
本文说明 本文基于 CMLiussss 原版教程《🚀 Edgetunnel2.0 全新版本,🎯 就是这么简单!✨ 就是这么方便!》(原文:https://eo.blog.cmliussss.com/p/edt2/)重新编辑,并按 2026 年最新 Cloudflare 控制台与平台策略(Pages 进入维护状态、Workers 静态资源成为推荐路径、控制台导航更名)更新了操作路径与术语。 文中所有命令行、变量名、界面元素仍以原始教程与 edgetunnel 项目文档(https://github.com/cmliu/edgetunnel)为准;Cloudflare 侧变化部分单独标注「2026 变化」。
一、Edgetunnel 2.0 是什么
Edgetunnel 是一个运行在 Cloudflare Workers / Pages 上的开源代理方案,通过 VLESS / Trojan 协议把流量走 Cloudflare 全球边缘网络。
2.0 是一次彻底重写:从一个"改代码、改环境变量、反复重新部署"的脚本,变成了带 WebUI 管理面板的可运营服务。部署一次,之后改配置只需在网页上点「保存」,不用再动代码。
- 演示面板:Edgetunnel2.0 WebUI(
/admin) - 项目地址:https://github.com/cmliu/edgetunnel
二、2.0 带来了哪些改进
| 能力 | 说明 |
|---|---|
| 全新传输架构 | 提升协议兼容性与连接稳定性 |
| 配置流程简化 | 新增 WebUI,改配置不再需要改变量 + 重新部署,点保存即生效 |
| 多协议支持 | 一次部署,在线切换 VLESS / Trojan |
| 内置三网优选 IP | 按订阅时的网络自动分配对应运营商优选 IP,数量可自定 |
| 自定义优选 · 在线优选 | 网页上直接跑测速,可自选落地国家,手机浏览器也能用(感谢 白嫖哥 提供的服务支持) |
| 自定义优选 · 优选 API | 对接第三方优选 API,实现自动化实时优选 |
| 反代能力扩展 | 除 ProxyIP 外,支持 SOCKS5 / HTTP 出口,开全局代理即可做链式代理(感谢 AK、OTC 大佬提供的 SOCKS5/HTTP 服务) |
| Telegram Bot 通知 | 登录、订阅、访问等事件实时推送 |
| 请求数统计 | 填入 CF Account ID / API Token,实时查看当天 Workers/Pages 请求用量 |
| 日志中心 | 查看所有可疑登录与订阅操作 |
新功能远不止这些,其余自行探索。
三、部署前准备
- Cloudflare 账号(免费即可)
- 一个可托管到 Cloudflare 的域名(可选但强烈建议)
- 没有域名可先用免费 CNAME 域名服务商注册
- 两个压缩包
direct-upload-demo.zip:Pages 演示项目(仅用于初始化)edgetunnel-main.zip:Edgetunnel 最新版本项目包
- 一个密码管理器:
ADMIN面板密码请用高强度随机串
⚠️ 免费版 Workers 的日常请求额度为 100,000 次/天(UTC 0 点重置),超额会返回 Error 1027。个人自用通常够,重度使用看第十节。
四、三种部署方式与选型建议(含 2026 变化)
Edgetunnel 官方支持三种部署方式:
| 方式 | 门槛 | 适合人群 | 说明 |
|---|---|---|---|
| Workers | 低 | 想最快跑起来 | 直接把 _worker.js 粘贴进 Workers 编辑器即可 |
| Pages · GitHub 集成 | 中 | 想自动跟随上游更新 | 需 Fork 仓库并连接 Git |
| Pages · 上传部署 | 最低 | 小白 / 无 Git 基础 | 本教程主线,纯网页上传压缩包,零命令行 |
🔄 2026 变化:Pages 与 Workers 的定位已改变
自 Workers 支持 Static Assets(静态资源) 之后,Cloudflare 官方口径已经明确:
- Pages 进入维护状态,不再作为新项目的推荐路径;存量项目继续受支持,没有强制关停期限。
- 官方文档与迁移指南建议 新项目一律从 Workers 开始(
assets配置 +wrangler deploy)。 - Workers Builds 免费版含 3,000 构建分钟/月(并发 1),付费版 6,000 分钟(并发 6);Pages 仍保留 500 次构建/月。
这对本教程意味着什么?
- 你现在仍然可以用 Pages 上传方式部署 Edgetunnel 2.0,流程完全有效,本文按此展开(因为它是全程网页操作、无需任何工具链的最省事路径)。
- 如果你是从零开始、并且不介意用一点命令行,优先选 Workers / Workers 静态资源,这是 Cloudflare 当前的主推方向,后续新特性只会落在 Workers 上。
- 判断口径很简单:纯上传型部署照旧用 Pages;想长期跟随平台演进,用 Workers。
五、Pages 上传部署:六步走
2026 控制台导航提示:Cloudflare 把原来的「Workers 和 Pages」入口收归到左侧 计算和 AI(Compute) 分类下,名称仍为 Workers 和 Pages;KV 入口在 存储和数据库(Storage & Databases)> Workers KV。若你的控制台语言为英文,对应为
Compute (Workers) > Workers & Pages、Storage & Databases > Workers KV。
1️⃣ 创建 Pages 应用程序
- 下载
direct-upload-demo.zip(Cloudflare Pages 演示项目压缩包)备用。 - 登录 Cloudflare,点击 计算和 AI > Workers 和 Pages > 创建应用程序; 或切到 Pages 选项卡,点击 拖放文件 > 开始使用。
- 项目名称填任意值,但必须是全新的名字,避免出现
1101错误,推荐末尾补数字,例如edt123123123。 - 点击 从计算机中选择 > 上传压缩文件,选择第一步的压缩包,等待上传完成。
- 点击 部署站点,等待部署完成。
- 提示成功即代表初始化部署完成,点击 继续处理项目,进入变量与 KV 绑定设置。
2️⃣ 设置管理员变量
- 进入项目设置页,点击 设置(Settings) 选项卡 → 变量和机密(Variables and Secrets)。
- 点击 + 添加,类型选 文本。
- 变量名称填
ADMIN,变量值为你的 WebUI 管理员密码(建议高强度复杂密码,避免被暴力破解)。 - 保存。忘记密码可随时回此页面查看。
💡 变量名必须严格大写
ADMIN,一个字符都不能差。
3️⃣ 绑定 KV 命名空间
- 点击 存储和数据库 > Workers KV > + Create Instance(创建命名空间)。
- 命名空间名称自定义,建议命名为
EDT2以便区分。 - 返回项目设置页,点击 设置 > 绑定 > + 添加 > KV 命名空间。
- 变量名称必须填大写
KV,命名空间选择刚创建的EDT2,点击保存。 - 返回项目设置页,确认绑定成功。
⚠️ 两个易错点:命名空间名(
EDT2)与绑定变量名(KV)是两回事,绑定变量名必须是KV。
4️⃣ 重试部署,让变量生效
- 下载
edgetunnel-main.zip(最新版本项目包)备用。 - 点击右上角 创建部署(Create deployment),上传
edgetunnel-main.zip。 - 部署环境选 生产(Production),点击 从计算机中选择 > 上传压缩文件,等待上传完成。
- 点击 保存并部署,等待完成。
❗ 注意:如需修改
ADMIN密码,改完变量后必须重新上传部署一次,否则变量不会生效。
5️⃣ 绑定自定义域名
可免费注册 CNAME 域名的服务商(任选其一):
| 服务商 | 地址 | 备注 |
|---|---|---|
| DNSHE | https://www.dnshe.com/ | 部分域名可托管 CF |
| DigitalPlat | https://domain.digitalplat.org/ | 部分域名可托管 CF |
| ClouDNS | https://www.cloudns.net/index/lang/chs | 原文示例使用 |
| dynv6 | https://dynv6.com/ | — |
| ZoneABC | https://zoneabc.net/ | — |
| Dynu | https://www.dynu.com/ | — |
| Nodeloc | https://domain.nodeloc.com/ | 免费短域名 loc.cc,门槛最低 |
操作步骤:
- 进入 Pages 应用程序,点击 自定义域(Custom domains) 选项卡 → 设置自定义域。
- ⚠️ 关键规则:若你的域名是
fxxk.cloudns.org,必须再加一级,例如edt2.fxxk.cloudns.org。 - 选择 开始 CNAME 设置,记录名称
edt2与 CNAME 记录值edt123123123.pages.dev。 - 前往域名服务商添加 CNAME 记录。
- 回到 自定义域 选项卡,点击 稍后完成 DNS 设置,等待验证。
- 通常 10~30 分钟验证成功,即可看到域名绑定成功提示。
6️⃣ 登录 EDT2 管理页面
- 访问
/admin,例如https://edt2.fxxk.cloudns.org/admin。 - 输入
ADMIN密码,点击 登录。 - 登录成功即进入 WebUI。小白用户无需折腾,直接用默认订阅即可。
⚠️ 正常现象:部署成功后访问主页若提示
Welcome to nginx!,这是默认伪装页,说明部署成功——请改访问/admin。
六、自助优选订阅(三种方式)
Edgetunnel 2.0 自带三种优选订阅生成方式,按折腾程度递增。
🎲 方式一:随机优选(简单)
内置三网优选 IP,按订阅时的网络自动分配对应运营商 IP,要多少有多少。
- 随机优选数量:填多少给多少,但不建议过多,过量会触发「域名真链接响应 -1」。
- 指定优选端口:
- 「随机端口」可抑制真链接响应 -1;
- 也可固定为
443、2053、2083、2087、2096、8443。
- ⚠️ 更新订阅时不可走代理,否则无法识别对应三网,会自动降级为"三网优选订阅"(同时下发全部三网优选 IP,列表变长但失去针对性)。
⚙️ 方式二:自定义优选(折腾)
自由度最高,支持手动添加、在线优选、优选 API 三种接入。
✍️ 子方式 A · 手动添加
格式:IP或域名:端口#备注,每行一条。示例:
104.18.38.47:2053#这是优选IPv4案例
104.18.42.98:2096
172.64.145.158
[2a06:98c1:3101::ac40:919e]:2087#这是优选IPv6案例
[2a06:98c1:3108::6812:2a62]:8443
[2a06:98c1:3108::6812:919e]
www.visa.cn:443#这是优选域名案例
mfa.gov.ua:8443
www.shopify.com
规则:
- IPv6 地址必须用方括号
[]包裹。 - 缺少端口时默认
443。 - 缺少备注时直接显示 IP/域名。
更多优选域名可参考「CloudFlare 优选域名汇总」。
🌐 子方式 B · 在线优选
- 点击 在线优选 按钮。 ⚠️ 必须关闭代理、使用国内网络直连才能测出有意义的结果。
- IP 库:默认「CF 官方列表」,推荐改用「CM 整理列表」(涵盖大部分三网优选 IP 段,不定期更新)。
- 端口:默认
443,可改。 - 测试线程数:默认
8;电脑浏览器建议 16+,手机浏览器 8~16。 - 点击 开始优选,等待结果。
- 点击目标国家标签 → 追加保存 → 关闭返回上级菜单。
- 点击 保存 保存自定义优选结果。
为什么必须在国内直连环境跑:
- 非 CN 环境下不允许使用在线优选——代理环境下测出来的只是代理所属地区的优选,延迟也是代理延迟,毫无意义。
- 身处国外即使直连也没意义:只有 CN 环境才需要优选,因为国内没有 Cloudflare 数据中心,才能借此直连多国数据中心。
🔌 子方式 C · 优选 API
三种数据源接法一致:填链接 → 点 可用性验证 → 通过后选择「追加结果」(一次性)或「追加 API」(实时)→ 保存。
- 普通文本 API
例如
https://cf.090227.xyz/ct。返回值符合IP域名:端口#备注(每行一条)即视为可用。 - XIU2/CloudflareSpeedTest 测速 CSV
例如
https://github.com/cmliu/WorkerVless2sub/raw/refs/heads/main/CloudflareSpeedTest.csv,需填写对应的默认端口。 - iptest 项目测速 CSV
例如
https://raw.githubusercontent.com/cmliu/WorkerVless2sub/refs/heads/main/addressescsv.csv。
一次性导入选「追加结果」;想随数据源自动更新选「追加 API」。
🛋️ 方式三:优选订阅生成器(偷懒)
"站上巨人的肩膀"——直接用大佬的优选结果。
- 加入 CMLiussss 技术交流群。
- 在群组置顶信息里找到「优选订阅」按钮。
- 复制优选订阅器的
SUB变量值,填入优选订阅生成器,点击保存。
七、VLESS / Trojan 协议在线切换
无需重新部署:
- 返回 Edgetunnel 2.0 管理页面。
- 进入 ⚙️ 详细配置信息 > 节点协议。
- 选择需要的协议(VLESS / Trojan)。
- 点击 保存,然后在客户端更新订阅即可生效。
八、Telegram Bot 消息通知
1. 创建 Bot
- 添加 @BotFather,发送
/newbot创建 Bot。 - 复制 Bot Token 备用(形如
8598918055:AAH50RfGC9tGTRoNKu9GaNSWcEfawUk5eh0)。
2. 启用 Bot 并获取 Chat ID
- 打开你的 Bot 链接(如
t.me/cm_edt2_bot),点击 开始 / start。 - 加入 CMLiussss 技术交流群,发送
/id@nmnmfunbot获取你的 Chat ID,复制备用(形如6946996027)。
3. 面板内配置
- 返回管理页面 → 🔔 消息通知设置 > Telegram Bot 通知 > ⚙️ 参数配置。
- 填入 Bot Token 与 Chat ID,点击 可用性验证。
- 提示
✅ Bot Token 和 Chat ID 均有效即配置无误,点击 保存。 - 同时机器人会推送
✅ Telegram 通知配置已验证成功!。 - 勾选 Telegram Bot 通知 > 启用 > 保存。
此后登录管理页面、获取订阅等操作都会同步推送到 Telegram。
九、Workers / Pages 请求数统计
1. 获取 Account ID
登录 Cloudflare → 计算和 AI > Workers 和 Pages → 复制右下角 Account ID(形如 9b03a30c471a952197b8b8bb6f113456)。
2. 创建 API Token
- 点击左侧 管理账户 > 账户 API 令牌 > 创建令牌。
- 模板选择 阅读分析数据和日志(Read analytics and logs),点击 使用模板。
- 区域资源选 账户的所有区域,选择你的 CF 账户邮箱,点击 继续以显示摘要。
- 点击 创建令牌,复制 API 令牌 备用(形如
UQjdE9xzvK4oq32IaYRX7Z1-123YQvl3qLNwLQxE)。
🔐 Token 只在创建时完整显示一次,务必当场保存。
3. 面板内配置
- 返回管理页面 → 🔔 消息通知设置 > Cloudflare Workers/Pages 可用请求数统计 > ⚙️ 参数配置。
- 填写 Account ID 与 API Token,点击 可用性验证。
- 提示
✅ 验证成功!并显示今日请求配额,即配置无误,点击 保存。 - 保存后页面自动刷新,即可看到 Workers/Pages 可用请求数统计。
十、彩蛋:10 万请求不够用?单面板管多节点
思路:多用几个 Cloudflare 账号部署多个 EDT2.0,其中一个当面板,其余当节点,全部挂在同一面板下管理。
好处:不仅是翻倍额度,还能有效降低 SNI 域名阻断(即批量测试出现 -1 的情况)。
- 2 个账号 = 20 万请求数
- 3 个账号 = 30 万请求数
- 不够就自行续杯
域名规划示例(同一主域名绑定多个自定义域):
edt2.fxxk.cloudns.org → 第 1 个 EDT2.0(面板)
edt2-2.fxxk.cloudns.org → 第 2 个 EDT2.0(节点)
edt2-3.fxxk.cloudns.org → 第 3 个 EDT2.0(节点)
部署 EDT2.0 节点并绑定到 EDT2.0 面板
- 在 面板 的管理页面 → ⚙️ 详细配置信息 → 复制 UUID 备用
(形如
8fc6a982-9862-4362-846f-a7039c5e2e47)。 - 换号,用第二个 Cloudflare 账号部署第二个 Edgetunnel 2.0 节点,仍需
edgetunnel-main.zip。 - 进入项目 设置 > 变量和机密,点击 + 添加,类型 文本:
- 变量名称:
UUID - 变量值:上一步复制的 UUID
- 点击保存
- 变量名称:
- 点击右上角 创建部署,重新上传
edgetunnel-main.zip;环境选 生产 → 保存并部署。 - 进入 Pages 应用程序 → 自定义域 → 设置自定义域,添加一个必须与面板域名不同的域名,例如
edt2-2.fxxk.cloudns.org。 - 按第五步第 5 节的方法添加 CNAME 记录,等待域名验证成功。
- 回到 面板 的 ⚙️ 详细配置信息,修改 HOST 参数,填入第二个节点的 HOST(
edt2-2.fxxk.cloudns.org),点击 保存。 - 至此订阅会自动带上新节点,更新订阅即可看到。
十一、常见问题排查
| 现象 | 原因 | 处理 |
|---|---|---|
| 部署报 Error 1101 | 项目名称与已有项目重名 | 换一个全新项目名,末尾补数字 |
访问主页显示 Welcome to nginx! |
默认伪装页,属正常 | 改访问 /admin |
| 订阅里出现大量 -1 | 优选 IP 数量过多 / 触发域名真链接响应 | 减少随机优选数量,或指定固定端口(443/2053/2083/2087/2096/8443) |
改了 ADMIN 密码不生效 |
变量修改后未重新部署 | 重新上传 edgetunnel-main.zip 并部署 |
| 订阅变成"三网全下发" | 更新订阅时走了代理 | 关闭代理后重新更新订阅 |
| 在线优选无结果 / 结果很差 | 在代理环境或非 CN 网络下测速 | 关闭代理、国内网络直连再测 |
| 请求超额 Error 1027 | 免费版 100,000 请求/天用尽 | 等 UTC 0 点重置,或按第十节多账号分流 |
| KV 绑定后功能异常 | 绑定变量名不是 KV |
检查绑定变量名是否严格为大写 KV |
附录:变量与参数速查表
| 名称 | 位置 | 必须值 | 说明 |
|---|---|---|---|
ADMIN |
设置 > 变量和机密 | 大写 ADMIN |
WebUI 管理员登录密码 |
KV |
设置 > 绑定 > KV 命名空间 | 大写 KV |
绑定变量名,命名空间名可自定义(建议 EDT2) |
UUID |
设置 > 变量和机密 | 大写 UUID |
仅在「多节点挂面板」时使用,值为面板的 UUID |
HOST |
面板 > 详细配置信息 | — | 多节点时填节点自己的域名 |
SUB |
优选订阅生成器 | — | 从交流群置顶获取的订阅器变量值 |
参考来源
- 原文教程:https://eo.blog.cmliussss.com/p/edt2/(CMLiussss)
- 项目文档:https://github.com/cmliu/edgetunnel
- Cloudflare 关于 Pages / Workers 定位的官方说明与迁移指南(Pages 进入维护、新项目推荐 Workers;Workers Builds 免费版 3,000 构建分钟/月)
本文仅为技术教程整理,请遵守当地法律法规与服务商条款。部署代理服务可能违反部分平台使用协议,风险自负。
最后更新:2026-11-03