文件 設定 規則集合

規則集合

跟代理集合類似,rule-providers 讓你從線上位址動態拉取一份規則檔案,規則裡用 RULE-SET 引用它,不用把幾百條規則手寫進 rules。

設定範例

config.yaml YAML
rule-providers:
  google:
    type: http
    path: ./rule1.yaml
    url: "https://raw.githubusercontent.com/.../Google.yaml"
    interval: 600
    behavior: classical
    format: yaml

rules:
  - RULE-SET,google,PROXY

欄位說明

鍵名(如 google必須

集合名稱,不能重複。

type必須

可選 http/file/inline

urltype 為 http 時必須

規則檔案位址。

path可選

儲存路徑,不填用 URL 的 MD5 做檔案名稱,限制在 HomeDir 內(可用 SAFE_PATHS 擴充)。

interval可選

更新間隔,單位秒。

proxy可選

經過指定代理下載/更新。

behavior必須

規則集合的行為類型,決定檔案裡每一行該怎麼解讀:domain(網域列表)/ ipcidr(IP 段列表)/ classical(完整規則語法,幾乎支援所有類型)。必須和實際檔案格式對應,寫法見 規則集合內容

format預設 yaml

檔案格式,可選 yaml/text/mrsmrs 是二進位壓縮格式,體積小載入快,但目前只支援 domain/ipcidr 兩種 behavior;可以用 mihomo convert-ruleset domain/ipcidr yaml/text XXX.yaml XXX.mrs 轉換得到。

path-in-bundle可選

本機檔案不存在時,優先從 HomeDir 下的 BundleMRS.7z 裡解壓出該路徑對應的檔案,可在 meta-rules-dat 下載這個壓縮包。

size-limit預設 0

限制下載檔案最大大小,單位位元組,0 表示不限制。

header可選

自訂 HTTP 請求標頭。

payloadtype 為 inline 時必須

直接內聯寫規則內容。