ACL4SSR 教程

Clash 规则怎么写:规则类型、匹配顺序与 no-resolve

分类:Clash 配置更新于 约 2 分钟读完2 份官方资料
本文目录
  1. 规则的格式
  2. 匹配顺序
  3. 常用规则类型
  4. no-resolve 是什么
  5. 和 ACL4SSR 的关系
  6. 常见问题

本文以 mihomo(Clash Meta)内核的官方文档为准。ACL4SSR 的 .list 规则碎片里每一行就是一条规则,只是省略了最后的策略名,由订阅转换在引用时统一指定。

规则的格式#

一条规则由三部分组成:

规则类型,匹配内容,策略

- DOMAIN-SUFFIX,google.com,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY

匹配顺序#

规则从上到下匹配,列表顶部的规则优先级高于下面的规则,命中一条就停止。所以去广告、局域网直连这类规则通常放在最前面,MATCH 放在最后兜底。

文档还特别说明:如果请求是 UDP,而命中的代理节点不支持 UDP,会继续向下匹配。

常用规则类型#

类型作用例子
DOMAIN匹配完整域名DOMAIN,ad.com,REJECT
DOMAIN-SUFFIX匹配域名后缀。google.com 能匹配 www.google.com、mail.google.com 和 google.com,但不匹配 content-google.comDOMAIN-SUFFIX,google.com,PROXY
DOMAIN-KEYWORD域名包含关键字即匹配DOMAIN-KEYWORD,google,PROXY
IP-CIDR / IP-CIDR6匹配 IP 地址范围,两者效果一样,IP-CIDR6 只是别名IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
GEOIP匹配 IP 所属国家代码GEOIP,CN,DIRECT
GEOSITE匹配 Geosite 数据库中的域名分类GEOSITE,youtube,PROXY
PROCESS-NAME按发起连接的进程名匹配PROCESS-NAME,curl,PROXY
RULE-SET引用一个规则集合(rule provider)RULE-SET,providername,PROXY
MATCH匹配所有请求,用作最后的兜底MATCH,PROXY

no-resolve 是什么#

no-resolve 只对目标 IP 类规则(如 IP-CIDR、GEOIP)有效。当一个域名请求匹配到 IP 类规则时,内核会先做 DNS 解析,拿到 IP 再判断是否命中;加上 no-resolve 就跳过这次解析。

文档同时说明:如果更早的规则已经触发过 DNS 解析,带 no-resolve 的 IP 规则仍然会用解析结果来匹配。

和 ACL4SSR 的关系#

ACL4SSR 的规则碎片大量使用 DOMAIN-SUFFIX、DOMAIN-KEYWORD 和 IP-CIDR。subconverter 在转换时按 .ini 配置里 ruleset= 的先后顺序展开这些碎片,所以 .ini 里规则集的顺序就是最终配置里的匹配顺序。

常见问题

Clash 规则的匹配顺序是怎样的?
规则从上到下匹配,顶部的规则优先级更高,命中一条就停止;MATCH 匹配所有请求,一般放在最后兜底。
no-resolve 有什么用?
no-resolve 只对目标 IP 类规则有效,作用是在匹配该规则时跳过 DNS 解析;如果更早的规则已经触发过解析,仍会用解析结果匹配。
DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 有什么区别?
DOMAIN-SUFFIX 匹配域名后缀,google.com 能匹配 www.google.com 和 google.com,但不匹配 content-google.com;DOMAIN-KEYWORD 只要域名包含该关键字就匹配。

本站是非官方的学习笔记站,与 ACL4SSR 原项目维护者无隶属关系。文中引用的规则与文档版权归原作者所有。