文档 配置 规则集合

规则集合

跟代理集合类似,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 时必须

直接内联写规则内容。