本文目錄
自動選擇有不同的需求:有人希望延遲更低,有人只想在主要線路失效時使用備用,也有人需要在登入期間固定出口。確認自己要哪種結果,再選策略群組與測試方法;看似相近的設定,可能會影響長時間連線與帳號工作階段。
url-test、fallback、select 和 load-balance 怎麼選?
策略群組的選擇方式
| type | 它怎麼決定 | 適合情境 |
|---|---|---|
| select | 由使用者手動選擇 | 疑難排解、固定帳號出口、重要長連線 |
| url-test | 根據健康檢查延遲選擇 | 同等級節點的日常自動選擇 |
| fallback | 按清單順序選第一條可用項 | 主備切換,優先級明確 |
| load-balance | 按策略把連線分給多項 | 用於並行分流,不依固定主備順序選擇 |
候選節點:可用性、篩選與空清單
建立自動群組前,用 select 固定候選節點,各完成一次實際請求。協定不受目前核心支援、訂閱失效或在本機網路完全不可達的節點,應先移出候選;否則健康檢查會持續出現錯誤,大量重複錯誤也會讓有效日誌難以查找。
節點可直接寫進 proxies,也可用 use 引用 proxy-providers。provider 更新會改變候選名單,檢查名稱過濾、地區篩選與空清單,也讓節點名稱能區分地區或線路。
健康檢查的 URL 與實際業務請求
健康檢查會讓每個候選節點存取 url 指定的位址。位址本身不穩定、在某些地區被拒絕,或必須登入,整組結果都會失真。通常選擇穩定、回應很小、無需帳號的 HTTPS 位址,例如回傳 204 的探測頁。
測試 URL 最好和日常存取內容接近,但不要使用帶個人 token 的 API,也不要給第三方網站製造高頻請求。同一個節點探測成功,只能說明這個 URL 在當時可達,影片、AI 串流回覆和 UDP 仍要在對應應用裡驗證。
proxy-groups:
- name: 自动选择
type: url-test
include-all: true
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
lazy: trueinterval、tolerance、lazy 與探測超時
- interval
- 兩次健康檢查的間隔,單位為秒。太短會增加流量和伺服器端壓力。
- tolerance
- url-test 的延遲容差,單位為毫秒。差距不明顯時保留目前選擇,可減少來回切換。
- lazy
- 組沒有被使用時減少或停止主動檢查,適合不是一直使用的策略群組。
- timeout
- 某些設定可設單次探測等待時間。太短會把偶發慢回應當作不可用。
沒有一組參數適合所有網路。家庭網路穩定、節點延遲接近時,可用較長 interval 和適度 tolerance。行動網路頻繁切換,也不應把間隔壓到幾秒;新請求可能頻繁更換出口,既有連線是否中斷取決於節點故障,以及用戶端是否關閉舊連線。
修改後觀察一段實際使用。如果 Connections 中的節點幾分鐘內來回變化,而各候選只差幾十毫秒,先增大 tolerance 或 interval,而不是繼續增加節點。
fallback 的主線路與備用順序
fallback 不會因為第二條延遲更低就跳過去。只要第一條通過健康檢查,它就繼續使用第一條;第一條不可用,才選擇後面的可用項。因此設定順序應體現業務偏好,例如穩定主線在前、成本更高或地區不同的備用線在後。
proxy-groups:
- name: 主线路
type: select
include-all: true
filter: "(?i)主线"
proxies: [DIRECT]
- name: 同区备用
type: select
include-all: true
filter: "(?i)同区备用"
proxies: [DIRECT]
- name: 异区备用
type: select
include-all: true
filter: "(?i)异区备用"
proxies: [DIRECT]
- name: 主备线路
type: fallback
proxies: [主线路, 同区备用, 异区备用]
url: https://www.gstatic.com/generate_204
interval: 300
lazy: true主線路恢復後,fallback 會在後續健康檢查中重新判斷。切回時既有連線不一定移轉,新請求才更容易看到新出口;帳號管理介面和長時間下載仍應考慮使用固定 select,避免出口變化影響工作階段。
按地區組合 url-test 與 fallback
候選節點很多時,不必全部放進同一個 url-test。可以為每個地區分別建立 url-test,再把地區群組依優先順序加入 fallback。每個地區先選延遲較低的節點;目前地區無法使用時,再切換到下一個地區。Connections 中還能看到請求經過了哪些策略群組。
群組的巢狀層數越多,空 provider、循環引用和同名群組越難發現。兩層足夠就不要加第三層;每個地區群組都應能單獨使用,再加入主備群組。
proxy-groups:
- name: 香港自动
type: url-test
include-all: true
filter: "(?i)香港|HK"
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
- name: 日本自动
type: url-test
include-all: true
filter: "(?i)日本|JP"
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
- name: 地区主备
type: fallback
proxies: [香港自动, 日本自动]
url: https://www.gstatic.com/generate_204
interval: 300在獨立測試組裡觀察選擇與故障切換
前面的 YAML 片段只定義策略群組。編輯完整設定的副本,把新增群組加入既有 proxy-groups 清單,保留原來的節點、proxy-providers 與 rules;不要用片段替換整份設定,也不要重複寫 proxy-groups 鍵。
以 Clash Verge Rev v1.6.2 及之後版本為例,將完整 YAML 副本拖入用戶端,建立本機設定後選擇使用。新群組應出現在 Proxies;載入失敗時重新選取原設定並查看日誌,不覆蓋原訂閱檔案。
不干擾日常會話的驗證方法
使用設定副本裡的獨立測試群組
不要在正在下載、開會或登入重要帳號時試切換。
手動觸發一次健康檢查
記錄每個候選的結果和目前選取項目;示例的下層 select 群組應指向實際代理節點,而非 DIRECT。
讓瀏覽器走該策略群組
Connections 應顯示上層組、下層節點和實際出口。
觀察下一輪檢查
url-test 看容差內是否保持,fallback 看清單前項是否優先。
測試 fallback 時,可以把一個已確認失效、且不含敏感資訊的測試節點暫時放在最前,只在獨立群組裡觀察它是否切換到第二項;完成後立即移除。不要透過斷網、關閉系統代理或破壞正式環境設定來製造故障,那會同時改變太多變數。
空名單、探測失敗與頻繁換節點的處理
組顯示空白
檢查 proxies / use 引用、provider 更新時間和節點篩選結果。
全部候選 Timeout
單獨測試 health URL,再比較目前網路與實際節點請求。
url-test 一直在兩條節點間切換
增加 tolerance 或 interval,並確認探測位址穩定。
fallback 總選第二項
第一項沒有通過健康檢查;查看它的具體錯誤而不是調順序。
切換後帳號頻繁重新登入
把敏感會話放進固定 select 組,避免自動變更出口。
provider 更新後組突然為空
核對過濾表達式和新節點名稱,舊快取可能掩蓋此前問題。
用網頁、長回覆與下載驗收自動組
把目標服務的規則指向自動組,連續完成幾次網頁、串流回覆或下載。Connections 應顯示預期的上層組和具體節點;url-test 不應因微小延遲差頻繁跳動,fallback 應在主線路可用時保持第一項。
健康檢查正常而原業務仍失敗時,改用 select 固定目前節點重測,再檢查協議、DNS 或目標服務。
