Digital screens display data on a circuit board background

用 DMIT 這類付費 VPS 搭代理節點,穩定性好但有成本。很多人不知道,Cloudflare Workers 有每天 10 萬次的免費請求額度,可以用來跑一個完全零成本的 VLESS 節點——作為備用或平替方案,值得每人都部署一個。

本文用的是開源專案 edgetunnel,部署過程 10 分鐘以內完成。

原理簡介

Cloudflare Workers 是執行在 CF 邊緣節點的 JavaScript 函式。edgetunnel 把 VLESS 協議實現在 Worker 裡,流量經過 CF 的 CDN 網路中轉,繞開直接 IP 識別。

優點:

  • 完全免費(免費計劃每天 10 萬次請求,足夠個人使用)
  • 無需伺服器,不存在 IP 被封問題
  • CF 的 IP 段被封機率極低

侷限:

  • 速度受 CF 網路質量影響,高峰期不如專線 VPS
  • 不適合大流量下載,適合日常瀏覽和輕量使用
  • 部分地區對 CF IP 有 QoS

前置準備

  • 一個 Cloudflare 賬號(免費註冊)
  • 一個域名(可選,但推薦,CF 免費提供 workers.dev 子域名也行)

部署步驟

第一步:Fork 專案到你的 GitHub

開啟 https://github.com/cmliu/edgetunnel,點右上角 Fork,複製到自己的賬號。

第二步:在 Cloudflare 建立 Worker

  1. 登入 dash.cloudflare.com
  2. 左側選單點 Workers & Pages
  3. 點 Create → Create Worker
  4. 給 Worker 起個名字(比如 my-proxy),點 Deploy

第三步:貼上 Worker 程式碼

  1. 部署完成後點 Edit code
  2. 清空編輯器裡的預設程式碼
  3. 開啟你 Fork 的 GitHub 倉庫,找到 _worker.js 檔案,複製全部內容
  4. 貼上到 Worker 編輯器裡
  5. 點右上角 Deploy

第四步:配置 UUID(你的連線密碼)

UUID 是你節點的唯一標識。生成一個:

# macOS / Linux
uuidgen | tr '[:upper:]' '[:lower:]'

# 輸出類似:
# a1b2c3d4-e5f6-7890-abcd-ef1234567890

在 Worker 程式碼頂部找到 userID 變數,填入你生成的 UUID:

let userID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';

或者透過環境變數設定(更安全):

  1. Worker 頁面點 Settings → Variables
  2. 新增變數:UUID = 你的 UUID
  3. 點 Save and Deploy

程式碼裡對應改為讀取環境變數:

let userID = env.UUID || 'default-uuid';

第五步:繫結自定義域名(可選但推薦)

Workers.dev 域名在部分地區訪問不穩定,繫結自己的域名更好:

  1. 前提:域名已託管到 Cloudflare(NS 指向 CF)
  2. Worker 頁面點 Settings → Domains & Routes
  3. 點 Add → Custom domain
  4. 填入你的域名,比如 proxy.yourdomain.com
  5. 儲存,CF 自動配置 SSL

獲取訂閱連結

Worker 部署完成後,訪問:

https://你的Worker域名/你的UUID

比如:

https://my-proxy.workers.dev/a1b2c3d4-e5f6-7890-abcd-ef1234567890

頁面會返回一個 Base64 編碼的訂閱內容,包含多種協議格式(VLESS、Trojan、VMess)的節點資訊。

訂閱連結格式

https://你的域名/你的UUID?sub           # 訂閱連結(返回所有節點)
https://你的域名/你的UUID?clash         # Clash/mihomo 格式
https://你的域名/你的UUID?singbox       # sing-box 格式

在 mihomo 中使用

方式一:訂閱匯入(推薦)

直接把 ?clash 格式的 URL 作為訂閱連結,貼上到 Clash/mihomo 的訂閱管理裡。

方式二:手動配置

proxies:
  - name: "CF-Workers-VLESS"
    type: vless
    server: 你的Worker域名
    port: 443
    uuid: 你的UUID
    network: ws
    tls: true
    ws-opts:
      path: "/"
      headers:
        Host: 你的Worker域名
    client-fingerprint: chrome

最佳化:選擇更快的 CF 優選 IP

edgetunnel 預設走 CF 分配的節點,速度因地區而異。可以透過 CF 優選 IP 工具測速選擇延遲最低的節點。

把 Worker 域名裡的 IP 替換成延遲最低的 CF IP,速度有時能提升 50% 以上。

工具:CloudflareSpeedTest

# 下載工具
wget https://github.com/XIU2/CloudflareSpeedTest/releases/latest/download/cfst_linux_amd64.tar.gz
tar -xzf cfst_linux_amd64.tar.gz
./CloudflareST

# 測速完成後,結果儲存在 result.csv
# 取延遲最低的 IP 替換到節點配置裡

和 DMIT VPS 方案對比

對比項CF WorkersDMIT VPS
成本免費$20+/月
速度(日常)中等快(CN2 GIA)
穩定性較好(CF 託管)好
大流量不適合適合
被封風險極低有一定機率
適用場景備用/平替主力節點

推薦策略: DMIT 作為主力,CF Workers 作為備用。兩個方案互補,主節點被封期間 CF Workers 頂上,完全無感知切換。

配合 mihomo 的 fallback 機制:

proxy-groups:
  - name: "主力線路"
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 30
    proxies:
      - DMIT-HK-Reality
      - CF-Workers-VLESS   # 備用,主力掛了自動切

常見問題

Worker 部署後訪問報錯 522

Worker 域名沒有正常解析。檢查:

  1. 域名是否已繫結到 Worker
  2. Worker 是否正常 Deploy(狀態顯示 Active)

速度很慢

  1. 嘗試優選 IP(見上方 CloudflareST 方法)
  2. 檢查當前時段,高峰期 CF 節點壓力大
  3. 換一個 CF 資料中心城市(可以在優選結果裡選不同地區的 IP)

節點連線但無法訪問某些網站

檢查 Worker 程式碼裡的 proxyIP 配置,部分版本需要填一個出口 IP 才能正常回源。


需要更穩定的主力方案,見:


📷 封面圖 · Flux Schnell AI 生成 · panshi.io 品牌風格