项目地址:https://github.com/cmliu/edgetunnel

视频教程:https://www.youtube.com/watch?v=WEWniFliC3U&feature=youtu.be

💡 快速部署

📖 详尽图文教程edgetunnel 部署指南

⚠️ Error 1101问题视频解析

⚙️ Workers 部署

「 Workers 部署文字教程 」
  1. 部署 CF Worker:

    • 在 CF Worker 控制台中创建一个新的 Worker。
    • worker.js 的内容粘贴到 Worker 编辑器中。
    • 在左侧的 设置选项卡中,选择 变量 > 添加变量
      变量名称填写ADMIN,值则为你的管理员密码,后点击 保存即可。
  2. 绑定 KV 命名空间:

    • 绑定选项卡中选择 添加绑定 + > KV 命名空间 > 添加绑定,然后选择一个已有的命名空间或创建一个新的命名空间进行绑定。
    • 变量名称填写KV,然后点击 添加绑定即可。
  3. 给 Workers绑定 自定义域:

    • 在 workers控制台的 触发器选项卡,下方点击 添加自定义域
    • 填入你已转入 CF 域名解析服务的次级域名,例如:vless.google.com后 点击添加自定义域,等待证书生效即可。
  4. 访问后台:

    • 访问 https://vless.google.com/admin 输入管理员密码即可登录后台。

🛠 Pages 上传 部署方法 最佳推荐!!! 图文教程

「 Pages 上传文件部署文字教程 」
  1. 部署 CF Pages:

    • 下载 main.zip 文件,并点上 Star !!!
    • 在 CF Pages 控制台中选择 上传资产后,为你的项目取名后点击 创建项目,然后上传你下载好的 main.zip 文件后点击 部署站点
    • 部署完成后点击 继续处理站点 后,选择 设置 > 环境变量 > 制作为生产环境定义变量 > 添加变量
      变量名称填写ADMIN,值则为你的管理员密码,后点击 保存即可。
    • 返回 部署 选项卡,在右下角点击 创建新部署 后,重新上传 main.zip 文件后点击 保存并部署 即可。
  2. 绑定 KV 命名空间:

    • 设置选项卡中选择 绑定 > + 添加 > KV 命名空间,然后选择一个已有的命名空间或创建一个新的命名空间进行绑定。
    • 变量名称填写KV,然后点击 保存后重试部署即可。
  3. 给 Pages绑定 CNAME自定义域:视频教程

    • 在 Pages控制台的 自定义域选项卡,下方点击 设置自定义域
    • 填入你的自定义次级域名,注意不要使用你的根域名,例如:
      您分配到的域名是 fuck.cloudns.biz,则添加自定义域填入 lizi.fuck.cloudns.biz即可;
    • 按照 CF 的要求将返回你的域名DNS服务商,添加 该自定义域 lizi的 CNAME记录 edgetunnel.pages.dev 后,点击 激活域即可。
  4. 访问后台:

    • 访问 https://lizi.fuck.cloudns.biz/admin 输入管理员密码即可登录后台。

🛠 Pages + GitHub 部署方法

「 Pages + GitHub 部署文字教程 」
  1. 部署 CF Pages:

    • 在 Github 上先 Fork 本项目,并点上 Star !!!
    • 在 CF Pages 控制台中选择 连接到 Git后,选中 edgetunnel项目后点击 开始设置
    • 设置构建和部署页面下方,选择 环境变量(高级)后并 添加变量
      变量名称填写ADMIN,值则为你的管理员密码,后点击 保存并部署即可。
  2. 绑定 KV 命名空间:

    • 设置选项卡中选择 绑定 > + 添加 > KV 命名空间,然后选择一个已有的命名空间或创建一个新的命名空间进行绑定。
    • 变量名称填写KV,然后点击 保存后重试部署即可。
  3. 给 Pages绑定 CNAME自定义域:视频教程

    • 在 Pages控制台的 自定义域选项卡,下方点击 设置自定义域
    • 填入你的自定义次级域名,注意不要使用你的根域名,例如:
      您分配到的域名是 fuck.cloudns.biz,则添加自定义域填入 lizi.fuck.cloudns.biz即可;
    • 按照 CF 的要求将返回你的域名DNS服务商,添加 该自定义域 lizi的 CNAME记录 edgetunnel.pages.dev 后,点击 激活域即可。
  4. 访问后台:

    • 访问 https://lizi.fuck.cloudns.biz/admin 输入管理员密码即可登录后台。

🔑 环境变量说明

变量名 必填 示例 详细备注
ADMIN 123456 后台管理面板登录密码
KEY CMLiussss 快速订阅路径密钥,访问 /CMLiussss 即可快速获取节点
UUID 90cd4a77-141a-43c9-991b-08263cfe9c10 强制固定UUID,只支持UUIDv4标准格式
PROXYIP proxyip.cmliussss.net:443 全局自定义反代 IP
URL https://cloudflare-error-page-3th.pages.dev 默认主页伪装地址(可填写网页 URL 或 1101
GO2SOCKS5 blog.cmliussss.com,*.ip111.cn,*google.com 强制走 SOCKS5 的名单 (* 为全局,域名用逗号分隔)
DEBUG 1true 开发者模式,默认关闭调试日志功能(console.log),设置1true则开启调试日志功能
OFF_LOG 1true 默认开启日志记录功能,设置1true则关闭日志记录功能
BEST_SUB 1true 默认关闭作为优选订阅生成器的功能,设置1true则开启该功能
PRELOAD_RACE_DIAL 1true 默认关闭作为预加载竞速拨号的功能,设置1true则开启该功能

cloudfare操作步骤

绑定自定义域(没有的可以去DNSHE申请一个免费的)

尽量使用二级域名,不要直接用根域名,需要等待 TLS 证书签发完成后再测试。CNAME记录直接在 Cloudflare DNS 页添加

绑定KV命名空间。

进入 设置 -> 绑定 -> 添加绑定,选择 KV 命名空间,绑定名必须填:KV

源码里直接读取的绑定名就是 KV,填错了后台配置、日志、优选地址都无法持久化。

绑定完成后,重新部署一次项目。

管理面板入口

https://(你的自定义域)/admin

优化设置

1.修复 ProxyIP(必做,效果最显著)

背景:CF Worker 被 Cloudflare 限制,无法直接访问 Cloudflare 托管的网站,需要 ProxyIP 做中转。ProxyIP 失效是节点大量失败最主要的原因。

进后台 → 设置 → ProxyIP,填入多个备用地址,用换行分隔,失效时自动切换:

proxyip.cmliussss.net,

cdn-all.xn–b6gac.eu.org,

cdn.xn–b6gac.eu.org,

edgetunnel.anycast.eu.org,

cdn.anycast.eu.org

验证是否有效:https://check.proxyip.cmliussss.net/

预期效果:配置后,连接失败的节点基本消除。

2.用本地测速找最优 IP(核心优化)

edgetunnel 默认随机抽取 CF IP,质量完全靠运气。通过本地测速找到对你当前网络延迟最低的 IP,是最直接有效的优化。

下载 CloudflareSpeedTest

Windows

前往 CloudflareSpeedTest Releases 下载 cfst_windows_amd64.zip,,解压后得到 cfst.exe,在解压目录打开终端运行,也可以直接双击程序运行。

macOS

mkdir ~/cfst && cd ~/cfst

curl -L -o cfst.zip https://ghfast.top/https://github.com/XIU2/CloudflareSpeedTest/releases/download/v2.3.4/cfst_darwin_amd64.zip

unzip cfst.zip

chmod +x cfst

Linux

mkdir ~/cfst && cd ~/cfst

wget https://ghfast.top/https://github.com/XIU2/CloudflareSpeedTest/releases/download/v2.3.4/cfst_linux_amd64.tar.gz

tar -zxvf cfst_linux_amd64.tar.gz

chmod +x cfst

注意:关闭代理后再测速

必须关闭代理,否则测出的是代理服务器到 CF 的延迟,对本机没有意义。

用 HTTPing 模式测速

./cfst -httping -tl 150 -sl 5 -p 15

参数 含义
-httping HTTP 测速模式,必须加,过滤掉”TCP 通但 HTTP 代理不可用”的假可用 IP
-tl 150 只保留延迟 150ms 以内的 IP
-sl 5 只保留下载速度 5MB/s 以上的 IP
-p 15 输出前 15 个结果

实测参考(每次不同,仅示例):

IP 地址 延迟(ms) 速度(MB/s) 地区
162.159.45.46 44.10 13.03 NRT(东京)
162.159.44.188 45.34 11.82 NRT(东京)
172.64.53.100 59.02 13.42 NRT(东京)
172.64.52.232 62.29 13.43 NRT(东京)
162.159.38.157 64.46 12.82 NRT(东京)

把测速结果填入后台

后台 → 优选订阅生成 → 模式选「自定义订阅(支持汇聚订阅)」

格式为 IP地址:端口#备注名,每行一个:

162.159.45.46:443#NRT优选1
162.159.44.188:443#NRT优选2
172.64.53.100:443#NRT优选3
172.64.52.232:443#NRT优选4
162.159.38.157:443#NRT优选5

3. 开启「优选IP作为反代IP」(推荐)

原理:开启后,订阅中的优选 IP 同时也被当作 ProxyIP 使用,入口和出口合并为同一个 IP,减少一跳中转,理论上降低 5~30ms 延迟。

后台 → 优选订阅生成 → 「优选IP作为反代IP」开关 → 开启

开启后重新拉取订阅即可生效。

中国移动:

https://addressesapi.090227.xyz/cmcc

中国电信:

https://addressesapi.090227.xyz/ct

4. 开启 ECH(推荐)

原理:ECH(Encrypted Client Hello)是 TLS 1.3 的扩展,对握手阶段的 SNI 字段加密。GFW 无法通过 SNI 识别目标域名,从而减少针对性的 QoS 限速和干扰,降低延迟抖动,提高连接稳定性。

前提:Clash Verge Rev 使用 Meta 内核,已原生支持 ECH,可以直接用。

后台 → ECH 配置 → 开启,填入:

字段 推荐值
ECH DNS cloudflare-ech.com
ECH SNI 留空,或填你自己的伪装域名

保存后重新拉取订阅,节点链接中会自动附加 ECH 参数。

如果开启后节点全部不通,先关掉 ECH 验证基础链路是否正常,再重新测试。ECH 应该在基础链路稳定的前提下开启。

5. 测试不同端口(可选)

默认端口 443,但不同运营商对不同端口的 QoS 策略不同,可以逐一测试:

后台 → 优选订阅生成 → 「指定优选端口」

端口 说明
443 默认,最通用
2053 联通/移动可能更快
2083 CF 支持的备用 TLS 端口
2087 CF 支持的备用 TLS 端口
8443 备用

建议每个端口单独跑一次测速,对比延迟后选最低的固定使用。

6. 定期维护

CF IP 质量会随时间变化,建议每 1~2 周重新测速一次:

7. 常见问题

测速工具测出来很好,但 Clash 里还是 Timeout

原因:TCP 测速会过滤不掉”TCP 可达但 HTTP 代理不可用”的 IP,必须用 HTTPing 模式。

解决:测速时加 -httping 参数,再把结果填入自定义订阅。

ProxyIP 填了多个,但节点还是失败

原因:填入的 ProxyIP 本身已经失效,或格式有误。

解决:用验证工具 check.proxyip.cmliussss.net 逐一测试,只保留验证通过的地址。

开了 ECH 之后节点全部不通

原因:客户端版本、DNS 配置或链路环境不支持 ECH。

解决:先关闭 ECH,确认基础链路正常后,再用保守配置(ECH DNS 填 cloudflare-ech.com,ECH SNI 留空)重新测试。

测速之后多久需要重测

原因:CF IP 的路由质量会随时间变化,优选结果不是永久有效的。

解决:建议每周重测1-2次,或发现节点明显变慢时重测。