01

一條規則拆開就是三段

規則永遠是類型、比對值、策略,中間用逗號隔開。DOMAIN-SUFFIX,github.com,PROXY 讀成「網域結尾是 github.com 的,交給 PROXY 這個策略群組」。

值得記的類型分三類。看網域的有 DOMAIN(完全相等)、DOMAIN-SUFFIX(結尾相符)、DOMAIN-KEYWORD(包含即可);看位址的有 IP-CIDRGEOIP;還有 PROCESS-NAME,它比對的是發起連線的那個程式。

策略名稱寫錯,整份設定起不來
第三段只能填設定裡已存在的策略群組名稱,或是 DIRECTREJECT

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

寫在哪裡,更新訂閱之後才還在

  1. 1

    改訂閱下載的那份是白做工

    訂閱抓下來的設定檔是快取,下一次更新整份覆蓋,你加的每一行都跟著消失。這個坑幾乎每個人都踩過一次。

  2. 2

    寫進擴充設定的 prepend-rules

    在設定檔的編輯選單裡開啟擴充設定(Merge 檔),建一個 prepend-rules 區塊,把你的規則列在下面。每次產生最終設定時,Clash Verge 都會把這幾行插到訂閱規則前面。

  3. 3

    位置就是優先順序

    prepend-rules 裡越上面的越早生效。你的規則得壓在機場那些很寬的群組規則上面,否則會被它們先接走。寫在清單最後沒有意義,墊底的 MATCH 之後任何一行都讀不到。

03

三個最容易寫歪的地方

DOMAIN-SUFFIX 比對的是名稱結尾,寫 example.com 連子網域一起收,通常這正是你要的。DOMAIN-KEYWORD 是包含比對,像 google 這種短關鍵字一寫下去,所有含這串字的網域都被收走。IP 類規則還有個不直覺的地方:請求帶的是網域時,得先解析成位址才比對得了,而這次查詢本身可能已經走錯路。

  • 改完到「規則」頁搜這個網域,確認第一個命中的是你新加那條
  • 日誌出現 yaml 解析失敗,多半是縮排或少了一個逗號
  • 改動之前建立的連線不會重新比對,關掉重連再看
04

常見問題

規則加了,流量還是走原本的路,要從哪裡查起?

先確認設定真的重新載入了,日誌頁最上面應該看得到重載紀錄,有錯誤就先處理錯誤。再到規則頁搜這個網域,看命中的是不是你寫的那條,不是就代表上面有更早的規則接走了。最後看連線頁的 Chains 欄。

PROCESS-NAME 在 Windows 和 macOS 上各要填什麼?

Windows 填帶副檔名的執行檔名稱,例如 chrome.exe;macOS 和 Linux 填不帶副檔名的執行檔名稱,例如 curl。要跟處理程序清單顯示的完全一致,包含大小寫。核心還得讀得到處理程序資訊,權限不夠時這類規則什麼都比對不到。