Ruleset
可选 sibling 文件 ruleset.yaml(唯一缺失合法的 sibling——其余 5 个缺失即报错),按名称定义命名规则集,供模板 ruleset 过滤器经 _rules.ruleset 上下文面消费(ADR-086/088)。
条目形状
每条目值为两种形状之一:
- 行列表(本地形态)——规则行数组
- URL 字符串(远程形态)——
http(s)://开头;其他字符串在解析期报错
# ruleset.yaml
ads:
- DOMAIN-SUFFIX,ads.example.com
- DOMAIN-KEYWORD,tracker
cnlist: https://example.com/cn.list
远程条目语义
- 由更新管线定时拉取并物化进
_rules.ruleset面。 - TTL 24 小时内命中缓存不重拉;URL 变更或强制刷新时重拉。
- 拉取失败回退上次成功文本并递增
ruleset_fetch_failed_total计数器。 - 同名冲突时本地声明优先。
模板消费:ruleset 过滤器
{{ l.proxies | ruleset(name="ads") }} {# → Clash 规则行 #}
{{ l.proxies | ruleset(name="ads", format="surge") }} {# → Surge 规则行 #}
{{ l.proxies | ruleset(name="ads", format="clash-classical") }} {# → Clash classical rule-provider 文档(payload: 序列)#}
| 参数 | 缺省 | 说明 |
|---|---|---|
name | 必填 | 规则集名(过滤器输入值被忽略) |
format | clash | clash / surge / clash-classical |
policy | 🚀 Node Select | Surge 格式的路由策略后缀 |
text | 无 | 内联规则行文本,覆盖其他一切来源 |
来源优先级:内联 text > _rules.ruleset 命名表(本文件)> 内置 assets/rulesets/*.list 资产。未定义的规则名会报渲染错误(与 filter/rename 的静默忽略不同)。