為什麼「覆寫」比直接改訂閱產生的 YAML 更實用?

多數使用者會透過機場或服務商提供的訂閱連結一鍵匯入節點與預設規則;遠端每次更新,本機設定也會跟著被覆蓋成新版本。若你習慣在產生的 config.yaml 裡直接手改策略群組或規則,下一次訂閱同步時,這些修改往往整段消失,只留下除錯時的挫折感。

覆寫(Override)要解決的,正是「訂閱負責更新、個人化留在本機」這件事:遠端 YAML 保持原樣拉取,你把只想在自己電腦生效的片段——例如家裡 NAS 直連、某個網域改走特定群組、或額外掛一支自用節點——寫進獨立的合併檔或圖形介面提供的覆寫欄位。核心在載入時會依既定順序把兩邊合起來,讓你不必在每次更新後重貼一次長篇大論。

若你尚未建立「規則由上而下匹配」的基本觀念,建議先讀 Clash 分流規則配置教學,再回到本文處理「在既有規則表之上再加一層」的覆寫技巧,思路會更連貫。

Clash Meta 合併時,腦中要有哪幾個「層級」?

Clash Meta(開源社群常稱 Mihomo)為例,實際載入到記憶體的是一份合併後的完整設定,而不是單一檔案。訂閱或遠端設定通常提供 proxiesproxy-groupsrules 等主體;覆寫檔則多半負責插入、補齊或前置其中幾段。

實務上請記住三件事。第一,名稱要對得上:規則裡寫的策略名稱(例如 PROXYDIRECT 或某個 proxy-group)必須在合併後仍然存在;若你在覆寫裡新增了一個群組叫 MY-HOME,後續規則才能指向它。第二,規則順序仍然由上而下:覆寫若把某條網域規則放在「最前面」,它會比訂閱裡較後面的 GEOIP 更早命中。第三,不同用戶端對合併檔的檔名、菜單名稱不同,但概念都是「訂閱 + 本機補丁」;換程式時要改的是操作路徑,不是這套邏輯。

💡
維護習慣 把「訂閱網址」與「覆寫片段」分開備份:訂閱更新失敗時你能快速重建主體;覆寫檔小而穩定,適合放進自己的筆記或版本庫。訂閱匯入流程可一併參考 訂閱連結使用教學

追加規則:用前置與後段插入,而不重寫整份 rules

在 Mihomo 相容的合併檔中,常見做法是使用 prepend-rulesappend-rules(實際鍵名請以你所用核心版本與用戶端文件為準)。語意很直覺:前置的條目會插到規則表最前段,適合處理「一定要最先命中」的區網、本機或公司內網;後置則多半接在訂閱規則之後,用於補洞或個人化兜底前的最後調整。

下面是一段示意用的 YAML 片段(欄位與策略名稱請依你的訂閱模板替換;註解建議用英文以利版本控管):

prepend-rules:
  # LAN and NAS — always DIRECT first
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN-SUFFIX,local,DIRECT

append-rules:
  # Personal domain tweak (policy name must exist after merge)
  - DOMAIN-SUFFIX,example.com,PROXY

請特別留意 no-resolve 等附加參數在你的核心版本是否支援,以及 PROXY 這類名稱是否與訂閱產生的策略群組一致。若規則命中不如預期,第一步不是再加更多條,而是打開連線紀錄確認實際命中順序;可搭配站內 連線日誌與規則命中 一文對照閱讀。

自訂節點與策略群組:在訂閱之外多掛一支 proxy

若你想加入訂閱裡沒有的節點(例如自用 VPS、公司測試線),可在覆寫檔的 proxies 區塊宣告,再在 proxy-groups 裡把該節點名稱加入某個 select 群組的候選清單。重點是節點名稱唯一:兩個來源若都叫 Japan-01,合併後可能產生難以預期的覆蓋行為,除錯會非常痛苦。

另一種作法是使用 proxy-providers 指向本機檔案或額外訂閱,再在群組裡用 use 引用 provider;適合節點較多、需要分批更新的情境。對一般使用者而言,「一小段 proxies + 手動把名稱塞進既有選擇器群組」通常就夠用,也較容易在介面上確認是否出現新節點。

proxies:
  - name: MY-VPS-SG
    type: ss
    server: 203.0.113.10
    port: 8388
    cipher: aes-256-gcm
    password: "replace-me"

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - MY-VPS-SG
      - AUTO

上例中 AUTO 代表訂閱裡已存在的某個子群組或節點集合;實務上請打開合併後的完整設定或介面清單核對名稱。若合併失敗,多半是 YAML 縮排、重複鍵名或策略引用不存在。

圖形用戶端裡通常怎麼操作?(以常見流程說明)

不同程式選單名稱各異,但高頻路徑類似:在設定檔/設定檔案頁面選中目前使用的訂閱檔,找到覆寫、合併(Merge)或編輯器入口,將上述片段貼入並儲存,再重新載入核心。部分用戶端會區分「一般覆寫」與「腳本/進階」,初學者優先使用純 YAML 合併即可。

若你使用 Windows 且需要從安裝到介面導覽的完整路徑,可交叉參考 Clash Verge Rev Windows 教學,裡頭對 DNS 與覆寫相關選單也有提及;把「訂閱更新」與「個人覆寫」分開理解後,日後換機或升級用戶端會輕鬆很多。

常見踩雷:合併後載入失敗、規則看似存在卻不生效

  • 重複的頂層鍵與縮排錯誤:YAML 對空白敏感,少一個空格就可能整段失效;建議用編輯器顯示空白字元並開啟語法檢查。
  • 策略名稱拼字與大小寫:訂閱產生的群組名稱若為 Proxy,覆寫卻寫 PROXY,可能導致引用失敗;請以合併後結果為準。
  • 規則太早或太晚命中:前置規則威力強大,誤放在最前可能讓你想代理的流量被直連規則攔走;請用日誌驗證而非猜測。
  • 與 DNS、TUN 互動:覆寫只解決「規則與出口」層級;若問題在解析或流量沒進核心,需回到 DNS 與模式設定,可延伸閱讀 Clash TUN 模式詳解
⚠️
合規與風險提醒 請在所在地法令、合約與服務條款允許的範圍內使用代理與加密通道;本文僅說明設定檔合併與維護方式,不提供規避監管或從事違法用途的指引。請妥善保管訂閱網址與節點憑證,避免外洩。

簡短問答

我可以直接改遠端下載下來的快取檔嗎?

不建議。遠端同步時該檔常被覆蓋;應改用覆寫或合併機制,把個人化與訂閱來源分離,才符合長期維護節奏。

一定要會寫完整 YAML 嗎?

不必一開始就精通全部欄位。多數需求可用「幾條前置規則 + 偶爾新增一個節點名稱」完成;其餘再依錯誤訊息與日誌逐步補強。

結語:把覆寫當成「個人設定層」,訂閱當成「節點供應層」

當你能穩定匯入訂閱,下一步真正的進階能力,往往是在不破壞遠端更新的前提下完成個人化。Clash Meta 的覆寫與合併機制,本質上就是把這兩層拆開:節點與基底規則交給服務商迭代,你只維護一小份本機補丁,遇到問題也更容易二分法除錯。

相較於到處複製整包來路不明的設定檔,使用持續更新、文件清楚的 Clash 生態,並搭配本站整理的下載與教學資源,長期在安全性與可維護性上通常更可靠。若你準備在實機上驗證覆寫流程,建議先從本站 Clash 用戶端下載頁 取得與裝置相符、基於 Clash Meta 核心的版本,再以小片段增量方式加入規則;需要完整欄位說明時可延伸查閱 Clash 說明與教學文件。整體體驗會比手改遠端 YAML 卻每次被同步洗掉踏實許多。→ 立即免費下載 Clash,開啟流暢上網新體驗