Clash 設定檔是什麼:Profile 基礎概念與多設定切換管理
Profile 是 Clash 的核心載體,決定節點、規則與策略組。本文說明設定檔的結構與來源,並給出多訂閱並存時的命名、更新與切換方法,避免互相覆蓋。
NT-05.1Profile 是什麼
Clash 客戶端啟動後,介面上看到的節點列表、策略組、分流規則,全部來自同一份檔案——習慣上稱為 Profile,即設定檔。它本質是一份 YAML 文本,描述了「有哪些代理節點」「節點如何分組」「什麼流量走什麼策略組」這三件事。客戶端本身只是一個執行器,不儲存任何節點資訊,所有行為都由目前載入的 Profile 決定。這也是為什麼同一個客戶端,換一份設定檔後,介面上的節點、分組、規則會完全變成另一套內容。
理解 Profile 的意義在於:遇到「節點不見了」「規則不對」「分組名字變了」這類問題時,第一反應不是懷疑客戶端故障,而是先確認目前載入的是哪一份設定檔、這份檔案最近有沒有更新過。多數使用中的困惑,根源都在設定檔層面,而不是客戶端程式本身。
NT-05.2設定檔的結構組成
一份標準的 Clash / mihomo 設定檔由若干頂層欄位構成,常見欄位及作用如下表。欄位名稱區分大小寫,書寫時需與規範完全一致。
| 欄位 | 作用 |
|---|---|
| proxies | 節點列表,逐條聲明協定類型、位址、埠與驗證參數 |
| proxy-groups | 策略組,把若干節點歸為一組,並指定選擇方式(手動/自動測速/負載平衡) |
| rules | 分流規則,依網域、IP、程序等條件把流量指向某個策略組 |
| rule-providers | 外部規則集引用,規則數量較大時避免寫死在 rules 中 |
| dns | DNS 解析行為,包括 nameserver、enhanced-mode、fake-ip 範圍等 |
| tun | 虛擬網卡相關開關,用於接管系統代理管不到的流量 |
一份最簡結構大致如下,實際設定欄位會更多,但骨架不變:
proxies:
- name: "示範節點"
type: vmess
server: example.example
port: 443
uuid: 00000000-0000-0000-0000-000000000000
proxy-groups:
- name: "自動選擇"
type: url-test
proxies: ["示範節點"]
url: "http://www.gstatic.com/generate_204"
interval: 300
rules:
- DOMAIN-SUFFIX,example.com,自動選擇
- MATCH,DIRECT
三段結構存在明確的依賴順序:proxy-groups 引用 proxies 中聲明的節點名稱,rules 又引用 proxy-groups 中的策略組名稱。任何一段的名稱異動,如果沒有同步改另外兩段,就會出現「策略組找不到節點」或「規則指向一個不存在的分組」的錯誤,這是設定檔最常見的手寫錯誤來源。
NT-05.3設定檔的來源:本地檔案與訂閱連結
設定檔通常有兩種取得方式,決定了後續維護成本完全不同。
- 本地檔案:手寫或從他處下載的 YAML 檔案,匯入客戶端後不會自動變化,節點失效需要手動替換整個檔案。
- 訂閱連結:一個 HTTP/HTTPS 位址,客戶端定期請求該位址取得最新內容並覆蓋本地快取。節點池更新、到期提醒、流量資訊通常都透過這個連結的回應標頭攜帶。
大多數客戶端支援為訂閱設定自動更新間隔,常見做法是設為每日一次或數小時一次。間隔過短會給訂閱源伺服器造成負擔,部分服務商會對請求頻率過高的客戶端做限速甚至封鎖,更新間隔沒有必要設得比服務商建議的更短。
NT-05.4多設定並存:命名、更新與切換
同時使用多個訂閱是常見場景,例如一個日常使用、一個備用、一個專供某類應用測試。多份設定並存時,最容易出現的問題是互相覆蓋:兩份訂閱在客戶端裡顯示同樣的預設名稱,更新時選錯對象,或者切換後忘記確認目前生效的是哪一份。以下幾點可以降低出錯機率。
- 匯入訂閱時立即重新命名,加入用途與來源標記,例如區分「日常」與「備用」,不要保留客戶端自動產生的預設名稱。
- 更新前先確認目前選中的設定對象,再執行更新操作,避免在切換到另一份設定後誤觸了原本那份的更新按鈕。
- 為不同用途的設定設置不同的自動更新間隔,長期不用的備用訂閱可以關閉自動更新,減少背景請求。
- 切換設定後重新檢查策略組選擇狀態,不同訂閱的分組結構、命名可能不一致,切換後原本手動選定的節點未必還存在。
- 規則較多、自訂程度高的設定,建議保留一份本地備份,防止訂閱源變更導致自訂規則被整體覆蓋。
訂閱更新是整份檔案覆蓋,而不是增量合併。如果在客戶端介面裡手動調整過節點分組或追加了自訂規則,下一次訂閱更新會把這些手動改動一併抹除,除非客戶端本身支援獨立的「使用者規則」疊加機制。
NT-05.5常見排查思路
當介面出現「節點數量對不上」「規則不生效」「策略組消失」等現象,可以按以下順序確認,大多數情況都能在設定檔層面找到原因,而不需要重裝客戶端。
- 確認目前生效的是哪一份設定檔,是否剛發生過自動更新。
- 開啟設定檔原始內容,核對 proxy-groups 引用的節點名稱是否都在 proxies 中存在。
- 核對 rules 中引用的策略組名稱是否與 proxy-groups 中的名稱完全一致,包括大小寫與全半角符號。
- 如果使用了 rule-providers,確認外部規則集位址是否可存取、格式是否符合客戶端要求。
- 排除設定檔本身問題後,再考慮節點伺服端或本機網路環境的因素。
把設定檔當作可讀、可核對的文本對待,而不是一個只能整體替換的黑箱,是長期穩定使用 Clash 系客戶端的基本習慣。多份設定並存時,清晰的命名與更新紀律,比任何客戶端功能開關都更能降低出錯機率。