如果你在 rules 裡手寫了幾百條 DOMAIN-SUFFIX,那基本可以確定:用錯方法了。規則集(rule-providers)能把這些常見分類打包成獨立檔案,統一維護、定時更新,設定檔本身反而會變得非常乾淨。
rule-providers 是什麼
簡單說,它是一份託管在別處(本機檔案或遠端 URL)的規則清單,Clash 定時抓取並載入,你只需要在 rules 裡用一行 RULE-SET 引用它,而不用把幾百條規則堆進主設定檔。
behavior 欄位:三種規則集格式
| behavior | 內容格式 | 常見用途 |
|---|---|---|
| domain | 網域 / 網域後綴清單 | 廣告封鎖、串流分流、社群平台網域集 |
| ipcidr | IP 段清單 | 本地 IP 段、特定機房 IP 段直連 |
| classical | 完整規則語法(含類型前綴) | 混合類型、需要精確控制比對方式的場景 |
behavior 必須與規則集檔案的實際內容格式一致,用錯會導致規則集載入失敗或比對異常,務必參照規則集來源方給出的說明填寫。
type:http 還是 file
- http:從遠端 URL 定時抓取,適合跟隨社群維護的規則集持續更新。
- file:只讀取本機檔案,不會自動更新,適合你自己維護的私有規則。
常見規則集來源
社群裡有不少長期維護的開源規則集專案,涵蓋廣告封鎖、本地直連、串流分區、社群平台分流等分類,可以按需選取幾個組合使用,避免自己從零編寫。
常見規則集分類怎麼組合
如果不知道該引入哪些規則集,可以按「優先度由高到低」的思路來組織:先處理廣告/隱私追蹤封鎖(避免不必要的連線),再處理必須直連的本機/內網位址,然後是需要特殊分流的串流與社群平台,最後再兜底一條本地 IP 段直連規則,剩下沒比對到的流量預設走代理。這個順序背後的邏輯是:影響範圍小、判斷依據明確的規則放前面,模糊的兜底規則放最後,避免大範圍規則「搶先」攔截了本該精確比對的流量。
自己維護一份私有規則集
公司內部服務、自己常用但小眾的網站,社群維護的規則集大機率不會覆蓋,這種場景就適合用 type: file 建一份本機維護的規則檔案,格式和遠端規則集完全一致,只是不會自動從網路更新,需要自己手動編輯維護:
把公司 VPN、內部管理後台之類的網域放進這份私有規則集,既能保持主設定乾淨,也不用擔心和公用規則集混在一起被覆蓋。
怎麼設定自動更新
interval 欄位控制更新頻率,單位為秒。常見做法是給廣告封鎖、串流分流這類更新頻繁的規則集設定較短間隔(如一天),而相對穩定的規則集可以設定更長間隔(如一週)。
規則集也要注意比對順序
和一般規則一樣,RULE-SET 引用同樣遵循「從上到下,命中即停止」的原則。如果把範圍寬泛的規則集放在前面,後面更精確的規則可能永遠比對不到,排查時記得優先檢查規則順序。
規則集載入失敗怎麼排查
規則集設定出錯通常有幾種典型表現:核心啟動報錯、面板/日誌裡提示規則集下載失敗,或者規則看起來載入成功但完全沒有生效。排查時可以按下面的順序逐一排除:
- 檢查 URL 是否可存取:直接在瀏覽器裡開啟
url欄位的位址,確認能正常下載到文字內容,而不是 404 或者需要額外驗證。 - 核對 behavior 是否符合檔案格式:開啟下載到本機的規則檔案看內容格式,確認與設定的
behavior(domain/ipcidr/classical)一致。 - 確認 path 指向的目錄有寫入權限:核心需要把遠端內容快取到本機
path指定的路徑,如果目錄沒有寫入權限會導致更新失敗。 - 查看規則引用名稱是否拼寫一致:
rule-providers裡定義的名稱必須和rules裡RULE-SET,名稱,...完全一致,大小寫、拼寫錯誤都會導致規則被靜默忽略。
規則集快取要不要手動清理
正常情況下不需要。核心會根據 interval 自動判斷快取是否過期並重新抓取,不需要手動干預。但如果懷疑本機快取的規則檔案已經損壞(比如上次下載過程中被中斷),或者規則集來源方更新了內容格式導致解析異常,可以手動刪除 path 指向的本機檔案,重啟核心後它會重新完整下載一份,相當於強制刷新一次快取。
規則集會不會拖慢啟動速度
引入規則集之後,核心每次啟動(或者規則集快取過期需要更新時)都需要額外花時間下載並解析這些檔案,規則集數量越多、單個檔案越大,啟動耗時也會相應增加。對絕大多數家庭使用場景來說,這點耗時幾乎感覺不到;但如果你在資源有限的裝置(比如低效能路由器)上執行核心,同時引入了大量規則集,可以考慮適當延長 interval,減少不必要的頻繁重新下載,把更新頻率控制在真正需要的範圍即可。
小結
與手寫規則相比,規則集的最大價值在於「解耦」與「自動更新」:主設定只保留少量自訂規則和策略群組結構,繁瑣的網域/IP 分類都交給外部規則集去維護,減少了大量重複勞動,也更容易長期維護。