本帖最后由 他回精神病院了 于 2024-6-8 18:59 编辑
理论上,在fakeip模式下,只要配置合理(在匹配到对应规则之前,前面的规则不会导致产生DNS解析请求),只有直连的请求才会在本地解析DNS,所有通过服务器的以及被拦截的请求不会在本地产生DNS解析请求记录。 具体导致泄露的代码在tunnel.go里的handleUDPConn函数里的"local resolve UDP dns"部分,具体代码如下(以clash开源版代码为准):
复制代码 这段代码在最开始的地方,在分流代码之前,所以会对所有请求进行DNS解析(包括通过服务器连接的、被拦截的)。 检查了一下Clash.Meta的代码,相同的代码也存在,所以Clash.Meta也有相同的问题。根据作者的提交记录(见下面),代码是从premium版本同步过来的,所以盲猜premium版本也有此问题。
复制代码 解决方法(二选一): P.S.我下午尝试用第一种方法修复了一下,添加只查询本地DNS缓存的方法以后依然要修改其他几个地方。 |
好帖,这才是loc该有的样子 |
感谢分享。 但六扇门要是根据DNS泄露来请喝茶,那他们整天啥事都不用做了,14亿人得有一半得去一趟。。。 BTW,真在意的话,直接把浏览器里的quic关掉更简单:chrome://flags/#enable-quic |
无所谓,只要油管保证十万以上,爱谁谁 |
见到一千元的罚款单和保证书以后就有所谓了 |
我是设置dns为adg,然后adg分流,只要国外的网站就走国外doh查询 |
怎么操作?有教程吗 |
这个不错,之前没发现QUIC可以关掉 |
Clash的DNS泄露是指在使用Clash的情况下,部分DNS请求没有通过代理服务器进行解析,导致您的真实IP地址或DNS服务器信息可能被泄露。 解决Clash DNS泄露的一般方法如下: * 使用加密DNS 使用加密DNS可以防止您的DNS请求被监听和窃取。Clash支持多种加密DNS协议,例如DoH、DoT和DNSCrypt。您可以根据自己的需要选择合适的加密DNS协议和服务器。 * 使用no-resolve规则 no-resolve规则可以阻止Clash解析特定域名的DNS请求。您可以将需要通过直连方式访问的域名添加到no-resolve规则中,以防止这些域名的DNS请求泄露。 * 使用fallback-filter规则 fallback-filter规则可以指定Clash在无法通过代理服务器解析域名时使用的DNS服务器。您可以将您的本地DNS服务器或其他可信任的DNS服务器添加到fallback-filter规则中。 以下是一些具体的配置示例: * 使用DoH加密DNS rules: – DOMAIN-SUFFIX .example.com, .example.net DOH [email protected] * 使用no-resolve规则 * 使用fallback-filter规则 请注意,这些只是一些示例配置,您需要根据自己的实际情况进行调整。有关Clash DNS泄露的更多信息,请参阅Clash官方文档:https://github.com/vernesong/OpenClash/issues/1682 |
土著MJJ表示 不用小猫咪 |