abrclano / Meandering.Path

自用分流规则(预处理方法):适用于Clash for Windows和Clash Verge (verge-rev、nyanpasu),另含一些stash的复写模块。
102 stars 23 forks source link

Rules.js会造成dns泄露 #1

Closed letterk closed 11 months ago

letterk commented 11 months ago

Rules.js无修改 非常奇怪, 在fakeip模式下依然会使用国内dns Snipaste_2023-12-17_14-46-07


我使用以下的配置, 不会泄露

geodata-mode: true
tcp-concurrent: true
geox-url:
  geoip: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat
  geosite: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat
  mmdb: https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb
dns:
  enable: true
  prefer-h3: false
  listen: 0.0.0.0:1053
  ipv6: true
  default-nameserver:
    - 223.5.5.5
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - +.lan
    - +.local
    - localhost.ptlogin2.qq.com
  nameserver-policy:
    geosite:category-ads-all: rcode://success
  nameserver:
    - dhcp://auto
    - 192.168.31.1
    - 223.5.5.5
    - tls://dot.pub
    - https://dns.alidns.com/dns-query

image


另外使用Mixin.yaml合并规则, 不会造成泄露

abrclano commented 11 months ago

我觉得这也不算是DNS泄露吧,因为在分流规则下,本来就是不同的分流就会使用不同的DNS,你如果使用全局模式那当然就只会用一个DNS,如果你介意的话也可以自己修改,毕竟这只是我自用的规则

letterk commented 11 months ago

这个网站已经被匹配被分流到走代理, 直接把域名发给节点服务器做dns解析, 本地返回fakeip, 为何还会拿域名在多个dns里解析呢 我提问的主要原因是觉得很奇怪, 就一个分流规则, 怎么会导致这种情况的

abrclano commented 11 months ago

你可以去YouTube看看不良林关于DNS泄露的视频,可能对你有帮助

letterk commented 11 months ago

我就是之前看过不良林的视频才注意这个问题的, 我发的这种情况, 不良林只是说了一句"你觉得这算不算dns泄露"

abrclano commented 11 months ago

emmm,我个人觉得只要你访问国外网站不泄露就行了,访问国内网站泄不泄露也没什么关系吧

letterk commented 11 months ago

你没懂我的意思, 这个网站ipleak.net, 被分流到了走代理, 实际上就是你别的国外网站走代理的情况, 规则匹配走直连的用nameserver. 规则匹配到走代理的返回fakeip, 不解析dns直接发域名给节点. 现在就是走代理的网站还要本地去请求dns解析域名. 这是不正确的

abrclano commented 10 months ago

今天看了一下,DNS泄露应该解决了 image

letterk commented 10 months ago

原来如此, 这个条件判断语句太长, 没看清楚居然有geoip 这些天还发现, 持久化fakeipstore-fake-ip: true也会导致dns泄露