入門教程 閱讀約 14 分鐘

Clash Meta 規則集自動更新怎麼設?rule-providers 間隔與 URL 分步(2026)

當您使用社群維護的遠端規則集(常見於GEOSITEGEOIP 相關清單,或 ACL4SSR、Loyalsoldier 等生態)時,核心通常不會把數千行直接塞進主設定,而是透過 rule-providers 下載、快取,再在 rules 裡用 RULE-SET 引用。本文聚焦自動更新所需的 intervalurlpath 要怎麼填、多久會重抓、以及「寫了卻像沒生效」時該從哪裡查。規則語法與 GEOSITE/GEOIP 分流骨架請併讀 本站 GEOIP/GEOSITE 分流教學;規則集選型可對照 ACL4SSR 與 Loyalsoldier 對比

Clash 編輯組 Clash Meta · Mihomo · rule-providers · 規則集 · interval

rule-providers 解決什麼?和內建 GEOSITE/GEOIP 差在哪?

Clash Meta 核心的實作多數人會以Mihomo 代稱。當您看到設定裡的 GEOSITE,telegram,PROXY 這類寫法,核心是拿內建或您指定路徑的 geosite 資料檔去做標籤比對;GEOIP,CN,DIRECT 則仰賴 GeoIP(mmdb)。這兩條路與外部下載的規則表不是同一個開關。

rule-providers 的角色是把「別人維護、放在 HTTP/HTTPS 上的規則集」變成可在本地快取的檔案,並讓您在 rules 內以 RULE-SET,<名稱>,<策略> 一次性引用整包內容。它的更新節奏由該 provider 的設定控制,最常見就是本文要談的 interval

實務上很多人把「規則突然走錯」誤判成策略組壞掉,其實只是遠端規則好幾天沒下載成功、或 behavior 與檔案格式不相容。先把 rule-providers 與內建 geodata 的路徑分開理解,排查會快很多。

interval:單位、節奏與怎麼選才不踩雷

在一般可匯出的 YAML 慣例裡,interval 幾乎總是以計:3600 約一小時、86400 約一天。核心會在背景依此間隔嘗試重新抓取 url 指定的規則集;若下載失敗,舊的快取通常仍會繼續沿用,直到成功更新或您手動清理。

間隔並非越短越好:公開規則集托管若有速率限制,過於頻繁的抓取可能導致暫時封鎖或拿到 CDN 邊緣快取的舊檔。對大多數「域名/IP 清單」用途,數小時到一天是常見區間;若您剛切換上游來源,可暫時縮短以利驗證,確認無誤後再調回合理值,對公開資源較禮貌。

部分圖形客戶端會把同一概念以「小時/天」呈現在介面上,實際寫回檔案時再換算成秒。若您看到介面與純 YAML 數字對不起來,請以匯出後的原始 YAML 為準,避免口徑不同造成誤會。

小結:interval 控制「多久再抓一次 url」;它不會自動幫您更新內建 GeoSite/GeoIP 資料庫檔,那是另一組設定與路徑要處理的事。

1分步設定:typeurlpathbehavior

最典型的遠端規則集條目會使用 type: http,並(在有提供的情況下)指定 format: yaml 或依上游說明填寫。url 必須指向核心能直接解析的規則集檔,而不是訂閱連結或整包設定;若您不確定,先把 URL 貼到瀏覽器或 curl 看開頭是否為預期的規則格式。

path 則是本機快取位置:建議使用固定檔名(例如 ./rules/loyal.yaml),更新成功後檔案時間戳會變動,方便您用檔案管理員或指令快速確認「昨晚有沒有真的下載到」。容器環境務必確認掛載卷可寫入,否則核心會一直報錯或退回舊檔。

behavior 必須與檔案內容一致:classical 對應傳統逐條規則格式;domainipcidr 等則對應精簡的列表式規則集。填錯時可能載入看似成功、匹配卻全錯,或乾脆解析失敗。上游若同時提供多種格式,請逐字核對文件該下哪一個 URL。

# Snippet — HTTP rule-provider with interval (seconds)
rule-providers:
  remote-geo-rules:
    type: http
    behavior: classical
    url: "https://example.com/rules/classical.yaml"
    path: ./rules/remote-geo-rules.yaml
    interval: 86400

2rulesRULE-SET 接上策略

RULE-SET 的第一個欄位必須等於 rule-providers 底下那一行的鍵名(上例即 remote-geo-rules)。第二個欄位要嘛是 DIRECTREJECT 等內建動作,要嘛是您在 proxy-groups 定義過、且拼字完全一致的策略組名。

規則表仍然由上而下先命中先贏。若您把很寬的 RULE-SET 放在清單最前面,後面細膩的域名規則可能永遠輪不到;這與有沒有設定 interval 無關,純粹是順序邏輯。需要複習順序與 MATCH 收尾,請參考 規則順序與 MATCH 教學

# Snippet — reference provider by key name in rules
rules:
  - RULE-SET,remote-geo-rules,PROXY
  - MATCH,DIRECT

首次載入、重新整理與「我怎麼知道它有更新?」

一般流程是:核心啟動或載入設定後,會在適當時間點對尚未快取的 rule-providers 發起第一次下載;之後則依 interval 週期性檢查。若您剛改過 url 或懷疑 CDN 回傳舊檔,最直接的方式是刪除 path 指向的快取檔後重載設定,觀察是否重新下載,並對照檔案修改時間。

圖形客戶端常提供「規則集更新」或「重新載入設定」按鈕;不同產品的觸發時機略有差異,但原理都是讓核心再次執行 provider 的抓取流程。若您只在介面上改了數字卻沒有真正寫回配置檔,下一次重啟仍可能載入舊值,這在比對「為什麼 interval 看起來改了卻不像有動」時很常見。

生效排查:從下載、格式到規則命中

網路與 HTTP 錯誤

403404、TLS 憑證錯誤、或被 CDN 暫時阻擋,都會在日誌裡留下明確線索。請連同「系統是否走代理去抓規則集」一併檢查:有些環境必須讓更新流量直連,否則會形成自引用迴圈。反向代理或自簽站台也要注意是否缺少中介憑證。

行為(behavior)與內容不匹配

下載到的若是 domain 清單,卻在設定裡標成 classical,輕則部分規則被忽略,重則整檔拒絕載入。對照上游 README 的「應使用哪個 behavior/格式」是最快的驗證手段;必要時先用最小可重現的單一 provider 測試,避免同時改訂閱、DNS、TUN 讓變因爆炸。

HTTPS 場景沒有域名

若日誌長時間只出現 IP,域名型規則(不論內建 GEOSITE 還是 RULE-SET 內的域名條目)都很難命中。這時應回到 Sniffer 與 DNS 設定,而不是盲目縮短 interval

提醒:網路穿透與分流行為須遵守所在地法規與服務條款;教學僅供合法合規的除錯與自用學習。

可照抄的最小範例(請再併入節點與 DNS 區塊)

下列片段僅示範 rule-providers 與 RULE-SET 的相對關係,不能單獨作為可連線的完整設定;請與您的 proxiesproxy-groupsdns 合併。註解使用英文以利部分解析器相容。

# Minimal example — merge with proxies, proxy-groups, dns, tun
mode: rule
log-level: info

rule-providers:
  example-domains:
    type: http
    behavior: domain
    url: "https://example.com/ruleset/domain.txt"
    path: ./rules/example-domains.txt
    interval: 43200

rules:
  - RULE-SET,example-domains,PROXY
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,PROXY

常見問答(速查)

可以把 interval 設成 0 嗎? 視實作與版本而定,部分版本會把極短間隔視為「每次重載都抓」,但也可能直接被忽略或觸發節流。建議閱讀您所用核心與客戶端的發行說明,不要依賴口耳相傳的魔法數字。

規則集更新了,為什麼感覺規則沒變? 先確認 path 檔案內容是否真的變了;若檔已更新但命中仍怪,多半是更前面的規則先攔截,或域名資訊仍未送到規則引擎。

一定要在設定裡寫 GEOSITE 規則集 provider 嗎? 若您只想用內建標籤(前提是 geodata 已備妥),不一定需要額外 provider;但社群大包常把「細分域名」放在獨立 RULE-SET,這時候 rule-providers 才是正規接法。

開源資訊與安裝包取得方式

Mihomo 以開源方式演進,查 issue、行為變更與版本紀錄適合對照公開程式庫。日常安裝圖形客戶端仍建議優先使用 本站 Clash 下載頁,並搭配 設定說明文件;把「下載安裝包」與「閱讀原始碼」分開,能少踩很多不相干的坑。

結語

為遠端準備 rule-providers,核心只有幾個欄位:去哪裡下載(url存在哪裡(path多久再抓(interval、以及該用哪種解析器(behavior。把它們填對之後,再用 RULE-SET 接進 rules,並用日誌確認下載成功與命中順序,GEOIP/GEOSITE 與外部清單就能長期並行維護,而不必每次手動複製貼上大方包。

相較於只看教學截圖卻不懂快取與間隔,理解這層機制後,遇到「規則好幾天不像新版」時,您會先去看 path 檔案與更新日誌,而不是誤調策略組或亂改 DNS。這正是 Clash MetaMihomo 在分流設定上可維護性的關鍵之一。

立即免費下載 Clash,開啟流暢上網新體驗

Clash 客戶端 rule-providers

內建或外掛 Meta(Mihomo)核心的客戶端可視覺化檢視規則集狀態、手動觸發更新並閱讀連線日誌;撰寫 rule-providers 時,建議以 path 檔案是否更新、以及第一條命中規則是否如預期,作為驗收標準。

interval 背景更新

週期抓取遠端規則集

url 與 path

下載來源與本機快取

RULE-SET 引用

鍵名與策略要對齊

安裝包請走本站

下載與開源倉庫分開理解

上一篇 / 下一篇

相關閱讀

規則集自動更新

設定 rule-providers 的 url、path 與 interval,並用 RULE-SET 掛進 rules;從本站下載客戶端後,用日誌與快取檔驗證是否確實拉到最新規則集。

免費下載客戶端