Clash Profile 是什麼:設定檔基礎概念與多重設定檔切換管理入門
Profile 是 Clash 客戶端載入的完整設定單元,與訂閱、節點、規則屬於包含關係。本文說明設定檔的來源、存放位置、更新機制,以及多組設定並存時的切換與管理方式。
Profile 是 Clash 客戶端載入的完整設定單元,與訂閱、節點、規則屬於包含關係。本文說明設定檔的來源、存放位置、更新機制,以及多組設定並存時的切換與管理方式。
在 Clash 及其衍生核心(Clash Premium、Clash Meta、mihomo)的語境裡,Profile(設定檔)指的是客戶端實際載入並生效的那一份完整 YAML 檔案。它不是「訂閱」的同義詞,也不是「節點列表」的同義詞——訂閱只是取得設定檔的一種管道,節點只是設定檔裡的一段內容。先弄清楚這層包含關係,後面談到存放位置、更新邏輯、多重設定切換時才不會混著講。
一份典型的 Clash 設定檔通常依序包含以下幾段:
這五段合在一起,才構成一份完整可用的 Profile。少了 proxies 段,策略群組無從選擇;少了 rules 段,客戶端只能依 mode 裡的全域預設行為處理所有流量,談不上「分流」。
依取得方式,Profile 大致可分三類,日常使用中經常混用:
這是最常見的方式。服務方提供一個 HTTP(S) 連結,客戶端請求該連結後,伺服端回傳節點資訊(有的直接是完整 YAML,有的是 Base64 編碼的節點列表)。多數 Clash 系客戶端(Clash Verge、FlClash、ClashX Meta 等)會在取得節點資料後,結合內建或自訂的規則範本,拼裝成一份完整可用的 Profile,再儲存到本地。這也是為什麼同一條訂閱連結,在不同客戶端匯入後,策略群組結構、規則數量可能不完全一樣——拼裝範本不同。
如果已經有別人分享的或自己整理的 YAML 檔案,可以透過客戶端的「從檔案匯入」功能直接載入,不須經過網路請求。這類 Profile 不會自動更新,內容完全固定,適合除錯與離線場景。
進階使用者會直接用文字編輯器或客戶端內建的設定編輯面板,手寫或修改 proxy-groups、rules 段,常見場景包括:替某個策略群組加入自訂節點、替某類 App 單獨指定出口、封鎖特定網域。這類修改建議先備份原始檔案,避免語法出錯導致客戶端載入失敗後無法還原。
Profile 是本地檔案,具體存放路徑因客戶端而異,排查問題時經常需要手動到目錄裡確認檔案是否真的更新了。常見客戶端的大致存放規律如下:
| 客戶端 | 設定檔存放規律 | 說明 |
|---|---|---|
| Clash Verge / Clash Verge Rev | 應用程式資料目錄下的 profiles 資料夾,每個訂閱對應一個以雜湊值/UUID 命名的 .yaml 檔案 | 由 config.yaml 記錄目前啟用的是哪一份 |
| ClashX Meta(macOS) | 使用者目錄下的 .config/clash/ 資料夾 | 可直接用終端機或編輯器開啟對應檔案 |
| FlClash(跨平台) | 應用程式私有資料目錄內的 profile 子目錄 | 行動端一般不建議直接改檔案,走內建編輯面板更安全 |
| 純核心(mihomo/Clash Meta core) | 啟動參數 -f 指定的路徑,預設讀取目前目錄下的 config.yaml | 沒有 GUI 包裝,路徑完全由啟動方式決定 |
需要強調的是,大多數圖形化客戶端並不建議使用者直接到應用程式資料目錄裡手動修改這些自動產生的檔案——因為客戶端自身的更新邏輯可能會在下次刷新時把手動修改的內容覆蓋掉。如果確實需要長期保留自訂規則,更穩妥的做法是使用客戶端提供的「合併設定」或「覆寫(override)」功能,把自訂片段單獨存放,再疊加到訂閱產生的主設定之上。
只有透過訂閱連結取得的 Profile 才具備「更新」這個動作,本地匯入或手寫的檔案不會自己變化。更新機制主要看兩個欄位:
更新時客戶端一般只替換節點相關內容,不會動到使用者在本地額外新增的自訂規則(前提是用了「合併/覆寫」機制,而不是直接改了自動產生的檔案本體)。如果發現更新後自訂的分流規則消失了,大概率是因為改動寫在了會被覆蓋的主檔案裡,應該改用覆寫功能重新設定。
大多數使用者不會只用一份設定——比如同時訂閱了兩個服務商,或者本地儲存了一份用於串流媒體分流的客製版本、一份用於日常上網的精簡版本。這種情況下,設定檔的「切換」和「管理」就成了日常操作裡繞不開的一環。
客戶端核心在運行時只會載入一份 Profile。圖形介面上看到的「設定清單」本質上是多份已儲存的 YAML 檔案,點擊某一項即把它設為目前啟用的設定,客戶端會重新讀取核心並套用新的 proxies、proxy-groups、rules。切換過程通常伴隨短暫的連線中斷,是正常現象。
設定數量一多,靠預設產生的檔名很難分清用途,建議在客戶端裡替每份設定重新命名,標註清楚來源與用途,例如區分「日常訂閱」「臨時測試」「本地自訂規則」等類別,減少切錯設定的機率。部分客戶端支援替設定加上標籤或分組,可以依場景歸類管理。
如果只是想在現有訂閱基礎上加幾條自訂規則(比如把某個內部服務網域強制直連),不必新建一份完整設定,更推薦使用客戶端的「覆寫(override)」或「合併設定」功能。這類功能允許單獨維護一小段 YAML 片段(通常只包含要新增或取代的規則),套用時疊加在主設定之上,主設定更新後覆寫片段依然保留,不需要重複新增。
長期不用的測試設定建議及時刪除,尤其是包含真實節點憑證的檔案——即便訂閱已經失效,檔案裡的金鑰資訊仍然是明文儲存在本地的,清理舊設定也是基本的使用衛生習慣之一。
| 疑問 | 結論 |
|---|---|
| Profile 和訂閱是一回事嗎 | 不是,訂閱是取得 Profile 的一種管道,Profile 是最終生效的完整設定檔 |
| 手動修改設定檔會不會被下次更新覆蓋 | 直接改自動產生的主檔案會被覆蓋,建議用覆寫/合併功能單獨保存自訂內容 |
| 多份設定能同時生效嗎 | 核心同一時刻只載入一份,多重設定靠切換而非同時疊加(疊加靠覆寫機制) |
| 本地匯入的檔案會自動更新嗎 | 不會,只有綁定了訂閱連結的設定才具備自動/手動更新能力 |
把這幾點理清之後,再去看客戶端介面上的「設定管理」「訂閱資訊」「覆寫」這些標籤,就能對應到本文講的儲存、更新、疊加三套機制,不容易再把 Profile、訂閱、節點、規則這幾個概念混著用。