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

撸了一个 DNS-over-HTTPS 客户端

  •  
  •   eddy314 · 2018-12-03 23:51:13 +08:00 · 5070 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    DNS-over-HTTPS 入 RFC 已经有一段时间了 https://datatracker.ietf.org/doc/rfc8484/,一直没有找到特别合适的代理客户端(都是全局走 DOH 的,这样看视频网站等都走不了国内的 CDN ),干脆自己写了一个带路由功能的 DOHProxy,用了公司+家里用了半个月多,还算稳定吧!上地址:

    https://github.com/major1201/dohproxy

    • 带路由功能,不同的域名用不同的方式去解析,对于我来说,国内域名正常用国内 DNS 服务器来解析;还有一些公司域名本来是写在 hosts 中,这回也可以放到 DNS 中来解析了
    • 支持多种域名匹配规则,前缀后缀正则等
    • 还有一个很重要的一点,以防以后 DOH 提供者被墙,支持 DOH 流量走代理
    • 为了方便后台运行,也支持了各个平台下的 service 方式后台运行
    • 哦对了,Golang 写的,寻路时间极快;如果觉得慢的话……很正常,本来的 DNS 流量换成了 HTTPS 请求,不慢才怪了,但实际上我用下来没觉得有慢

    最后,喜欢的记得 star 哦~

    最最后,目前主流的几个,DOH 服务器:https://github.com/curl/curl/wiki/DNS-over-HTTPS

    9 条回复    2018-12-05 10:27:43 +08:00
    ferock
        1
    ferock  
       2018-12-04 00:20:37 +08:00
    赞,可有的时候没有 go 环境,例如,nas 上。。。能给一个 release 吗?
    eddy314
        2
    eddy314  
    OP
       2018-12-04 00:26:24 +08:00 via iPhone
    @ferock #1 有道理,我明天上个 release
    nfroot
        3
    nfroot  
       2018-12-04 09:47:48 +08:00
    羡慕能撸协议级的程序员。。。。。能放开手脚干就是好啊。

    个人仰望链:前端程序员、桌面程序员、服务端程序员 /协议级程序员、驱动级程序员、内核级程序员、老板程序员。。。。
    Kobayashi
        4
    Kobayashi  
       2018-12-04 13:32:50 +08:00 via Android
    unbound 或 dnsmasq 做下游不就好了吗……
    eddy314
        5
    eddy314  
    OP
       2018-12-04 14:42:18 +08:00
    @nfroot 哈哈这个协议不困难的,耐心把 rfc 文档看完就会了
    eddy314
        6
    eddy314  
    OP
       2018-12-04 14:46:43 +08:00
    @Kobayashi
    - 用 dnsmasq 也可以,可惜不支持 Windows,不过同类支持 Win 的软件还是有的,可以实现
    - 配两个程序代价略大。看自己权衡利弊啦
    missdeer
        7
    missdeer  
       2018-12-04 15:27:15 +08:00   ❤️ 1
    CoreDNS 了解一下
    eddy314
        8
    eddy314  
    OP
       2018-12-04 21:27:29 +08:00 via iPhone
    @missdeer #7 感谢分享,我研究一下!
    LuvF
        9
    LuvF  
       2018-12-05 10:27:43 +08:00 via Android
    mark
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2608 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:49 · PVG 18:49 · LAX 02:49 · JFK 05:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.