pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
7.92k stars 1.05k forks source link

DoH 路径修改 #1711

Open yoshyv opened 3 months ago

yoshyv commented 3 months ago

需求应用场景 搭建自用 DoH,避免被扫描导致被干扰/墙

建议的方案

因为 DoH 和普通 HTTPS 加密流量没什么区别,只要不公开多人使用可以自建无污染 DoH 服务器。

目前 smartdns 支持 DoH 服务端。然而阅读配置选项后,并没有发现自定义路径选项。目前使用的是默认 /dns-query 查询路径。 使用默认路径存在被扫描发现是 DoH 服务器后 SNI 阻断等后果。 目前可以使用 nginx 反代解决。但是多一层转发,且将来 smartdns 支持 HTTP/3 后,nginx 不一定能及时添加 HTTP/3 支持,DoH3 特性尽失。

支持服务端 QUIC 的 OpenSSL 3.3 预计下月发布。
https://www.openssl.org/roadmap.html

望能考虑修改路径选项。

谢谢

PikuZheng commented 3 months ago

/dns-query 由 RFC 8484 规定,我不认为自定义是个好主意。

另一方面https只能通过SNI获取到域名,路径是没有的。

PikuZheng commented 3 months ago

哦我明白了。你是说第三方会伪造dns请求来嗅探。这个情况我建议使用客户端白名单来限制(不认识的就不让用

yoshyv commented 3 months ago

自定义并不是强制自定义,不配置时候就使用默认的 /dns-query 不行么?。多一个选项也多一个选择。 mosdns 也可以自定。

具体怎么嗅探的还不太清楚,只是看到网上有提到被嗅探后遇到 SNI 阻断的。单独使用 smartdns 能客户端白名单?