V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xAsiimov
V2EX  ›  分享创造

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

  •  1
     
  •   xAsiimov · 2019-11-25 12:48:24 +08:00 · 4795 次点击
    这是一个创建于 1832 天前的主题,其中的信息可能已经有所发展或是发生改变。
    练手的小项目, 将 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 都会解析到北美, 速度很慢.
    9 条回复    2019-11-28 18:55:01 +08:00
    Ionstorm
        1
    Ionstorm  
       2019-11-25 16:13:04 +08:00
    DNS 劫持通常发生在国内的电信商的节点,用户的 DNS 请求到不了 DNS 服务器,DoT,DoH 能解决这类劫持吗?
    xAsiimov
        2
    xAsiimov  
    OP
       2019-11-25 16:23:47 +08:00
    @Ionstorm 可以. DoH 和 DoT 会将 DNS 请求加密, 不会被国内电信商检测到.
    imn1
        3
    imn1  
       2019-11-25 16:26:15 +08:00
    dot 还是有点慢,建议加个 TTL 修改、缓存,理论上 12 小时 /24 小时内 ip 是不会变的,不需要每次请求
    就算变了,重启清了 cache 就行了
    虽然我用别家,还是支持一下

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

    不过 doh/dot 国内用效果并不好,支持这些协议的域名服务器一般都在墙外,而且经常被干扰。慢上加慢
    xAsiimov
        8
    xAsiimov  
    OP
       2019-11-28 18:25:47 +08:00
    @Chingim Google DoT + DNS 缓存在中国的体验还行, 其他的都慢的一批...
    倒是可以自建...
    Chingim
        9
    Chingim  
       2019-11-28 18:55:01 +08:00 via Android
    @xAsiimov 网络好的情况下可以用,比如公司有专线的情况
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   903 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:33 · PVG 05:33 · LAX 13:33 · JFK 16:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.