Clash 設定檔(Profile)是什麼:基礎概念與多設定管理方法
Profile 到底裝了什麼?從訂閱連結與本地檔案的差異講起,說明設定更新、合併與多設定切換的基本做法,避免一改就消失的常見問題。
Profile 是什麼:一張寫滿交代事項的方子
先回答最常見的問題:Clash 裡說的「設定」(Profile)到底是什麼?它是一份 YAML 格式的純文字檔案。Clash 啟動後的一舉一動——從哪個埠收連線、流量按什麼順序分流、最終交給哪個節點出去——全部照這份檔案執行。在 Clash Verge、Clash for Windows 以及各類 mihomo 圖形用戶端裡,「設定」頁籤下列出的每一項,就是一份獨立的 Profile,點擊即可在多份之間切換生效。
隨便打開一份來看,結構大同小異:一組通用設定,加三段核心內容。
mixed-port: 7890 # 本地代理埠
allow-lan: false # 是否允許局域網裝置連入
mode: rule # 分流模式:rule / global / direct
log-level: info
proxies: # 節點清單
- name: "節點A"
type: ss
server: example.com
port: 8388
cipher: aes-128-gcm
password: "your-password"
proxy-groups: # 代理群組:把節點編組,供規則呼叫
- name: 自動選擇
type: url-test
proxies: ["節點A", "節點B"]
url: http://www.gstatic.com/generate_204
interval: 300
rules: # 分流規則:從上到下逐條比對
- DOMAIN-SUFFIX,google.com,自動選擇
- GEOIP,CN,DIRECT
- MATCH,自動選擇
- proxies:節點清單。每個節點寫明協定類型、伺服器、埠與憑證,是整份設定的原料。
- proxy-groups:代理群組。把節點編成組——手動選擇、自動測速(url-test)、故障轉移(fallback)——規則只跟群組打交道,不直接指名節點。
- rules:分流規則。從上到下逐條比對,命中哪條就走哪條指定的去向,結尾的 MATCH 負責兜底。
- 通用設定:mixed-port(本地代理埠)、allow-lan(是否允許局域網裝置連入)、mode(rule / global / direct 三種模式)、log-level 等;mihomo 核心的設定裡還會有 dns、tun 等區段。
一句話記住:proxies 是藥材,proxy-groups 是藥櫃的抽屜,rules 是抓藥的先後順序。三樣齊了,方子才煎得出來;缺了 rules,所有流量只走一個群組;缺了 proxies,則無藥可抓。
訂閱連結與本地檔案:Profile 的兩種來源
按來源分,Profile 只有兩種:訂閱連結產生的,和本地檔案匯入的。兩者在用戶端的設定列表裡長得一模一樣,脾氣卻完全不同。分不清楚,是日後一切「改動消失」問題的根源。
| 對比項 | 訂閱連結 | 本地檔案 |
|---|---|---|
| 來源 | 服務商託管的遠端位址 | 自己保存的 YAML 檔案 |
| 更新方式 | 用戶端手動或定時拉取,整份取代 | 不會自動變化,只能手動編輯 |
| 手動改動 | 更新後被覆蓋消失 | 一直保留 |
| 典型用途 | 服務商分發的節點與規則 | 自寫設定、二次加工後的設定 |
訂閱連結的本質並不神秘:服務商把一份 YAML 託管在某個網址上,用戶端按位址下載,存成設定目錄裡的一個本地副本。所以訂閱設定同樣是你硬碟上的一個 .yaml 檔案,只是它帶一個會定時回去「抄最新版」的機制——這直接引出下一節的症狀。
為什麼「一改就消失」:訂閱更新是整份覆蓋
症狀:在訂閱設定裡加了幾條規則、改了個埠,當時一切正常;過幾天再看,改動全部還原,像是沒動過手。
病因:更新訂閱這個動作,等於按原連結重新下載遠端檔案,然後整份取代本地副本。用戶端不做差異比對,更不會替你保留手動改動。如果設了自動更新間隔(常見 24 或 48 小時),到點就自動覆蓋,全程不打招呼。這不是故障,是訂閱機制的本分——它的職責就是讓你的設定和服務商保持一模一樣。
醫囑
凡是來源為訂閱連結的設定,一律不要直接在裡面改。要改,先按下一節的三條路子選一條,再動手。
保住自訂修改的三條路子
按改動量從小到大,依序抓藥:
- 合併 / 覆寫機制(首選)。Clash Verge 的「合併(Merge)」處理、Clash for Windows 的 Mixin,思路相同:訂閱原文一個字不動,你另寫一小段 YAML 補丁,用戶端載入設定時把補丁疊上去。訂閱更新只換底稿,補丁照常生效。適合改 dns 區段、增刪幾條規則、調埠這類小手術。兩點醫囑:補丁裡欄位名寫錯會靜默失效,改完務必重載設定並看一眼日誌;補丁與原文衝突時的優先順序,以各用戶端文件為準。
- 複製為本地設定再改。把訂閱下載得到的檔案另存一份,以本地檔案方式匯入,從此隨意編輯,更新覆蓋與你無關。代價是與訂閱脫鉤:節點增刪、規則修訂都得自己手動同步回來。適合改動量大、且訂閱本身更新不頻繁的情形。
- proxy-providers / rule-providers 拆分引用(mihomo 核心)。自建一份本地主設定:節點清單交給 proxy-providers 指向訂閱位址,規則集交給 rule-providers 外連。主設定完全由你掌管,訂閱只是被引用的藥材供應,兩邊更新互不干擾。
proxy-providers:
我的訂閱:
type: http
url: "https://example.com/subscribe.yaml"
interval: 86400
path: ./providers/subscribe.yaml
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300
第三條路門檻最高,也最一勞永逸:主設定裡只寫自己的代理群組與規則骨架,節點隨訂閱自動換新,從此再無「覆蓋」一說。
多設定並存:命名、切換與備份
一個人同時備著兩三份設定並不稀奇:不同服務商各一份、主備線路各一份、工作與家用分開。多設定的日常管理,抓以下幾味:
- 匯入即改名。預設名稱往往是一串看不出所以然的字元,改成「來源 + 用途」的形式,三個月後還認得。
- 統一埠。各份設定裡的 mixed-port 保持一致(例如都用 7890)。否則切完設定,系統代理與其他軟體裡寫死的埠會對不上,症狀是「切完就沒網路」。
- 更新間隔別貪短。訂閱設定設 24 小時一檔即可,拉得太頻繁沒有收益,只增加改動被覆蓋的次數。
- 切換後三查。目前模式是否仍是 rule、系統代理有沒有掛上、存取一個境外網站驗證線路是否通暢。切換設定會重建核心,進行中的連線斷一下屬正常現象。
- 備份兩件套。設定目錄整個複製一份收好;訂閱連結本身單獨記下來——連結在手,設定隨時能重建,這是最管用的救命藥引。
常見症狀速查
- 更新訂閱後自訂規則消失 → 改用合併覆寫或本地副本,方子見第四節。
- 匯入訂閱提示解析失敗 → 連結回傳的多半不是 YAML:有些訂閱位址要識別用戶端標識才回傳 Clash 格式,或需先經訂閱轉換;檔案編碼異常也會報此類錯誤。
- 切設定時提示埠被佔用 → 兩份設定的 mixed-port 撞車,或上一個核心行程沒退乾淨,結束殘留行程再切。
- 改了設定不生效 → 改完需重載或重新啟動核心;有的用戶端存檔即重載,有的要手動點一下,別漏這一步。
Profile 的概念到這裡就收齊了:一份 YAML、兩種來源、一條覆蓋鐵律、三條保改動的路子。方子開好,照抓即可。用戶端本身的取得與首次匯入訂閱,走下面的入口。