01

為什麼不要直接編輯訂閱檔

訂閱每次更新都會整份覆蓋,手改的內容會全部消失。Clash Verge 的做法是把你的改動放在單獨一層,產生最終設定時再合併進去,訂閱怎麼更新都不受影響。

在「訂閱」頁新增時可以選 Merge(YAML 片段)和 Script(JavaScript)兩種擴充。建立後在設定卡片的選單裡繫結;也可以用全域的 Global Merge 和 Global Script,對所有訂閱生效。

先留一條退路
改擴充之前先記下目前能正常運作的設定名稱,出問題時解除繫結就能立刻回到原狀。

合作推薦訂閱連結從哪來?本站合作機場註冊即送 1GB 香港高速體驗流量,可直接一鍵匯入。取得高速節點
02

Merge 和 Script 各自適合什麼

  1. 1

    Merge:寫 YAML 片段

    頂層欄位直接覆蓋,例如 mixed-port、mode、log-level。規則用三個專門的鍵:prepend-rules 插到最前面,append-rules 追加到最後,filter-rules 刪掉符合的行。要讓自訂規則優先生效,用 prepend-rules。

  2. 2

    Script:寫一個 main 函式

    函式簽章是 main(config),拿到完整設定物件,改完把整個物件 return 回去。適合依條件批次處理,例如替所有 url-test 群組補上 interval 與 tolerance,或依關鍵字篩選節點。

  3. 3

    執行順序

    先訂閱原文,再 Merge,最後 Script。掛多個擴充時依你排列的順序依序執行,同一欄位被改多次時以最後一次為準。

03

檢查合併結果

存檔後從設定卡片選單開啟的是原始訂閱檔,看不到合併結果。要看真正生效的設定,用「檢視執行設定」,Merge 和 Script 的改動都應該在裡面。如果沒有,多半是 YAML 縮排錯了,日誌頁第一畫面會有一行解析失敗的提示,並指出行號。

  • prepend-rules 裡不要寫 MATCH,它會擋住後面所有規則
  • Script 必須 return 整個 config 物件,回傳片段會讓設定變成空的
  • 存檔後用戶端會自動重新產生並熱重載,不需要重新啟動程式
04

常見問題

Merge 裡寫了 dns 段,為什麼沒生效?

檢查用戶端的 DNS 覆寫開關。開啟時 Clash Verge 會用自己的 DNS 設定覆蓋設定檔裡的 dns 段,關掉才會使用你寫的那份。

可以同時掛多個 Merge 嗎?

可以。擴充是一條鏈,依排列順序執行。建議一個 Merge 只做一件事,例如一個管規則、一個管連接埠與 DNS,出問題時比較好定位。