一、Profile、訂閱與執行設定的關係

Clash 用戶端中的 Profile,通常是指可儲存、選取並交由核心載入的一筆設定記錄。來源可能是訂閱網址,也可能是本機 YAML 檔案。清單中有三張設定卡片,不代表三份代理設定會同時啟用;常見的桌面用戶端一次只會選用一份主要設定,再套用用戶端設定與覆寫內容,產生交給核心執行的設定。

本文以 Clash Verge Rev 等使用 mihomo 核心的桌面用戶端為操作範例。不同用戶端可能將功能入口標示為「訂閱」、「設定」或「Profiles」;下文也會說明要尋找的功能。舊版 Clash 核心與 mihomo 支援的欄位不盡相同,不能只看副檔名是 .yaml 就認定設定可以通用。

項目儲存內容更新方式
遠端 Profile訂閱網址、下載的設定與用戶端記錄手動更新或定時更新
本機 Profile手動建立或匯入的 YAML自行編輯;外部檔案是否同步,視用戶端而定
覆寫設定對基礎設定新增或修改的欄位與規則由用戶端的合併功能或指令碼處理
執行設定實際提交給核心的最終設定選取設定、套用設定或重新載入時產生

訂閱內容也有不同類型:有些會回傳完整設定,有些只提供節點資訊。完整設定通常包含代理、代理群組與規則;只有節點資料時,可能需要透過用戶端支援的轉換方式或 proxy-providers 匯入,不能直接當成完整的 Profile 使用。請勿將含有存取權杖的訂閱網址提交給不可信任的線上轉換服務。

二、匯入兩份訂閱,先命名再啟用

管理多份設定時,首先要解決的是辨識問題。只用「訂閱 1」、「訂閱 2」命名,過一段時間就很難分辨哪份可以編輯、哪份會由遠端更新。建議分開記錄用途、來源代號與設定類型;顯示名稱不要包含存取權杖、電子郵件或完整訂閱網址。

建立容易辨識的設定記錄

  1. 開啟左側的「訂閱」或「Profiles」,找到訂閱連結輸入欄,貼上服務提供者給的 Clash 相容網址,再按一下「匯入」。等設定卡片出現後,別把貼上成功誤認為下載成功。
  2. 開啟卡片的右鍵選單或更多選單,進入「編輯資訊」等功能,將名稱改為「日常-A-遠端」。確認記錄中仍保留正確的遠端網址,再儲存。
  3. 用相同方式匯入第二份,命名為「備用-B-遠端」。如果匯入時出現格式錯誤,先確認回傳內容是 YAML,而不是網站登入頁面或過期通知。
  4. 點選「日常-A-遠端」卡片。看到選取標記後,前往「代理」頁面,確認有顯示這份設定所定義的代理群組與節點。

以上名稱只是用戶端顯示名稱,不會自動修改 YAML 中代理群組的 name。如果規則指向名為 PROXY 的代理群組,只把群組名稱改成「日常代理」卻沒有同步修改引用,可能會造成設定載入失敗。初次整理時只修改卡片名稱,先保留內部群組名稱。

三、切換多份訂閱後,確認四項設定是否生效

從 A 切換到 B,改變的不只是節點清單。DNS、規則、代理群組名稱、監聽連接埠與 TUN 相關欄位也可能隨主要設定改變;不過用戶端的全域設定也可能覆蓋其中部分內容。因此,不能只看「節點名稱變了」就判定整份設定已如預期運作。

  1. 檢查載入結果:選取 B 後開啟「記錄」,確認是否出現設定解析錯誤或代理群組引用錯誤。如果新設定載入失敗,核心可能會繼續使用舊設定,也可能停止服務,視用戶端的處理方式而定。
  2. 檢查代理模式:在首頁確認目前使用的是 Rule、Global 還是 Direct。要測試分流時請選擇 Rule;Global 會讓流量依全域策略處理,無法用來確認規則順序是否正確。
  3. 檢查實際出口:前往「代理」,為 B 的主要代理群組選取可用節點,再開啟測試網頁。如果 B 的群組名稱與 A 不同,先前儲存的節點選擇不一定能沿用。
  4. 檢查新連線記錄:前往「連線」,確認新請求命中的規則與代理鏈。長連線可能仍沿用原本的出口;請先關閉測試網頁再重新開啟,必要時只中斷對應的測試連線。

為什麼切換後會因連接埠變更而斷線?

假設應用程式手動設定了本機 HTTP 代理 127.0.0.1:7890,而 B 的有效監聽連接埠變成 7897,應用程式仍向舊連接埠傳送請求,就會連線失敗。這兩個數字僅供排查示範,並非所有用戶端的預設值。請在用戶端「設定」中的連接埠選項查看目前數值,再逐項對照應用程式的代理設定。

系統代理、TUN 與 Profile 是三個不同層面:Profile 提供核心執行所需的設定;系統代理會影響遵循系統代理設定的應用程式;TUN 則會接管符合路由條件的流量。選取某份設定,不代表系統代理或 TUN 已自動啟用。

四、自動更新間隔:分清訂閱更新與節點健康檢查

遠端 Profile 的定時更新由用戶端管理,通常可在設定卡片的「編輯資訊」中找到「更新間隔」或「自動更新」。先確認輸入欄旁標示的單位,再填入數值。如果單位是分鐘,填入 720 代表每 12 小時更新一次;如果單位是秒,12 小時則要填入 43200。不要只看其他用戶端的截圖就照著填。

  • 日常設定:可以先設為每 24 小時更新一次;若介面單位是分鐘,填入 1440。服務提供者有明確的更新頻率建議時,請依其要求設定。
  • 備用設定:也要定期更新,避免真正切換時才發現網址已過期。更新後請檢查節點數量,並實際測試一次連線。
  • 本機設定:沒有遠端來源時,不必設定訂閱更新間隔;不要為了顯示自動更新按鈕而隨意填入其他網址。

用戶端關閉後,通常不會繼續執行內部的定時工作;電腦休眠期間也不要預期它會準時更新。用戶端恢復運作後是否會立即補上更新,取決於實作方式。若要外出使用備用設定,建議先開啟卡片選單按一下「更新」,確認更新時間,再實際測試一次連線。

別混淆三種 interval

Profile 更新間隔由用戶端的記錄管理;YAML 中 proxy-providers 下的 interval 控制對應遠端節點資源的更新;health-check.interval 則控制健康檢查頻率。在 mihomo 的這些 provider 欄位中,間隔單位是秒。把健康檢查改成 300 秒,只會調整探測頻率,不會讓主要訂閱每五分鐘重新下載。

五、本機 YAML:適合保存快照,不會自動同步訂閱

本機 Profile 適合測試規則、保留故障前的設定,或管理自行維護的完整設定。常見的匯入流程是「訂閱」→「新增」或「匯入檔案」,選擇本機 YAML 後,將它儲存為「實驗-規則-本機」。部分用戶端會將檔案複製到自己的資料目錄,不會持續讀取原始檔案;匯入後即使在外部編輯原始檔,也不一定會影響這張卡片。

建立本機副本的操作順序

  1. 在遠端卡片的選單中尋找「編輯檔案」或「開啟檔案」,複製已下載的基礎設定;也可以使用用戶端提供的匯出功能。
  2. 將副本儲存到受保護的本機資料夾,再透過匯入檔案功能新增一張卡片,不要覆蓋原本的遠端記錄。
  3. 一次只修改一個項目,儲存後選取本機卡片並檢查記錄。確認設定載入成功後,再修改下一項。
  4. 保留可切回使用的遠端卡片。實驗失敗時切回該卡片,再確認代理模式、代理群組選擇與新連線記錄。

以下是用來辨識欄位的基本片段,不是可以直接取代訂閱的完整代理設定。最後一條規則會將所有剩餘請求交由直連處理;這段設定沒有提供任何代理節點。測試規則前務必先了解這個結果,不要把它當成修復連線的方法。

mixed-port: 7890
mode: rule
log-level: info

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,DIRECT

YAML 縮排請使用空格,不要使用 Tab;同一層級的欄位要維持相同縮排。編輯現有檔案時,不要再新增第二個頂層 rules 或 dns 鍵,重複的鍵可能會被拒絕,也可能造成內容遭到覆蓋。儲存前,建議先使用用戶端的設定檢查功能。

本機副本中的節點憑證仍可能失效,複製一次不代表之後就不必更新。如果希望「節點持續自動更新,個人規則也能長期保留」,應使用覆寫或 provider 結構,而不是長期依賴已凍結的訂閱副本。

六、避免訂閱更新覆蓋個人設定:分開管理來源與修改

直接編輯從遠端訂閱下載的 YAML,下次更新時很可能會被新內容取代。更穩妥的做法是讓遠端 Profile 保留服務提供者的內容,並將個人規則存放在用戶端的覆寫、合併設定或指令碼中。用戶端每次產生執行設定時,再依照自身的處理順序套用這些修改。

支援此功能的用戶端,通常可在「訂閱」頁面找到「全域擴充設定」、「全域擴充指令碼」,或在個別卡片的選單中找到「擴充設定」。不同版本的名稱與套用範圍可能不同:全域設定可能影響所有 Profile;單一設定的擴充功能通常只會套用到對應記錄。請先在實驗副本確認套用範圍,再用於日常設定。

先確認合併規則,再新增分流規則

  • 對應欄位:修改 DNS 子欄位時,請先確認用戶端會遞迴合併,還是以新內容取代整個區段,以免原有的解析設定遺失。
  • 清單欄位:rules、proxies、proxy-groups 都包含清單。一般 YAML 片段不會自動帶有「追加」的意思,實際行為由用戶端決定。
  • 規則順序:Clash 會依序比對規則,個人規則通常必須放在兜底規則 MATCH 之前。加在 MATCH 後面通常不會有機會命中。
  • 策略引用:如果全域覆寫引用了只存在於 A 的代理群組,切換到 B 後可能會載入失敗。若要在不同設定間共用,請統一群組名稱,或改為分別綁定擴充設定。

例如,要讓 example.com 及其子網域走直連,規則本身可以寫成 DOMAIN-SUFFIX,example.com,DIRECT。這只是在說明規則語法;請使用目前用戶端明確支援的「前置規則」入口,或依照其擴充指令碼介面插入。不要假設所有用戶端都接受相同的 prepend-rules 欄位。

手動更新一次,確認覆寫能保留

  1. 儲存覆寫並套用設定後,在最終執行設定中搜尋目標網域,確認只出現預期次數,且位置在兜底規則之前。
  2. 重新連線至該網域,在「連線」中確認是否命中目標規則及 DIRECT 策略。
  3. 手動更新遠端 Profile,等待設定重新載入後,再重做前兩項檢查。
  4. 切換到備用 Profile,確認全域覆寫沒有引用不存在的代理群組;如果出現錯誤,請改成只綁定單一設定。

只有「更新後仍保留」、「請求確實命中」與「切換後沒有錯誤」三項都符合,才算完成持久化設定。查看基礎訂閱檔案時看不到個人規則,不一定代表規則遺失;覆寫內容可能只存在於最終執行設定中。

七、備份與還原:保留可重新啟用所需的最少資料

備份不能只留一張代理頁面的截圖。建議保留設定顯示名稱、遠端網址、個人覆寫、必要的本機 YAML,以及目前的連接埠與模式記錄。如果使用 proxy-providers、rule-providers 或相對檔案路徑,也要確認相依資源可以重新取得,或一併保存相關檔案。

狀況優先檢查還原方式
更新後自訂規則消失是否直接修改了遠端檔案從備份取回規則,再移至獨立覆寫設定
切換後顯示代理群組不存在全域覆寫中的策略名稱停用相關覆寫,改用單一設定的擴充功能
已選取設定,但應用程式無法連線監聽連接埠、系統代理與 TUN 狀態依有效連接埠重新設定應用程式代理,再測試新連線
修改本機檔案後沒有變化匯入時是否已複製檔案編輯用戶端實際使用的副本並重新套用

訂閱網址與設定檔可能包含可直接使用的存取憑證。請勿將它們放進公開程式碼儲存庫;提供排障資料給他人時,請移除訂閱權杖、節點密碼與私鑰,截圖也要遮住完整網址。換到新裝置後,先匯入一份確認可用的設定並完成連線,再還原覆寫,最後才啟用定時更新,方便逐步找出問題。

若還想了解訂閱匯入、規則與 TUN 之間的關係,請接著閱讀Clash 設定指南;首次安裝後的操作步驟請參閱使用指南。