cmliu/edgetunnel 项目理解报告

审阅时间:2026-05-26|来源:GitHub cmliu/edgetunnel README、仓库元信息、核心 _worker.js

一句话定位:edgetunnel 是把 VLESS / Trojan / Shadowsocks 等代理协议“解码/转发”逻辑放进 Cloudflare Workers/Pages 边缘运行时的单文件隧道与订阅面板项目,核心卖点是免 VPS、靠 CF 边缘入口、带 Web 管理后台和订阅生成。

JS 单文件
核心逻辑集中在 _worker.js,约 5,857 行。
35k+
GitHub stars 约 35,818;forks 约 32,573。
CF 边缘
目标部署平台是 Cloudflare Workers / Pages。
GPL-2.0
许可证为 GNU GPL v2。

1. 项目是什么

2. 核心功能拆解

模块能力证据/实现点理解
入站协议VLESS、Trojan、ShadowsocksREADME 写明支持;源码有 解析魏烈思请求解析木马请求、SS AEAD 加解密函数。客户端把流量封装成代理协议,经 WebSocket/gRPC/XHTTP 进入 Worker。
传输层WS、gRPC、XHTTP源码入口有 处理WS请求处理gRPC请求处理XHTTP请求适配不同客户端/网络环境;WS 是最常见入口。
出站转发直连、ProxyIP、SOCKS5/HTTP/HTTPS/TURN/SSTP 链式代理forwardataTCP 先尝试直连,失败后按 ProxyIP/链式代理兜底。解决 Cloudflare Worker 出站到部分目标不稳定/不可达问题。
管理面板登录、配置保存、日志、CF 用量、TG 通知/admin 路由,KV 中保存 config.jsontg.jsoncf.json这是 cmliu 分支相对原始 edgetunnel 的重要增强。
订阅生成混合订阅、Clash/Sing-box/Surge 热补丁、优选 IPREADME 与源码中的 Clash订阅配置文件热补丁Singbox订阅配置文件热补丁Surge订阅配置文件热补丁让一个部署自动输出多客户端可用配置。
伪装首页默认可反代 URL 或返回 nginx/1101 风格页面环境变量 URL,源码 nginx()html1101()降低裸露管理/订阅入口的可见性,但不是强安全边界。

3. 工作流:一次连接大概怎么走

  1. 用户客户端导入项目生成的订阅节点。
  2. 客户端发起到 Cloudflare 自定义域的 TLS + WS/gRPC/XHTTP 请求。
  3. Worker 依据 ADMIN/KEY/UUID 派生或读取 UUID,验证入站协议首包。
  4. Worker 解析目标地址、端口和剩余首包数据。
  5. Worker 使用 Cloudflare runtime 的 TCP socket 尝试连接目标。
  6. 如果直连失败或命中链式代理规则,则改走 ProxyIP / SOCKS5 / HTTP / HTTPS / TURN / SSTP。
  7. Worker 在客户端 WebSocket 与远端 TCP socket 间双向搬运字节流。

4. 配置与部署理解

含义判断
ADMIN后台登录密码;也是无 UUID 时派生 userID 的关键输入之一。必须强密码 太弱会导致订阅与管理入口被撞。
KEY快速订阅路径密钥;访问 /{KEY} 可快速获取节点。建议设置 默认密钥不应暴露。
UUID固定 VLESS UUID;不设置时由 ADMIN+KEY 派生。可选 固定后迁移/多端更稳定。
KVCloudflare KV 命名空间,保存管理面板配置、日志、订阅参数。关键依赖 无 KV 会丢失后台配置能力。
PROXYIP全局自定义反代 IP。影响可用性 质量决定落地连接成功率。
URL默认主页伪装地址或 1101 页面。隐藏入口 不能代替访问控制。
GO2SOCKS5强制走链式代理的域名名单。进阶项 可对特定站点绕过 Worker 出站限制。

5. 适合与不适合

场景是否适合原因
低成本临时测试、学习边缘运行时 TCP/WebSocket 能力适合部署成本低、代码集中、可观察协议解析与转发逻辑。
需要一个轻量、多客户端订阅入口适合内置订阅生成和主流客户端适配。
长期稳定生产代理不建议依赖 Cloudflare 平台策略、Worker 限制、ProxyIP 质量;账号/域名有风控风险。
高吞吐/低延迟/大流量不适合边缘函数与平台配额不是为持续大流量隧道设计。
要求隐私强保障谨慎流量路径经过 Cloudflare 与可能的 ProxyIP/链式代理;订阅/日志/配置还可能落 KV。
需要明确合规、商业 SLA不适合项目自身免责声明要求教育/研究用途,且平台 ToS 风险不可忽略。

6. 主要风险

7. 代码层面的几个观察

观察含义
源码头部包含大段“本代码安全/非代理/非隧道”的多语言声明。这更像是规避自动审查的文本,不改变代码实际功能;审计时应以行为为准。
协议解析、TLS mini client、TURN/SSTP、订阅热补丁都塞进一个 worker 文件。功能强,但维护复杂,安全审计难度高。
直连失败后有 ProxyIP/代理兜底。提高可用性,但引入第三方出口信任问题。
默认配置会写入 KV。便于面板管理,但 KV 权限和数据内容需要谨慎。

8. 决策建议

9. 最短结论

edgetunnel 的价值在“把代理入口下沉到 Cloudflare 边缘,并用面板/订阅把复杂配置包装起来”。它很适合折腾、学习和临时自用;但从稳定性、合规性、安全审计和账号风险看,不适合当长期核心基础设施。