跳到主要內容

首頁 / 部落格 / 設定基礎

訂閱轉換是怎麼工作的?原理、用途與不容忽視的風險

設定基礎2026-05-281961 字約 5 分鐘
訂閱轉換是怎麼工作的?原理、用途與不容忽視的風險

「訂閱轉換」是很多人繞不開的一步:服務商只給 v2ray 格式,用戶端要 Clash 格式,中間需要一個轉換服務。

這篇講清楚它做了什麼、有什麼風險、以及怎麼少用甚至不用它。

為什麼會有這個東西

不同用戶端吃不同格式:

三種主流訂閱格式Clash Mihomo YAML完整設定:節Clash Verge、FlClash、CMFA資訊最全v2ray base64一堆 vmess: 連結的 base6v2rayN、v2rayNG只有節點,沒有規則sing-box JSONJSON 格式的完sing-box、NekoBox結構不同
格式之間不能直接互換,中間需要轉換

訂閱轉換服務做的事:

轉換流程你把訂閱連結交給轉換服務作為參數傳過去服務去拉取你的原始訂閱它拿到了你的全部節點按模板重新組裝加上策略組和規則回傳新格式的設定你的用戶端拉這個地址
關鍵點在第二步:轉換服務完整看到了你的節點資訊

風險在哪

具體風險:

三層風險1節點被盜用拿到密碼後可以直接連接你的節點,消耗你的流量2訂閱被記錄服務方可以持續拉取你的訂閱,長期跟蹤節點變化3服務不可用時全盤失效轉換服務掛了,你的用戶端就更新不到設定
第三點最常發生:免費轉換服務的穩定性通常不高

另外,轉換服務回傳的設定裡包含規則模板。如果模板來源不可信,理論上可以插入任意規則——比如把某些網域指向特定節點。

什麼時候真的需要轉換

先確認你是不是真的需要:

這些情況不需要轉換服務商後台已經提供 Clash 你的用戶端支援導入 v2ray 訂閱(NekoBox、部分版本的 FlClash)只有幾個節點,可以手動寫進設定檔你能自己寫策略組和規則

很多人不知道服務商本來就有 Clash 格式的連結。去後台仔細找一下,通常在「訂閱」頁面有多個格式的按鈕,或者同一個連結加上 ?flag=clash 參數就能得到 Clash 格式。

真正需要轉換的場景:

  • 服務商確實只提供 v2ray base64,且用戶端不支援
  • 需要把多個不同格式的訂閱合併成一份
  • 想用某套現成的規則模板,但服務商給的設定沒有規則

更安全的替代方案

方案一:自己寫設定,只用 proxy-provider 拉節點

如果服務商提供 Clash 格式,最乾淨的做法是:主設定自己寫(策略組、規則全部自己控制),節點通過 proxy-providers 拉:

proxy-providers:
  main:
    type: http
    url: "你的订阅链接"
    interval: 3600
    path: ./providers/main.yaml
    header:
      User-Agent: ["clash.meta"]
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300

proxy-groups:
  - name: "PROXY"
    type: select
    use: [main]
    proxies: ["AUTO", DIRECT]
  - name: "AUTO"
    type: url-test
    use: [main]
    interval: 300
    tolerance: 50

rules:
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

訂閱連結只有你的用戶端知道,不經過任何第三方。

詳見多訂閱管理與合併

方案二:用用戶端的擴充設定

服務商給的 Clash 設定規則太簡陋?不用轉換,用 Merge 擴充設定在本地補規則:

prepend-rules:
  - RULE-SET,my-proxy,PROXY
  - RULE-SET,my-direct,DIRECT

rule-providers:
  my-proxy:
    type: http
    behavior: domain
    url: "规则集地址"
    path: ./ruleset/proxy.txt
    interval: 86400

規則集是公開的網域列表,不含任何你的私密資訊,用第三方托管沒有風險。

方案三:自建轉換服務

確實需要轉換,又不想把節點給別人,可以自己部署一份。常見的開源實現用 Docker 跑起來只要一條命令:

docker run -d --name subconverter \
  --restart always \
  -p 25500:25500 \
  某转换服务镜像

然後轉換地址用 http://127.0.0.1:25500/sub?...

自建的好處:節點資訊只在你自己的機器上流轉。代價是要維護一個服務。

三種方案的取舍provider 直連最安全,設定需要服務商提供 Clash 格式首選本地 Merge 補規則安全,靈活需要自己寫一點 YAML次選自建轉換能處理任意格要維護服務確實需要轉換時用
用公開的第三方轉換服務,應該是最後的選擇

如果一定要用第三方轉換服務

降低風險的做法優先選可以「一次性生成」的用法 —— 轉換一次,把結果儲存成本地設定檔,不要讓用戶端持續請求轉換地址轉換完立刻檢查生成的設定,確認規則裡沒有可疑條目不要用帶有你個人標識的轉換地址做長期訂閱定期在服務商後台重置訂閱地址重要帳號(自建伺服器)的節點不要參與轉換

「一次性生成」是關鍵:讓用戶端長期請求轉換地址,等於讓第三方持續掌握你的節點。轉換一次拿到 YAML,儲存成本地設定,之後自己維護——風險只有一次。

檢查轉換結果

拿到轉換後的設定,至少看這三處:

1. rules 段有沒有可疑規則

rules:
  - DOMAIN-SUFFIX,某个陌生域名,某个特定节点   # ← 这种要警惕

正常的規則模板不會把特定網域單獨指向某個節點。

2. proxies 段有沒有多出來的節點

對照原始訂閱的節點數量。多出來的節點是哪來的?

3. rule-providers 的 url 指向哪裡

規則集地址應該是公開的規則倉庫,不應該是奇怪的網域。

關於「訂閱連結 = 憑據」

再強調一次這個概念:

訂閱連結能做什麼1拿到你的全部節點伺服器、連接埠、密碼一應俱全2直接使用你的流量別人可以用你的方案上網3了解你的服務商和方案從回傳內容能看出很多資訊4長期跟蹤節點變了它也能同步到
保護訂閱連結的重要性,等同於保護帳號密碼

所以:

  • 不要發到公開群組、論壇、Issue
  • 截圖分享用戶端介面時,把訂閱地址那一欄打碼
  • 不要在不信任的設備上導入
  • 懷疑泄露時立刻到服務商後台重置

小結

  • 先確認服務商有沒有 Clash 格式的連結——大概率有,那就不需要轉換
  • 轉換服務能看到你的全部節點憑據,這是它最大的風險
  • 優先用 proxy-provider + 本地設定,訂閱連結不經過任何第三方
  • 規則用公開規則集,那些不含私密資訊,用第三方托管沒問題
  • 必須轉換時優先自建,或者至少「一次性生成」而不是長期請求

相關:多訂閱管理Merge 擴充設定


相關文件