Cloudflare 免费部署 VPN:Edgetunnel 2.0、GitHub Fork 与 Pages 实操
整理 Edgetunnel 2.0 通过 GitHub Fork 接入 Cloudflare Pages、绑定 Workers KV、配置 VLESS/Trojan 和自定义域的流程,并说明免费计划限制与合规风险。
这篇文章是视频教程的文字增强版,整理的是 Edgetunnel 2.0 通过 GitHub fork 仓库接入 Cloudflare Pages、绑定 Workers KV、登录 WebUI,并生成 VLESS 或 Trojan 订阅的核心流程。
重要提醒:Cloudflare 的自助服务条款和平台规则会限制把服务主要用作 VPN、开放代理或类似中转用途。本文只适合作为个人学习、临时实验和架构理解参考。正式使用前,请先阅读 Cloudflare Self-Serve Subscription Agreement 和所在地法律法规;如果你的用途涉及多人共享、商业分发、长期流量转发或规避网络管理,请不要按本文部署。
准备工作
你需要提前准备这些东西:
- 一个 Cloudflare 账号
- 一个 GitHub 账号
- 一个已经托管到 Cloudflare 的域名(可选)
如果只是想体验流程,可以先使用 Cloudflare Pages 默认分配的
pages.dev域名。更稳定、也更方便隔离的做法是绑定自己的子域名,例如vpn.example.com。
1. Fork 仓库
先登录 GitHub,把 Edgetunnel 2.0 项目 fork 到自己的账号下。
这样做的好处是 Cloudflare Pages 可以直接连接你的仓库,后续项目更新、重新部署和配置排查都更清晰。

Fork 完成后,进入你自己账号下的仓库页面,确认默认分支和项目文件都正常显示。
2. 连接 GitHub 仓库创建 Pages 项目
进入 Cloudflare 控制台:
Workers & Pages -> Pages -> Create a project -> Connect to Git
授权 Cloudflare 访问 GitHub 后,选择你 fork 出来的 Edgetunnel 2.0 仓库,然后创建 Pages 项目。项目名称建议使用一个新的、未被旧部署污染过的名字,例如:
edt2-lab
如果你之前已经部署过旧版本,遇到 1101 这类运行时错误时,可以优先检查部署日志、环境变量和 KV 绑定;必要时新建一个 Pages 项目重新连接 fork 仓库,避免旧项目配置干扰排查。
部署完成后,Cloudflare 会分配一个临时域名:
https://edt2-lab.pages.dev
这时先不用急着测试订阅,后面还需要设置管理员密码和 KV 绑定。
3. 设置 ADMIN 管理员密码
Edgetunnel 2.0 的后台入口是 /admin,ADMIN 不再表示后台路径,而是 WebUI 管理员密码。进入 Pages 项目:
Settings -> Environment variables -> Add variable
添加变量:
ADMIN=your-strong-admin-password
密码不要使用 admin、password、项目名、域名前缀这类容易被猜到的内容,也不要把真实密码写进截图、评论区或群聊里。
保存环境变量后,需要重新部署一次项目,新的部署版本才会读取到 ADMIN。
4. 创建 Workers KV 命名空间
Edgetunnel 2.0 的 WebUI 需要用 KV 保存配置、订阅数据和部分面板信息。进入 Cloudflare 控制台:
Workers & Pages -> KV -> Create namespace
命名空间名称建议用简单可识别的名字,例如:
EDT2
创建后不用手动写入数据,后面把它绑定到 Pages 项目即可。Pages 的绑定规则可以参考官方文档:Pages Functions Bindings。
5. 绑定 KV 到 Pages 项目
继续进入 Pages 项目设置:
Settings -> Functions -> KV namespace bindings -> Add binding
绑定名称必须按项目要求填写。视频流程和 Edgetunnel 常见部署方式里通常使用:
KV
然后选择前面创建的 EDT2 命名空间。
保存后再次重新部署项目。如果没有重新部署,页面可能仍然读不到 KV,后台也可能无法保存配置。
6. 打开后台面板
部署完成后,访问:
https://edt2-lab.pages.dev/admin
如果已经绑定了自定义域,也可以访问:
https://vpn.example.com/admin
输入前面设置的 ADMIN 密码进入 WebUI。进入后先检查面板是否能保存配置;如果保存失败,通常先回到 Pages 设置里确认 KV 绑定名和 KV 命名空间是否正确,然后重新部署。
7. 配置协议和订阅
Edgetunnel 2.0 的主要配置可以在 WebUI 里完成,不必每次都回到 Pages 环境变量里改参数。适合先关注这些基础项:
- 协议选择:按客户端兼容性选择 VLESS 或 Trojan,不确定时先用你客户端支持最稳定的协议。
- 订阅生成:面板会生成订阅链接或节点配置,客户端里通常从“订阅”“从 URL 导入”或“手动添加节点”入口导入。
- 优选模式:可以使用随机优选,也可以填入自定义优选 IP 或域名。先用少量节点测试,确认连通性和延迟后再扩大配置。
- 高级功能:Telegram 通知、请求统计、Cloudflare 用量统计等功能可以后续再启用。先完成最小可用部署,排错会更简单。
不要把订阅链接公开发布。订阅链接通常等同于访问凭据,被别人拿到后就可能消耗你的免费额度,甚至触发滥用投诉和账号风控。
8. 绑定自定义域
在 Pages 项目里进入:
Custom domains -> Set up a custom domain
填写你准备好的子域名:
vpn.example.com
自定义域不是必需项,pages.dev 已经可以用于学习测试。如果要绑定域名,建议使用独立子域名,不要直接使用主站根域名。
如果这个域名已经由 Cloudflare 托管,控制台通常会自动创建或提示你创建对应 DNS 记录。更多细节可以看官方文档:Pages Custom Domains。
绑定完成后,等状态变成 Active,再使用自定义域访问后台和订阅链接。
客户端导入
打开你的代理客户端,找到订阅或节点导入入口,把面板生成的订阅 URL 粘贴进去。导入后先只做连通性测试:
- 能否更新订阅
- 能否连接节点
- 是否频繁超时
- 是否出现 Cloudflare 错误页
- 免费计划额度是否异常消耗
如果只是学习部署流程,测试完成后建议关闭项目或删除订阅,不要长期裸跑。
常见问题
| 问题 | 检查方向 |
|---|---|
1101 | Pages Functions 运行时错误,先看部署日志和函数日志;如果旧项目反复异常,可以新建 Pages 项目重新连接 fork 仓库。 |
1027 | Workers 免费计划或路由相关限制,检查账号计划、请求量和项目配置。 |
522 | 回源连接超时,检查自定义域 DNS、代理状态和项目是否正常部署。 |
/admin 登录失败 | ADMIN 是否是管理员密码,是否写错环境变量,保存后是否重新部署。 |
| 无法保存配置 | KV 绑定名称是否准确为大写 KV,是否绑定到了正确的 EDT2 命名空间。 |
| 修改变量后没变化 | Pages 环境变量或 KV 绑定修改后,需要重新部署才会进入新的部署版本。 |
| 自定义域不生效 | Pages 自定义域状态是否 Active,DNS 记录是否冲突。 |
| 客户端无法导入 | 订阅链接是否复制完整,客户端是否支持对应协议格式。 |
更稳妥的替代方案
如果你的目标不是研究第三方代理项目,而是解决真实远程访问需求,可以优先考虑这些官方或更可控的方案:
- Cloudflare Tunnel:适合把内网 Web 服务、安全面板或 SSH 入口暴露到 Zero Trust 后面。
- Cloudflare One / WARP Client:适合团队设备接入、身份认证和访问策略。
- 自建 VPS + 标准 VPN:适合你需要完整控制网络出口、日志、带宽和合规边界的场景。
- Tailscale / Headscale / NetBird:适合个人设备组网和私有网络互联。
把 Cloudflare 免费计划当作学习实验可以,但不要把它当成长期、稳定、无限量的代理基础设施。
风险先说清楚
这类方案看起来是“免费部署”,但免费不等于无限制。
- 条款风险:Cloudflare 可能限制或停止明显的 VPN、代理、中转流量用途。
- 账号风险:异常流量、滥用投诉、被公开分享的节点或订阅链接,都可能导致项目被封禁或账号受限。
- 限额风险:Cloudflare Workers 和 Pages Functions 有请求数、CPU、子请求和运行时限制,具体以 Workers Limits 为准。
- 代码风险:Edgetunnel 是第三方项目,部署前应阅读源码、Issue 和 README,确认你理解它会生成哪些入口、配置、订阅内容和统计数据。
- 域名风险:不要把主站根域名直接用于实验。建议新建独立子域名,便于随时下线、隔离和排查问题。
如果你想做的是内网访问、远程运维或团队零信任接入,优先看 Cloudflare 官方的 Cloudflare One Connectivity Options,例如 Cloudflare Tunnel、WARP Client 或 Zero Trust 方案。