Skip to content

Clash 规则匹配沙盒测试工具 ​

操作提示:在下方输入框中输入您需要测试的目标网址(如 chat.openai.com、netflix.com、bilibili.com 等),系统将模拟规则引擎的短路匹配算法,即时显示匹配的规则语句、调度策略组与出站动作。


一、Clash 规则引擎短路求值原则 ​

Clash 核心的规则匹配采用严格的**自上而下、首次命中即终止(First Match Wins / Short-circuit Evaluation)**机制:

mermaid
graph TD
    Start["发起网络请求 (目标域名/IP)"] --> R1{"匹配 DOMAIN / 域名后缀?"}
    R1 -- 是 --> Action1["立即执行该规则出站策略 (终止匹配)"]
    R1 -- 否 --> R2{"匹配 GEOSITE 域名库?"}
    R2 -- 是 --> Action2["立即执行该规则出站策略 (终止匹配)"]
    R2 -- 否 --> R3{"匹配 IP-CIDR / GEOIP?"}
    R3 -- 是 --> Action3["立即执行该规则出站策略 (终止匹配)"]
    R3 -- 否 --> Fallback["落入 MATCH 最终兜底规则"]
  1. 特定应用规则必须置顶:

    • 例如针对 chatgpt.com 或 netflix.com 的精细域名规则,必须置于广义的 GEOSITE,cn 或兜底规则之前;
    • 若错误地将兜底规则写在顶部,所有后续规则将形同虚设。
  2. 直连规则与代理规则隔离:

    • 国内大厂域名(如腾讯、阿里、字节)推荐通过 GEOSITE,cn,DIRECT 批量放行;
    • 包含特定内外网双向服务的域名(如微软、苹果服务),可使用独立的策略组拆分分流。

二、常见分流失效疑难排查 ​

1. 为什么明明加了规则,网站还是走错节点? ​

  • 原因一:规则被前置规则提前拦截。检查当前规则上方是否存在包含该域名的泛规则(例如 DOMAIN-KEYWORD 或宽泛的 GEOSITE);
  • 原因二:DNS 缓存污染。浏览器或操作系统本地存留了先前的 DNS 缓存,导致请求尚未进入内核匹配就被发送至错误的目的地址。排查时可使用无痕模式或在命令行执行 ipconfig /flushdns。

2. IP 规则为什么要加 no-resolve? ​

  • 当规则引擎评估 IP-CIDR 规则时,若未添加 no-resolve,核心会主动向上游 DNS 发起解析以获取该域名的真实 IP。此行为可能在不经意间造成 DNS 污染泄露并增加数百毫秒延迟。