本文更新时间:2026 年 7 月 28 日,适用于 EdgeTunnel 2.1。
EdgeTunnel 涉及网络隧道与代理协议,请仅用于学习研究、个人安全测试以及经过授权的网络环境,并遵守所在地法律法规、Cloudflare 服务条款和项目许可证。不要把订阅地址、二维码、管理密码公开分享。

很多 EdgeTunnel 教程一上来就讲 UUID、ProxyIP、优选 IP,新手往往还没开始部署就被一堆名词劝退。其实先抓住一句话就够了:

EdgeTunnel 是部署在 Cloudflare Workers 或 Pages 上的“服务端程序”,部署完成后通过网页后台生成订阅,再交给电脑或手机上的客户端使用。

它本身不是 Windows、Android 或 iPhone 上的客户端,也不需要你先购买一台传统 VPS。对于第一次接触这类项目的人,最简单的路线是:

下载项目压缩包 → 上传到 Cloudflare Pages → 设置管理密码 → 绑定 KV → 重新部署 → 打开 /admin → 复制订阅。

EdgeTunnel 工作方式示意图

图 1:客户端连接到 Cloudflare 边缘网络,EdgeTunnel 负责处理连接;Workers KV 用来保存后台配置和操作日志。


一、EdgeTunnel 2.1 是什么?

EdgeTunnel 是一个运行在 Cloudflare Workers/Pages 上的开源边缘隧道项目,目前仓库主版本为 2.1。它提供了一个可视化管理后台,不需要每次改配置都去手工修改代码。

它主要有这些特点:

  • 支持 VLESS、Trojan、Shadowsocks 等协议;
  • 自带网页管理后台,可以查看配置、生成节点和订阅;
  • 支持自适应订阅、Base64 订阅、Clash 订阅和 Sing-box 订阅;
  • 可以部署到 Workers,也可以部署到 Pages;
  • 支持自定义域名、ProxyIP、SOCKS5/HTTP 链式代理和优选订阅;
  • Windows、Android、iOS、macOS 上都有可配套使用的客户端。

这里最容易混淆的是“服务端”和“客户端”:

部分 作用 常见例子
EdgeTunnel 部署在 Cloudflare 上,生成节点和订阅 Workers、Pages
客户端 安装在电脑或手机上,导入订阅并建立连接 v2rayN、v2rayNG、Hiddify、Clash Verge Rev

所以,只部署 EdgeTunnel 还不够,最终仍需要在设备上安装一个兼容客户端。


二、部署前需要准备什么?

正式开始前,只需要准备下面几样东西:

  1. 一个可以正常登录的 Cloudflare 账号;
  2. EdgeTunnel 项目压缩包;
  3. 一个强度足够的后台密码;
  4. 一个客户端;
  5. 可选:一个已经可以管理 DNS 的自定义域名。

项目下载地址:

后台密码不要使用 123456、生日、手机号等弱口令。建议由密码管理器生成至少 16 位、包含大小写字母、数字和符号的随机密码。

Cloudflare 后台的栏目名称可能会随着版本调整。例如“Workers 和 Pages”“计算和 AI”“Workers & Pages”可能指向同一类入口,找不到完全相同的按钮时,不必慌张,认准 Pages、变量、绑定、KV、自定义域 这些关键词即可。


三、三种部署方式应该怎么选?

EdgeTunnel 目前主要有三种部署方式。

EdgeTunnel 三种部署方式选择图

图 2:第一次部署建议选择 Pages 压缩包上传;熟悉后再考虑 Workers 或 GitHub 自动部署。

部署方式 难度 更新方式 适合谁
Pages 压缩包上传 最低 新版本发布后重新上传 第一次部署的新手
Workers 粘贴脚本 较低 重新复制 _worker.js 想快速试用、方便改代码的人
Pages + GitHub 中等 同步 Fork 后自动重新部署 想长期维护、习惯 GitHub 的人

本文把 Pages 压缩包上传 作为主教程。需要注意:Cloudflare 官方文档说明,Direct Upload 项目创建后不能直接切换成 Git 集成项目;以后想改为 GitHub 自动部署,需要另建一个 Pages 项目。


四、推荐方案:使用 Cloudflare Pages 上传部署

第 1 步:下载项目压缩包

打开 EdgeTunnel 仓库,点击页面右上方的 Code,再点击 Download ZIP

下载后通常会得到:

edgetunnel-main.zip

Cloudflare Pages 的拖放上传支持 ZIP 文件,也支持包含 _worker.js 的项目。为避免目录层级错误,上传前可以先打开压缩包确认:_worker.js 应当位于项目根目录附近,而不是被套在多层无关文件夹中。

第 2 步:创建 Pages 项目

登录 Cloudflare 后,进入:

Workers 和 Pages
→ 创建应用程序
→ Pages
→ 拖放文件 / Direct Upload

然后依次完成:

  1. 输入一个全新的项目名称,例如 edt-20260728
  2. 选择刚才下载的 edgetunnel-main.zip
  3. 点击“部署站点”或“保存并部署”;
  4. 等待首次部署完成。

部署成功后,Cloudflare 会分配一个类似下面的地址:

https://edt-20260728.pages.dev

现在先不要急着配置客户端,因为后台密码和 KV 还没有设置好。

第 3 步:添加 ADMIN 管理密码

进入刚刚创建的 Pages 项目,找到:

设置
→ 变量和机密 / 环境变量
→ 添加变量

新增一个文本变量:

项目 填写内容
变量名 ADMIN
变量值 你自己生成的强密码
环境 生产环境

变量名必须写成大写的 ADMIN。这个值就是以后登录 /admin 管理后台时使用的密码。

ADMIN 不只是登录密码。在没有手工固定 UUID 时,项目还可能根据 ADMINKEY 派生节点身份信息。因此修改密码后,旧订阅或旧节点可能需要重新导入。

第 4 步:创建并绑定 Workers KV

KV 可以理解为 EdgeTunnel 的“小型配置数据库”。后台保存的设置、部分日志和管理数据都需要它。

先在 Cloudflare 左侧找到:

存储和数据库
→ Workers KV
→ 创建实例

命名空间可以填写:

EDT2

创建完成后,回到 EdgeTunnel 的 Pages 项目,进入:

设置
→ 绑定
→ 添加绑定
→ KV 命名空间

填写:

项目 填写内容
变量名称 KV
KV 命名空间 选择刚创建的 EDT2

这里的变量名称必须是大写 KV,不能写成 kvedt 或命名空间本身的名字。

EdgeTunnel Pages 部署流程图

图 3:Pages 部署真正的关键只有两个——添加 ADMIN,以及把 KV 以变量名 KV 绑定到项目。

第 5 步:重新部署,让变量和绑定生效

很多人明明设置了密码和 KV,打开后台却仍然报错,原因就是忘记重新部署。

回到项目的“部署”页面,选择:

创建新部署

重新上传同一个 edgetunnel-main.zip,部署环境选择“生产”,然后保存并部署。

有些 Cloudflare 页面也会提供“重试部署”“重新部署当前版本”等按钮,效果相同。只要确保新的生产部署是在变量和 KV 绑定完成之后生成的即可。

第 6 步:绑定自定义域名(可选但推荐)

不绑定域名也可以先使用 Cloudflare 分配的 pages.dev 地址。不过在部分网络环境中,默认域名可能访问不稳定,此时可以绑定自己的子域名。

进入:

Pages 项目
→ 自定义域
→ 设置自定义域

推荐使用子域名,例如:

edt.example.com

如果域名已经托管在 Cloudflare,系统通常会自动添加记录并签发证书;如果 DNS 在其他平台,按照页面提示添加 CNAME 记录即可。证书与 DNS 生效需要一点时间,显示“待验证”时先检查记录,再耐心等待。

第 7 步:打开管理后台

部署和绑定完成后,在项目地址后面加上 /admin

https://你的项目.pages.dev/admin

或者:

https://edt.example.com/admin

输入刚才设置的 ADMIN 密码即可登录。

如果直接访问主页看到 Welcome to nginx! 或其他普通网页,不一定是部署失败。EdgeTunnel 会使用伪装主页,真正的管理入口是 /admin

EdgeTunnel 2.1 管理后台

图 4:EdgeTunnel 2.1 管理后台。图片来自项目仓库,后台可以生成节点、订阅并调整详细配置。


五、第一次进入后台,哪些设置需要改?

EdgeTunnel 2.1 的后台选项很多,但新手不需要全部研究。第一次进入时,建议点击页面上方的 “我是小白!我想简单点!”,先使用精简配置。

1. HOST

一般保持当前访问域名即可。例如你使用:

edt.example.com

那么 HOST 通常也使用这个域名。不要填写 https://,也不要随意添加路径。

2. UUID

不手工设置时,系统会根据环境变量生成 UUID。新手可以先保持默认。

如果你希望以后修改 ADMIN 密码时尽量保持节点身份稳定,可以设置一个固定的 UUIDv4。UUIDv4 的格式类似:

90cd4a77-141a-43c9-991b-08263cfe9c10

不要照抄示例值,应当使用本地可信工具随机生成自己的 UUID。

3. 节点协议与传输协议

新手建议:

  • 节点协议先保持默认;
  • 传输协议优先使用 WebSocket
  • XHTTP、gRPC、ECH、链式代理等功能等基础连接稳定后再研究。

高级传输方式可能增加请求量、客户端兼容性和排错难度。先把默认配置跑通,比一开始追求“所有高级功能全开”更重要。

4. 优选订阅

初次使用可以保留“随机优选”或默认设置,不要一次生成过多节点。节点越多不代表速度一定越快,反而会增加客户端测试时间和订阅体积。

5. ProxyIP、SOCKS5 和 HTTP 代理

这些都是高级功能,不是部署成功的必要条件。

  • PROXYIP 用于特定访问场景的反代;
  • SOCKS5/HTTP 可以作为额外出口或链式代理;
  • 不要使用来源不明的账号、密码和公共代理;
  • 不要把私人代理凭据填写到陌生的在线检测网站。

对于新手,先保持默认,能正常生成订阅和连接后再调整。


六、如何把订阅导入电脑或手机?

管理后台的“获取节点链接”区域通常会提供多种格式:

  • 节点链接;
  • 自适应订阅;
  • Base64 订阅;
  • Clash 订阅;
  • SingBox 订阅;
  • 二维码。

不知道选哪一个时,可以先尝试 自适应订阅;如果客户端明确区分格式,就选择对应的订阅类型。

EdgeTunnel 客户端使用流程

图 5:服务端部署完成后,真正的日常使用只有“复制订阅—导入客户端—更新—选择节点”四步。

Windows

可以使用:

  • v2rayN:适合 VLESS/Trojan/Base64 订阅;
  • Hiddify:界面相对直观,支持多种订阅;
  • Clash Verge Rev:使用后台提供的 Clash 订阅。

通用步骤:

订阅管理
→ 新增订阅
→ 粘贴后台复制的订阅地址
→ 更新订阅
→ 选择节点
→ 开启系统代理

Android

可以使用:

  • v2rayNG
  • Hiddify;
  • FlClash 等兼容客户端。

通常在“订阅分组”或“从剪贴板导入”中粘贴订阅地址,也可以使用后台二维码导入。

iOS 和 macOS

iOS 常见客户端包括 Shadowrocket、Surge、Stash、Hiddify 等;macOS 可以使用 Hiddify、Clash Verge Rev、FlClash 或 Surge。

不同客户端按钮名称略有区别,但核心步骤完全相同:

  1. 新增订阅;
  2. 粘贴 URL 或扫描二维码;
  3. 更新订阅;
  4. 选择节点;
  5. 开启 VPN 或系统代理。

订阅地址和二维码相当于访问凭据。不要发到群聊、论坛、截图网站或公开仓库中。怀疑泄露时,应立即修改相关配置并重新生成订阅。


七、另外两种部署方式

方案 A:Workers 粘贴脚本

适合想直接看代码或快速试用的人。

  1. 打开 Cloudflare 的 Workers 和 Pages;
  2. 创建一个 Worker;
  3. 打开在线编辑器;
  4. 复制仓库中的 _worker.js 全部内容,替换示例代码;
  5. 保存并部署;
  6. 添加 ADMIN 环境变量;
  7. 创建 KV,并以变量名 KV 绑定;
  8. 再次部署;
  9. 访问 https://你的Worker域名/admin

Workers 方式的优点是代码集中在一个脚本中,缺点是项目更新后需要重新复制最新脚本。

方案 B:Pages + GitHub

适合熟悉 GitHub、希望长期维护的人。

  1. Fork cmliu/edgetunnel 到自己的 GitHub;
  2. 在 Cloudflare Pages 中选择“连接到 Git”;
  3. 授权 GitHub,并选择自己 Fork 的仓库;
  4. 生产分支选择 main
  5. 按仓库默认结构部署;
  6. 添加 ADMIN
  7. 创建并绑定 KV
  8. 重新触发生产部署;
  9. 绑定自定义域并访问 /admin

GitHub 集成的“自动部署”指的是:你自己的 Fork 有新提交后,Cloudflare 自动部署。 上游仓库更新后,仍需要先把上游改动同步到自己的 Fork。


八、常用环境变量说明

新手真正必须处理的只有 ADMIN,以及名为 KV 的 KV 绑定。其他变量按需使用。

名称 是否必需 作用
ADMIN 管理后台登录密码
KEY 设置快速订阅路径密钥
UUID 固定节点 UUID,必须是 UUIDv4
PROXYIP 设置全局反代地址
URL 设置主页伪装地址
GO2SOCKS5 指定需要走 SOCKS5 的域名
DEBUG 开启调试日志,排错后应关闭
OFF_LOG 设置为 1true 时关闭 KV 日志记录
BEST_SUB 开启优选订阅生成器模式
PRELOAD_RACE_DIAL 2.1 默认开启,设为 0false 可关闭
TCP_CONCURRENT_DIAL 调整 TCP 并发拨号数
PROXY_CONCURRENT_DIAL 调整反代并发拨号数

不理解的变量先不要填写。空着通常比随便复制网上的值更安全。


九、常见问题

1. 打开 /admin 后跳转、白屏或提示未配置

依次检查:

  • 是否添加了大写 ADMIN
  • 是否创建了 Workers KV;
  • KV 绑定变量名是否为大写 KV
  • 变量和绑定是否配置在生产环境;
  • 配置后是否重新部署。

2. 出现 Error 1101

可以按下面顺序处理:

  1. 查看 Cloudflare 部署日志;
  2. 确认 _worker.js 位于上传内容的根目录;
  3. 使用一个全新的 Pages 项目名称重新创建项目;
  4. 先使用一个最简单的 Pages Direct Upload 示例初始化项目,再上传 EdgeTunnel 压缩包;
  5. 不要在已经异常的旧项目上反复覆盖而不看日志。

项目作者的图文教程也专门给出了 1101 的初始化处理方式。

3. 主页显示 Welcome to nginx!

这是默认伪装页,不代表失败。请访问:

https://你的域名/admin

4. 修改 ADMIN 后,原来的节点不能用了

在没有固定 UUID 时,ADMINKEY 的变化可能导致 UUID、订阅 TOKEN 发生变化。重新进入后台复制订阅,并在客户端更新或重新导入即可。

需要长期保持 UUID 不变时,可以提前设置自己的 UUIDv4,但管理密码泄露后仍应优先处理安全问题,而不是为了保持旧订阅继续使用弱密码。

5. 后台能打开,配置却保存不了

多数情况下是 KV 没有正确绑定。检查:

绑定类型:KV 命名空间
变量名称:KV

6. 订阅添加成功,但客户端更新失败

检查:

  • 复制的是否是完整 HTTPS 地址;
  • URL 前后是否多了空格;
  • 是否选错了订阅格式;
  • 自定义域名证书是否已经生效;
  • 默认 pages.devworkers.dev 在当前网络是否可访问;
  • 修改密码或 UUID 后是否仍在使用旧地址。

7. 自定义域一直“待验证”

检查 DNS 平台中的 CNAME 或 Cloudflare 自动生成记录是否正确,确认没有同名冲突记录。DNS 和证书签发并非瞬间完成,修改后需要等待一段时间。


十、安全与维护建议

  1. 不要公开管理地址、密码、订阅 URL 和二维码。
  2. ADMIN 使用独立强密码,不要与邮箱、Cloudflare、GitHub 密码相同。
  3. 只从项目官方仓库获取 _worker.js 和压缩包。
  4. 项目更新时先阅读 CHANGELOG,再替换生产部署。
  5. DEBUG 只在排错时开启,处理完后关闭。
  6. KV 中可能保存配置和操作日志,不要把 Cloudflare 账号借给不可信的人。
  7. 使用第三方 ProxyIP、SOCKS5、HTTP 代理前,先确认来源、隐私风险和授权范围。
  8. Cloudflare 免费套餐、请求配额和产品规则可能调整,应以 Cloudflare 当前控制台和官方文档为准。
  9. 项目仅适合合法、授权的学习研究和网络测试,不要用于未授权访问、攻击或规避应承担的网络管理责任。

总结

第一次部署 EdgeTunnel,不需要把所有概念一次学完。只要记住下面这条主线:

Pages 上传
→ ADMIN
→ KV
→ 重新部署
→ /admin
→ 复制订阅
→ 导入客户端

其中最常见的错误只有两个:忘记把 KV 绑定名写成大写 KV,以及设置变量后忘记重新部署。

基础连接稳定后,再逐步研究自定义域名、固定 UUID、优选订阅、ProxyIP、ECH 和链式代理,会比一开始照抄一大堆高级参数更容易排错。


参考资料