代理群組完整解析:select、url-test、fallback 怎麼選
本文目錄
打開訂閱回傳的設定檔,你會看到一堆看似重複的群組:手動選擇、自動選擇、串流影音、國外網站……這些就是代理群組(proxy-groups)。它們不是節點,而是節點的組織方式——規則只要指向群組,群組再決定實際用哪個節點。
mihomo 常用的群組類型有四種:select 手動選、url-test 自動挑最快、fallback 依序備援、load-balance 分攤連線。搞懂它們的差別,你才知道為什麼有人切了節點卻沒生效,也才有辦法自己組出順手的結構。
代理群組到底解決什麼問題
想像訂閱裡有 40 個節點。如果沒有群組,分流規則就得直接寫死某個節點名稱,節點一下架規則就壞了;想換線路也得逐條改規則。群組把這件事拆成兩層:規則只認群組名稱,群組內部換節點完全不影響規則。
第二個好處是切換的顆粒度。你可以讓串流影音走一組固定地區的節點,一般瀏覽走自動測速那組,兩者互不干擾。規則與群組的引用關係,可以先看mihomo 設定檔入門裡的那條引用鏈。
select:最常用的手動選擇群組
你在客戶端介面上點來點去切節點的那個群組,多半就是 select。它不做任何自動判斷,完全聽你的:
proxy-groups:
- name: 手動選擇
type: select
proxies:
- 自動選擇
- HK-01
- JP-02
- DIRECT
注意 proxies 清單裡可以放節點名稱、其他群組名稱,也可以放 DIRECT 或 REJECT。把 DIRECT 放進去很實用:臨時想讓某類流量不走代理,切一下就好,不必改規則。
url-test:自動測速挑最快的那個
它會定期用一個測試網址去量每個節點的延遲,然後自動選最低的:
- name: 自動選擇
type: url-test
proxies:
- HK-01
- JP-02
- SG-03
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
interval 是測試間隔(秒),300 代表每五分鐘重測一次;tolerance 是容差(毫秒),只有當別的節點比目前這個快超過這個值,才真的切換,避免延遲小幅波動就一直跳來跳去。測試網址習慣上用會回傳空內容、狀態碼 204 的端點,量的是連線往返時間,不是實際下載速度。
觀念提醒:延遲低不等於吞吐量大。看影片、下載大檔時,延遲最低的節點未必最順,這時候手動選擇群組反而更可靠。
fallback 與 load-balance:備援與分攤
fallback 的邏輯是「按順序用,壞了才換」:清單第一個節點只要還連得上就一直用它,測試失敗才依序往下遞補。適合有主力線路、其餘當備援的情境。
- name: 故障備援
type: fallback
proxies:
- HK-01
- JP-02
- SG-03
url: https://www.gstatic.com/generate_204
interval: 300
load-balance 則把連線分散到群組內多個節點上,由策略決定分配方式。consistent-hashing 會讓同一個目標網域盡量固定走同一個節點,對需要維持登入狀態的網站比較友善;round-robin 則單純輪流。
- name: 負載平衡
type: load-balance
proxies:
- HK-01
- HK-02
strategy: consistent-hashing
url: https://www.gstatic.com/generate_204
interval: 300
群組巢狀:訂閱裡最常見的結構
群組可以引用群組,這是訂閱設定檔看起來複雜的主因,但拆開來其實只有兩層:地區群組負責「同一地區選哪個節點」,功能群組負責「這類流量該去哪個地區」。
proxy-groups:
- name: 串流影音
type: select
proxies:
- 香港自動
- 日本自動
- DIRECT
- name: 香港自動
type: url-test
proxies:
- HK-01
- HK-02
- HK-03
url: https://www.gstatic.com/generate_204
interval: 300
分流規則只要寫成指向「串流影音」這類功能群組,日後節點增減都只改地區群組即可。這也解釋了一個常見疑惑:有人在最外層切了節點卻沒效果,原因是外層群組指向的其實是另一個自動群組,真正決定出口的是內層。碰到這種情況,順著群組名稱往裡面追一層就找得到。
四種群組類型速查表
| 類型 | 怎麼決定出口 | 適合場景 | 要注意什麼 |
|---|---|---|---|
select | 由你手動指定 | 需要精準控制、臨時切直連 | 節點下架後會退回預設項 |
url-test | 定期測延遲,自動選最低 | 日常瀏覽,懶得管線路 | 延遲低不代表速度快 |
fallback | 依清單順序,前一個失效才換 | 有明確主力線路與備援 | 順序就是優先級,別隨手排 |
load-balance | 依策略把連線分散到多個節點 | 多條同地區線路想一起用 | 會話一致性看策略,登入類網站慎用 |
實務上大多數人只需要 select 加一個 url-test 就夠用了,其餘兩種等有明確需求再加。群組整理好之後,下一步是讓規則正確指向它們,寫法見分流規則入門;如果你的設定檔來自服務商而不是自己寫的,也可以先照訂閱匯入教學把它更新到最新版本,再回頭研究裡面的群組結構。