Clash.Meta Wiki
Search…
⌃K

Sniffer域名嗅探器

Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题;但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。
Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。

配置示例:

sniffer:
enable: true
sniffing:
- tls
- http
skip-domain:
- 'Mijia Cloud'
- 'dlg.io.mi.com'
- '+.apple.com'
# - '*.baidu.com'
force-domain:
# - '+'
- 'google.com'
port-whitelist:
- 443
- 8000-9000
sniffing:需要嗅探的协议类型
支持tls/http的嗅探,后续跟进其他类型
skip-domain:遇到sni字段为列表中的内容,保留mapping结果,不使用嗅探的内容覆盖mapping结果(主要解决部分站点sni字段非域名,导致嗅探结果异常的问题,支持通配符)
例:- 'Mijia Cloud' 米家设备SNI,建议添加
- '+.apple.com' 苹果站点,建议添加
force-domain:需要强制嗅探的域名(默认只对IP进行嗅探,支持通配符) (优先级低于skip-sni,skip-sni内的域名不会被强制嗅探
例:- '+' 强制全局嗅探
- 'google.com'
- '*.netflix.com.com'
  • force-domain列表的响应内容为原mapping结果的域名;
  • 使用全局嗅探时,注意维护skip-domain名单,否则可能因apple/Mijia等部分域名的sni字段非域名,导致相关站点访问异常。
port-whitelist:端口白名单,只对名单内的端口进行嗅探还原域名(不写为全端口)。
例:- 443 单个端口
- 8000-9000 端口范围
本文内容只展示Meta专属特性,全部DNS配置内容请参阅 完整示例 ,或者请查阅 Clash Wiki