Skip to content

规则集合

规则集合把一组匹配条件集中管理。集合里写条件,rules 中的 RULE-SET 决定匹配后使用哪个出口。下面的 Proxy 需替换为已定义的节点或组名。

yaml
rule-providers:
  Work:
    type: inline
    behavior: classical
    payload:
      - DOMAIN-SUFFIX,example.com
      - IP-CIDR,192.0.2.0/24,no-resolve
rules:
  - RULE-SET,Work,DIRECT
  - MATCH,Proxy

格式怎么选

behavior内容示例用途
domain+.example.com只存域名匹配条件
ipcidr192.0.2.0/24只存 IP 网段
classicalDOMAIN-SUFFIX,example.com使用路由规则语法写条件,不附加出口名

format: yaml 的远程文件用 payload: 包裹列表;format: text 每行一条;format: mrs 是二进制资源,只用于 domainipcidr,不能手写为文本。

远程规则集合

yaml
rule-providers:
  Work:
    type: http
    url: https://rules.example.com/work.yaml
    interval: 86400
    behavior: domain
    format: yaml

下载的 work.yaml 内容为:

yaml
payload:
  - '+.example.com'
  - 'intranet.example.net'
字段填写方式
typehttpfileinline
urlHTTP 资源地址
path文件或缓存路径;HTTP 集合可省略,不同集合不要共用
interval更新间隔,单位秒
proxy下载使用的已存在节点或组名
header自定义 HTTP 请求头,值为字符串列表
size-limit下载大小上限,单位字节;0 不设此上限
payloadinline 的规则内容

behavior 必须与文件内容一致。下载成功但匹配不到时,先检查格式,再确认 RULE-SET 的集合名称和规则顺序。

平台说明与字段状态

远程规则可由 App 预先准备,也可在启动后加载。预编译规则集的更新可能在下次激活配置时生效。tvOS 缓存可能被清理,远程规则应能重新获取。

1 个字段

字段类型iOSmacOStvOS平台说明
rule-providers映射受管理 / 有限制受管理 / 有限制受管理 / 有限制inline 直接读取;远程资源可由 App 预先准备,也可在启动后由内核加载。预编译规则更新可能在下次激活时生效。

参考:mihomo.