進階設定 閱讀約 17 分鐘

Clash Meta 健康檢查怎麼設?url-test 與 fallback 自動切換步驟(2026)

若您已能寫基本 rulesselect,下一個常見需求是:節點偶發逾時或延遲飆高時,別再手動切換,而是讓核心依健康檢查自動挑線。在 MihomoClash Meta 系核心)裡,這通常落在 proxy-groupstype: url-test(在候選節點中定期測速並選延遲較低者)與 type: fallback(依清單順序主備容錯,不健康就往後退)兩種寫法。本文一次整理兩者的差異、urlintervaltolerancelazy 該怎麼調、規則要如何指到策略組名稱才算生效,並用日誌與面板行為說明如何驗收;與本站 relay 雙跳GEOIP/GEOSITE 分流DNS 防洩漏 長文互補,專注在 url-testfallback自動切換主線。

Clash 編輯組 Clash Meta · Mihomo · url-test · fallback · 健康檢查

先釐清目標:要「測速最快」還是「主備容錯」?

兩種需求聽起來都像「自動換線」,但決策邏輯不同url-test 適合:您有一批同角色的候選節點(例如同一機場的多個落地),希望核心定期對每個候選做 HTTP 探測,在延遲可接受的前提下偏向選較快的那個,並在波動時依 tolerance 避免頻繁跳來跳去。fallback 則適合:您心裡有明確優先序(主線、備援、最後才直連),只要前面的節點健康檢查失敗就往後退;它不以「誰延遲最低」當唯一目標,而是以「清單順序+可用性」為主。

實務上常見組合是:對外給使用者一個 select(手動覆寫),其候選裡再放一個 url-testfallback 當「自動池」;或讓 MATCH 指到自動組,再把少數網域規則寫在前面直連。無論哪種,請牢記:規則命中的是「策略組名稱」,不是訂閱裡的原始節點字串;若規則仍指向舊的 select,您改了 url-test 也不會被走到。

健康檢查在測什麼?url 與逾時

url-testfallback 都會對清單內的候選節點發起輕量 HTTP(S) 請求(由 url 指定),以往返延遲是否成功判斷健康。常見的檢查 URL 會選體積小、CDN 穩定的端點(例如各家教學常用的 http://www.gstatic.com/generate_204 或類似 204/極小回應的路徑);重點是對您的節點池而言成功率夠高,且不要選會被機場或區網攔截的域名,否則會出現「其實能上網,但檢查全失敗」的假陰性。

若您把檢查間隔設得太短、同時候選節點很多,等於讓核心頻繁對外打探測流量;除了增加機場端負擔,也可能讓延遲統計抖動變大。一般會在可接受切換速度探測頻率之間取捨:家用客戶端常見設定是數百秒級的 interval,再視情況調整;需要更快反應時再縮短,並觀察是否引發過度切換。

1url-test:參數怎麼配?

proxy-groups 新增一組,type 設為 url-testproxies 填入已存在於 proxies 區塊(或訂閱合併結果)的節點名稱。url 為健康檢查位址;interval全輪詢週期的概念(實作細節依版本,請以您使用的 Mihomo 版本行為為準)。tolerance毫秒級的延遲容差,可視為延遲閾值外的緩衝帶:當目前選中的節點與測得最快節點差距在容差內時,可避免為了幾毫秒差異一直換節點;容差太小會變得敏感,太大則可能長期黏在次佳節點。

lazy: true 常見用途是:在該策略組尚未被任何連線實際使用前,先不做積極探測,以降低冷啟動時的背景流量。若您希望一載入設定就立刻完成首輪測速,可改為 false 或省略(依預設)。撰寫時請確認清單內沒有拼錯名稱,也不要把另一個策略組放進來卻造成循環引用(A 依賴 B、B 又依賴 A),否則載入會失敗。

# Snippet — url-test group; proxy names must exist
proxy-groups:
  - name: AUTO-BEST
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    lazy: true
    proxies:
      - NODE-A
      - NODE-B
      - NODE-C

小結:url-test 偏向「在候選裡挑延遲表現好的」,tolerance 用來抑制過度切換

2fallback:主備順序怎麼寫?

type: fallback 同樣使用 urlinterval 做健康檢查,但選路邏輯是:從清單最前面開始找第一個健康的節點。因此清單順序就是您的容錯優先級:可把「最希望長期使用的主線」放最前,「臨時備援」放中間,「再不行就換另一機場」放後面。當前排節點恢復健康時,是否立刻切回前排,與版本與健康狀態判定有關;實務上仍建議以日誌觀察實際切換是否符合預期。

# Snippet — fallback chain
proxy-groups:
  - name: AUTO-FALLBACK
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - PRIMARY
      - SECONDARY
      - TERTIARY

若您的主線是「高品質少跳點」、備援是「便宜大量節點」,fallback 通常比 url-test 更直覺:您不想只因為備援延遲稍低就整批換過去,而是主線掛了才退守。反之,若您在意的是晚高峰誰快,url-test 較合適。

3把規則接到策略組:否則永遠不會自動切

設定好 AUTO-BESTAUTO-FALLBACK 之後,請在 rules 裡把需要自動選線的流量,策略欄位寫成這個策略組名。Clash 系規則是由上而下先命中先贏;若前面已有寬鬆規則把流量送去別的組,後面寫再多也不會生效。這與 GEOIP/GEOSITE 分流 一文強調的順序問題同源:先確認第一條命中是誰。

rules:
  - DOMAIN-SUFFIX,corp.internal,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,AUTO-BEST

若您使用圖形客戶端(例如 Clash Verge 類),也要確認「目前選中的出站」是否仍指向舊的 GLOBALPROXY 手動組;介面上的選擇常會覆寫您以為已改好的預設行為。建議以連線日誌驗證:命中規則後,實際策略名稱是否為您的 url-testfallback 組。

4驗證是否生效:從面板到日誌

完成 YAML 後建議用固定流程驗收,避免同時改 DNS、TUN、規則而無法歸因。第一步:重載設定,確認沒有「策略組循環」或「找不到節點名稱」類錯誤。第二步:在客戶端檢視該 proxy-groups,觀察各候選是否出現延遲數字或健康狀態(依 UI 而定)。第三步:刻意製造故障(例如暫停主節點所在機房、或改錯單一節點密碼僅作測試環境),觀察 fallback 是否往清單後方退;對 url-test 則觀察是否改選延遲較低且穩定的候選。

第四步:把 log-level 調到 info 或更高(短時間即可),搜尋與策略組、健康檢查相關的訊息,確認探測 URL 沒有被全數封鎖。若您同時啟用 tun 或複雜 DNS,請記得健康檢查也會走代理鏈路;少數情境下會與 FakeIP/DoH 政策 交互影響,這時更要一次只改一個變因

常見坑與調參方向

  • tolerance 過小:url-test 在晚高峰可能頻繁換節點,部分網站登入態或長連線會感覺不穩;可逐步加大並觀察。
  • interval 過短:探測太密集,除了負擔,也可能讓延遲統計被偶發尖峰拉歪
  • 檢查 URL 不適合:全節點顯示失敗或延遲異常,優先懷疑URL 被封鎖需要直連卻走了錯誤策略
  • 候選混進不同用途節點:例如把「僅 TCP 的線路」與「遊戲 UDP 節點」放在同一池自動選,可能導致選到快但不支援您實際協議的線;應按場景拆池。
  • 與 relay 混用:若您使用 relay 雙跳,請確認自動組選到的是可支援鏈路與 UDP 需求的成員,不要把健康檢查當成萬能品質證明。

提醒:代理設定須符合所在地法規與服務條款;教學僅供合法合規的網路除錯與自用學習。

可合併進現有設定的最小範例

下列片段示範同時存在 url-testfallback 兩個自動池,並讓最外層 select 可手動覆寫;註解使用英文以利部分解析器相容。請將節點名稱替換為您訂閱中實際存在的條目,並與既有 dnstun 合併調整。

# Minimal pattern — merge with your proxies / dns / tun
mode: rule
log-level: info

proxy-groups:
  - name: AUTO-BEST
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    lazy: true
    proxies:
      - REPLACE-A
      - REPLACE-B

  - name: AUTO-FALLBACK
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - REPLACE-PRIMARY
      - REPLACE-BACKUP

  - name: PROXY
    type: select
    proxies:
      - AUTO-BEST
      - AUTO-FALLBACK
      - DIRECT

rules:
  - MATCH,PROXY

上例將決策收斂在 PROXY 這個手動組:日常可選 AUTO-BEST 追求體感速度,出國或特殊時段改選 AUTO-FALLBACK 強調主備穩定。您也可以把 MATCH 直接指到其中一個自動組,但會降低臨時手動介入的彈性。

開源資訊與安裝包取得方式

Mihomo 上游以開源方式維護,需要查核版本行為或提交 Issue 時適合前往公開程式庫。日常下載或更新圖形客戶端,建議優先使用 本站 Clash 下載頁,並搭配 設定說明文件;將「取得安裝包」與「閱讀原始碼」分開,可避免誤以為必須自行從 Release 頁拼裝環境。

結語

url-testfallback 都是透過 proxy-groups 把「自動換線」變成可讀、可維護的設定:前者偏延遲最佳化,後者偏主備容錯。兩者都仰賴合理的健康檢查 URLinterval 與(在 url-test 情況下的)tolerance,並且一定要讓 rules 真的命中到對應策略組,才算完成閉環。把驗收固定成「重載無錯誤 → 面板狀態合理 → 日誌確認命中與切換」,通常比盲目堆節點更有效。

相較於只靠手動切換或依賴訂閱預設排序,在 Clash MetaMihomo 裡顯式寫出 url-testfallback,長期更容易與 relay、GEOIP、DNS 政策並存而不互相打架。若您接下來要處理 HTTPS 只有 IP、域名規則不觸發的問題,可再串接 Sniffer 與 DNS 相關文章,但自動策略組本身仍應先確認名稱與命中順序無誤。

相較於其他同類工具,Clash 系在「規則、策略組、日誌」三者之間的對照關係較一致,對需要延遲閾值自動切換的使用者較友善。完成上述設定後,建議保留一段時間的觀察期,再微調 intervaltolerance,以符合您實際網路環境與使用時段。

立即免費下載 Clash,開啟流暢上網新體驗

Clash Meta / Mihomo 客戶端 url-test · fallback

url-test 定期量測每個節點的延遲並自動選最低者;fallback 在主節點失敗時切換備援。兩者結合可在幾乎不中斷的情況下自動維護最佳出口。

延遲自動最優

url-test 依 interval 定期刷新

故障自動切換

fallback 切換到下一個可用節點

閾值可調

tolerance 避免節點因抖動頻繁切換

文件參考

搭配本站健康檢查與 proxy-groups 專題

上下篇導覽

相關閱讀

url-test/fallback 先對齊規則

從本站下載 Clash(Mihomo 核心),用日誌確認流量命中的是您的自動策略組名稱;再調 interval、tolerance,避免假健康或過度切換。

免費下載客戶端