Clash 分流规则匹配测试
在本地粘贴 Clash 规则并输入目标域名或 IP,快速判断它会命中哪条规则及对应策略组。
支持 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR、MATCH 五类规则,每行一条,格式如 DOMAIN-SUFFIX,example.com,Proxy;支持 # 注释和 YAML 格式的 - 前缀。
使用方法
- 在规则列表框中粘贴 Clash 规则,每行一条,支持 YAML 格式的 - 前缀和 # 注释。
- 在目标输入框填写域名或 IPv4 地址,也可以填写带协议、端口和路径的完整 URL。
- 点击"开始匹配",工具按列表从上到下依次检查规则,显示首个命中的规则及其类型、原始文本和策略组。
- 查看结果中的规则类型、原始规则文本和策略组,确认是否符合预期;注意工具会在下方提示任何被跳过的无效规则。
- 根据命中情况调整规则顺序或参数,重复测试直到得到预期结果。
结果怎么看
工具完全在浏览器本地处理,不发起任何网络请求,规则和目标都不会上传。匹配顺序按规则列表从上到下逐条检查,与 Clash 内核的列表遍历一致;首个命中的规则即作为结果。本工具仅做规则文本匹配,不执行 DNS 解析、代理连接状态检查或 GeoIP 库查询等内核功能。
结果指标怎么看
| 结果项 | 含义 | 判断方式 |
|---|---|---|
| 命中类型 | 触发的规则类型 | DOMAIN 匹配完整域名,DOMAIN-SUFFIX 匹配域名及子域名,DOMAIN-KEYWORD 匹配包含指定字符串的域名,IP-CIDR 匹配 IPv4 网段,MATCH 是兜底规则。 |
| 规则 | 触发的原始规则文本 | 核对规则参数和逗号分隔的三个字段是否正确;若显示"未指定策略组",说明规则缺少第三列。 |
| 策略组 | 规则中的策略名称 | 检查是否与配置文件中定义的代理组名称一致,大小写敏感;MATCH 规则的策略在第二列。 |
什么结果算正常
"正常"取决于你的分流目标,没有通用标准。一般经验:明确的域名应优先命中 DOMAIN 或 DOMAIN-SUFFIX,内网地址应命中对应的 IP-CIDR 规则,MATCH 仅用作最后的兜底。以上是配置检查经验参考,不代表实际 Clash 客户端的完整行为。
常见原因与下一步排查
- 域名规则不命中:检查输入是否含有端口、路径、协议头或尾部点号;确认是否混淆了 DOMAIN(完整匹配)和 DOMAIN-SUFFIX(后缀匹配)。
- 后缀规则过宽或过窄:DOMAIN-SUFFIX 匹配精确后缀,例如 com 会匹配所有 .com 域名,example.com 仅匹配 example.com 及其子域名;不支持通配符。
- IP-CIDR 不命中:本工具仅按 IPv4 CIDR 文本匹配,不执行 DNS 解析或 no-resolve 行为;IPv6 和其他高级特性需在实际 Clash 客户端验证。
- 策略组名不符:规则中的策略组必须完全匹配配置文件内定义的代理组名称;常见错误包括大小写、空格或特殊符号差异。
- 规则被跳过:页面会提示不支持的规则格式或行号;常见原因是格式错误(缺少逗号)、不支持的规则类型(GEOIP、RULE-SET 等)或引号未正确处理。
- 结果与实际不同:本工具不执行 Clash 进程、实时连接测试、DNS 缓存、GeoIP 库查询或代理连接状态检查,这些因素在真实环境中会影响最终路由。
常见问题
这个工具会上传我的 Clash 规则或域名吗?
不会。所有输入完全在当前浏览器页面内处理,工具不发起任何网络请求,规则和目标数据不离开你的设备。
为什么输入 example.com 的 DOMAIN-SUFFIX 规则可以匹配 www.example.com?
DOMAIN-SUFFIX 会同时匹配精确后缀和带点号的子域名。即规则后缀为 example.com 时,会匹配 example.com 本身或任何以 .example.com 结尾的域名如 www.example.com、api.example.com 等。
工具支持 IPv6 和 GEOIP 等高级规则类型吗?
不支持。本工具仅模拟 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR(IPv4 仅)和 MATCH 五类规则;GEOIP、IP-CIDR6、RULE-SET、PROCESS-NAME、正则表达式等高级特性需在实际 Clash 客户端验证。不支持的规则会被跳过,页面会提示跳过的行号。
为什么粘贴 YAML 配置时有些规则被跳过了?
工具支持 YAML 的 - 前缀和 # 注释,但如果规则格式错误(如缺少逗号、不支持的类型、无效引号处理)会被静默跳过,页面下方会提示具体行号和跳过原因。请检查每行是否遵循"类型,参数,策略"或 MATCH 的"MATCH,策略"格式。
规则列表中有多个 MATCH 时会怎样?
按列表从上到下检查,第一个 MATCH 会直接命中并作为兜底结果;因此通常建议只保留一个 MATCH 放在规则末尾。若有多个 MATCH,后续的会被忽略。
为什么实际 Clash 的匹配结果可能和这个工具不同?
本工具仅做规则文本匹配,不执行 Clash 内核的 DNS 解析、no-resolve 选项、GeoIP 库查询、进程检测、代理连接状态验证等完整功能;这些因素在真实环境中会影响最终的路由决策。此工具适合验证规则顺序和基础匹配逻辑。