比较账号地区、访问目标与实际出口是否一致时,先分清三类信息的来源。官方路由规则没有账号地区字段,规则只能看到目标域名、目标或来源 IP、端口、进程、入站、逻辑组合,以及命中后的出站名称。账号地区只能作为规则之外的备注;目标与出口则应落在 rules 可验证的字段上。三项用同一套术语书写,才能判断差异来自规则命中错误,还是来自平台账号本身。
适用条件
需要复查平台判定地区与所选出口为何不一致;准备改 GEOSITE、GEOIP 或 MATCH 之前要留下可对比快照;协作时不能只口头说「已经是某区」。
判断依据:能写出目标主机或目标 IP 所对应的规则类型,并且能指出列表中第一条命中规则的出站,记录才有效。只有账号界面上的地区标记、没有主机名,无法与规则对照。
三项分别记录什么
账号地区(规则外备注):从平台账户、支付区或界面语言抄写,并明确标注「非 Clash 匹配项」。禁止把 GEOIP 国家代码填进这一栏。若账号地区与出口名称看起来一致而平台仍拒绝,应停止在规则里找原因。
目标信息(规则可匹配)必须落到具体类型,禁止只写「某国站点」:
- 完整域名用
DOMAIN - 后缀用
DOMAIN-SUFFIX,并记住文档限制:google.com不匹配content-google.com - 关键字、通配、正则分别用
DOMAIN-KEYWORD、DOMAIN-WILDCARD(仅*与?,且与其他位置的 Clash 格式通配符不同)、DOMAIN-REGEX - 类别用
GEOSITE(匹配 Geosite 内域名) - IP 网段、后缀、ASN、国家代码用
IP-CIDR/IP-CIDR6、IP-SUFFIX、IP-ASN、GEOIP - 来源侧用
SRC-GEOIP、SRC-IP-CIDR等 - 端口与协议用
DST-PORT、NETWORK - 进程用
PROCESS-NAME或PROCESS-PATH
同时记下是否使用 no-resolve(匹配目标 IP 类规则时跳过 DNS 解析)以及是否使用 src(把目标 IP 匹配转为来源 IP 匹配)。更早规则若已触发解析,后面的 no-resolve 仍可能命中,目标栏要写清解析是否已经发生。
出口信息(命中行的出站):写出从上到下第一条命中规则的类型、载荷和出站名。MATCH 无需条件、匹配全部剩余请求;具体规则未命中时,出口就是 MATCH 指向的代理或组。RULE-SET 要记集合名;SUB-RULE 要记进入了哪份子规则;AND/OR/NOT 要记括号内的 payload。出口栏只记配置里的出站名,不记地图上的国家名。
比较时把账号地区、目标上的 GEOIP 或域名类别、出站名称分三列对照。任一列不同都单独标记。常见错位:账号显示 A,目标 CDN 的 GEOIP 是 B,出站是 C 组——不能靠再加一条相同 GEOSITE 自动对齐。另一类错位:目标域名本应走代理,却命中更靠上的 GEOIP 直连,则出口应记为 DIRECT,与账号地区无关,应改顺序或补域名规则。过宽 DOMAIN-KEYWORD 提前命中时,出口栏要写实际命中行,而不是你打算使用的那一行。
记录失败时下一步
目标只有错误提示没有主机:先补域名或 IP,再写规则类型。无法确定命中行:按优先级缩小范围,检查过宽关键字或过早出现的 MATCH;逻辑规则先拆括号。IP 与域名互相覆盖:标明解析是否发生、no-resolve 是否被更早解析抵消。出口名称像国家但配置里是策略组:以配置出站名为准。账号地区栏被写成 GEOIP:划掉重写,避免把平台权限当成规则故障。完成三项记录后,再决定是改匹配条件、改出站选择,还是不再从规则层面处理账号权限。