这里简化一下配置把 json 转为 yaml 表示
俺代码也去扒了一下没大看懂,暂且理解为从上到下,按照先后顺序一条条匹配的,如果没有匹配到任何一条,那么就走 final
如果在 tun mode 下,sing-box 会进行 dns 劫持吗
dns:
final: dns_proxy
independent_cache: true
strategy: prefer_ipv4
servers:
- { tag: dns_proxy, address: 8.8.8.8, detour: 默认 }
- { tag: dns_resolver, address: 223.5.5.5, detour: DIRECT }
rules:
- { rule_set: [ MainlandNetwork ], server: dns_resolver }
- { rule_set: [ AboardNetwork, GeoSite@category-anticensorship, GeoSite@tld-!cn, GeoSite@gfw, GeoSite@geolocation-!cn ], server: dns_proxy }
- { rule_set: [ GeoSite@cn, GeoSite@tld-cn ], server: dns_resolver }
- { outbound: [ any ], server: dns_resolver }
按照这个规则,比如说当前域名是 3vc6d6355d917116360892063vc6d635.edns.ip-api.com
ip-api.com
应该是没有在上面任何一条 rule_set
中,那么是否会命中 outbound: any
呢
测试了一下 tun mode ,发现会有 dns 泄露
但是 http proxy 不会,有点不太明白这个逻辑,按这个逻辑来说应该任何没有命中 rule_set
的域名都应该走 223.5.5.5
请求 dns
已经禁用 Windows 智能多宿主名称解析
1
SenLief 235 天前
strict_route
|
2
kuaizi 235 天前 via Android
outbound
匹配出站。 any 可作为值用于匹配任意出站。 解析你代理服务器域名用的 没有匹配规则的话,默认走 sever 第一个,也就是你的 8.8.8.8 |
3
jamesjammy061 OP @kuaizi 感谢。我也有在 singbox 官方 issue 问过,但是发现好像会死循环,8.8.8.8 又会走 detour 。有没有方法像 clash meta 的 proxy_nameserver 一样,使得解析代理服务器域名走单独的 dns ,直接出站
|
4
garryforreg420 190 天前 1
|
5
himan85 126 天前 via iPhone
这个 outbound:any 我也困惑了好一下子,其实匹配的是你本地服务器到代理服务器的 outbound ,所以自然也不会匹配到任何你要访问的最终服务器域名了
|