零服务器也能科学上网:edgetunnel(Cloudflare 版代理)保姆级教程
本文最后更新于 45 天前,其中的信息可能已经有所发展或是发生改变。

如果你还没有合适的服务器,可以看看 雨云 的入门套餐作为起点;注册立享5折优惠。

一个不需要服务器的方案

上一篇我们讲了自建 VPS 通道(《自建代理全教程》)。那套方案稳定可控,但要买服务器、要维护、要担心流量费。如果你的需求是「偶尔访问 GitHub / HuggingFace / Docker」,其实还有个零服务器成本的选择——把代理跑在 Cloudflare 的边缘网络上。

edgetunnel 就是干这个的开源项目:它利用 Cloudflare Workers / Pages 的免费额度,实现了一个 VLESS / Trojan / Shadowsocks 服务端。你没有自己的服务器,但 Cloudflare 全球几百个节点就是你的”服务器”。

⚠️ 本文涉及 Cloudflare 账号操作与公网服务部署,请务必妥善保管你的管理员密码与订阅地址,不要公开分享。

它能做什么

  • 免服务器:不需要 VPS、不需要域名解析到你自己的机器;
  • 免费:Workers/Pages 免费计划包含每天 10 万次请求;
  • 自带管理面板:网页后台改配置、看用量、管节点;
  • 自带订阅系统:一键生成 Clash / v2rayN 可导入的订阅链接。

原理很简单

Cloudflare 的 Workers/Pages 能在它的边缘节点上运行 JavaScript。edgetunnel 把这些代码变成「代理入口」:

你的设备 ──VLESS over WebSocket──> Cloudflare 边缘节点(edgetunnel 代码)──> GitHub / HF / Docker
                                  (流量对运营商来说 = 访问 Cloudflare 的普通 HTTPS)

关键在免费额度:一个 WebSocket 连接只算一次请求,连接建立后的消息不额外计费。所以哪怕长时间挂着,消耗也很少——这也是它能长期免费跑的原因。

准备工作

  1. 一个 Cloudflare 账号(免费注册);
  2. (可选但推荐)一个托管在 Cloudflare 的域名,用于绑定自定义入口;
  3. 客户端:Clash Verge / v2rayN 等。

第一步:获取项目代码

去 GitHub 打开项目 cmliu/edgetunnel,复制仓库里的 _worker.js 全文(这是唯一的”服务端代码”)。

第二步:部署到 Cloudflare

有两种部署方式,任选其一:

方式 A:Workers(推荐新手)

1. 打开 dash.cloudflare.com → Workers & Pages → Create
2. 选 Hello World 模板,名字随意(如 my-proxy)
3. 进入 Edit code,删除默认代码,粘贴 _worker.js 全文
4. Save and Deploy

方式 B:Pages + GitHub

1. 把 cmliu/edgetunnel fork 到自己 GitHub
2. Cloudflare Pages → Create → 连接 Git → 选刚 fork 的仓库
3. 首次部署即可

第三步:绑定 KV(必做,否则报错)

edgetunnel 用 KV 存储配置,绑定名有严格要求:

Settings → 绑定(Bindings)→ 添加 KV 命名空间
变量名称:KV        ← 必须是大写 KV
命名空间:新建一个(如 edgetunnel-config)

创建后需要重新部署一次让绑定生效。

第四步:设置环境变量

在 Settings → Variables 里添加(两个都建议设置):

ADMIN = 你的管理密码        ← 必填,面板登录用
KEY   = 一串自定义字符串    ← 可选,作为"快速订阅"路径
UUID  = 固定 UUIDv4          ← 可选,不设则会由 ADMIN+KEY 自动派生

小提示:如果之后改了 ADMIN 或 KEY,派生出来的节点 UUID 也会变,客户端需要重新拉订阅。想要节点长期稳定,建议直接设一个固定的 UUID。

第五步:绑定自定义域名(可选)

默认你会得到一个 xxx.workers.dev 或 xxx.pages.dev 的子域名,够用。想用自己域名的话,在 Workers 的 Triggers / Pages 的 Custom domains 里添加子域即可,Cloudflare 会自动配证书。

第六步:访问管理面板

部署完成后,浏览器打开:

https://你的域名/admin

输入 ADMIN 密码登录,就能看到管理界面:配置修改、节点信息、用量统计都可以在这里完成。

第七步:客户端接入

最简单的方式是直接用快速订阅:浏览器访问

https://你的域名/你的KEY

会自动跳出一个订阅链接。在 Clash Verge / v2rayN 里「从 URL 导入」这个链接,节点列表就出来了。Clash 用户也可以手动指定订阅类型为 mixed 或 clash,按客户端支持选。

第八步:防止额度被刷(重要)

免费额度是每天 10 万次请求。如果域名被扫描器盯上,人家高频刷新你的页面,额度很快会被耗尽。建议在 Cloudflare 加一条 WAF 规则,只放行必要路径:

Security → WAF → Custom rules → Create rule

表达式(仅放行订阅、面板、WebSocket,其余拦截):
(http.host eq "你的域名" and not (
  starts_with(http.request.uri.path, "/sub")
  or starts_with(http.request.uri.path, "/admin")
  or http.request.uri.path eq "/login"
  or http.request.uri.path eq "/你的KEY"
  or lower(http.request.headers["upgrade"][0]) contains "websocket"
))
动作:Block

这样普通请求/扫描都会被挡,只留代理和订阅功能能访问,额度基本就不会被白嫖了。

和自建 VPS 方案怎么选

对比 edgetunnel(Cloudflare) 自建 VPS(Xray)
服务器成本 零(免费额度) 按年付费
部署难度 10 分钟 约半小时
可维护性 低(改配置走面板) 完全可控
速度/带宽 受 Cloudflare 免费额度与线路影响 取决于 VPS 带宽
适合 轻量浏览、应急备胎 重度使用、大流量下载

我的实际建议:两个都留着。日常重度使用走自建 VPS;临时出差、网络切换、VPS 维护窗口期,切到 edgetunnel 顶上。反正它不要钱,多一条路总没坏处。

常见问题

Q:报「未绑定 KV 命名空间」

变量名必须严格是 KV(大写),绑定后要重新部署一次。

Q:改了 ADMIN/KEY 后节点全失效

UUID 由 ADMIN+KEY 派生。设一个固定的 UUID 环境变量就不会再变,客户端也无需反复更新。

Q:网页访问很慢 / 加载不出订阅

订阅的 clash 格式会经过第三方转换服务,偶发慢属正常,可换 mixed 格式直出节点;若 WAF 规则挡了境外转换服务,把「仅限大陆」类规则改成按路径白名单放行。

Q:额度消耗快怎么办

先看 Cloudflare 面板统计是谁在请求。刷网页(大量小请求)比看视频(一条长连接)更耗额度;确认开好第八步的 WAF 规则,把非白名单路径全部 Block。

结语

edgetunnel 的价值在于「用 10 分钟换一条零成本的备用通道」。它不够快、有额度上限,但作为应急和补充,体验远超临时找镜像源。搭配上一篇的自建 VPS 方案,基本可以覆盖绝大多数访问 GitHub / HuggingFace / Docker 的场景。

如果你还没有 Cloudflare 账号,去 dash.cloudflare.com 免费注册一个即可开始。需要服务器跑主力方案的话,也可以从便宜的年付小机器入手慢慢升级。

本文由屑鱼不吃猫创作,转载请标注文章出处
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇