发现 openclash 开启流量嗅探后,访问 https://tjupt.org/ 会被认为是国外
让 ai 分析了下日志
通过分析您提供的两份日志文件和 Clash 配置文件,发现访问 tjupt.org 产生国内/国外 IP 差异的根本原因是:浏览器 TLS 握手的 ECH (Encrypted Client Hello) 机制与 Clash 的流量嗅探重写 (Sniffer) 产生了冲突。
以下是具体的分析过程和原因:
1. 核心原因:域名被嗅探重写为 cloudflare-ech.com
在 config.yaml 中,您启用了 Clash 的流量嗅探并设置了目的地重写( override-destination: true ):
sniffer:
enable: true
override-destination: true
sniff:
TLS:
ports: [443, 8443]
由于 tjupt.org 使用了 Cloudflare 的 CDN 并开启了 ECH (加密客户端问候) 机制,浏览器在发起 TLS 握手时,会把实际的域名加密,并在外层(未加密部分)使用一个公共域名 cloudflare-ech.com 。
在全局直连日志 2026-06-23 18-25-38.log 中可以清晰地看到这一过程:
184: 18:25:32 debug [Sniffer] Sniff tcp [10.10.10.160:13577]-->[tjupt.org:443] success, replace domain [tjupt.org]-->[cloudflare-ech.com]
Clash 的嗅探器成功识别了这次 TLS 握手,并由于 override-destination 开启,将目标域名从 tjupt.org 强制替换为了 cloudflare-ech.com 。
2. 规则匹配失效与分流差异
一旦域名被替换为 cloudflare-ech.com ,Clash 会重新对这个新域名进行规则分流匹配:
• 原本在 config.yaml 中配置的直连规则 - DOMAIN-SUFFIX,tjupt.org,DIRECT,- DOMAIN-SUFFIX,tju.pt,DIRECT 将无法被匹配到(因为域名已经被篡改为了 cloudflare-ech.com )。
• 新域名 cloudflare-ech.com 随后匹配到了配置中的代理规则集 config.yaml ,被导向了 🔰 模式选择 策略组