基于 Python 实现 DNS-over-TLS/HTTPS 和分区解析的小工具

2019-11-25 12:48:24 +08:00
 xAsiimov
练手的小项目, 将 DNS 请求转发到用户指定的上游 DNS.
上游 DNS 支持的协议有: UDP, TCP, DNS-over-TLS, DNS-over-HTTPS.
使用 DNS-over-TLS 和 DNS-over-HTTPS 可以有效规避劫持.
分区解析的实现方式是将境内域名转发到国内 DNS, 将境外域名转发到境外 DNS.
支持将请求结果缓存在本地.

项目地址: https://github.com/Siujoeng-Lau/Encrypted-DNS

本人在北美用 Cloudflare DoH 和 Google DNS DoH 速度都很快.
国内 Google DNS DoT 似乎会解析到台湾, 速度还可以; DoH 直接被屏蔽了.
Cloudflare DoT 和 DoH 都会解析到北美, 速度很慢.
4560 次点击
所在节点    分享创造
9 条回复
Ionstorm
2019-11-25 16:13:04 +08:00
DNS 劫持通常发生在国内的电信商的节点,用户的 DNS 请求到不了 DNS 服务器,DoT,DoH 能解决这类劫持吗?
xAsiimov
2019-11-25 16:23:47 +08:00
@Ionstorm 可以. DoH 和 DoT 会将 DNS 请求加密, 不会被国内电信商检测到.
imn1
2019-11-25 16:26:15 +08:00
dot 还是有点慢,建议加个 TTL 修改、缓存,理论上 12 小时 /24 小时内 ip 是不会变的,不需要每次请求
就算变了,重启清了 cache 就行了
虽然我用别家,还是支持一下

@Ionstorm
可以
Ionstorm
2019-11-25 16:53:43 +08:00
@xAsiimov 问题是谁会加密呢?用户的浏览器并不会加密呀?或者你的这个小程序是在用户本机运行的?
xAsiimov
2019-11-25 16:59:14 +08:00
@Ionstorm 运行在本机或者路由器上
Jirajine
2019-11-25 17:09:17 +08:00
LZ 这个太简陋了,真要用的话推荐更成熟的产品:
https://github.com/DNSCrypt/dnscrypt-proxy
Chingim
2019-11-27 04:26:09 +08:00
coredns 了解一下

不过 doh/dot 国内用效果并不好,支持这些协议的域名服务器一般都在墙外,而且经常被干扰。慢上加慢
xAsiimov
2019-11-28 18:25:47 +08:00
@Chingim Google DoT + DNS 缓存在中国的体验还行, 其他的都慢的一批...
倒是可以自建...
Chingim
2019-11-28 18:55:01 +08:00
@xAsiimov 网络好的情况下可以用,比如公司有专线的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/622869

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX