- 服务端是Google HTTPS DNS
- 通过ShadowSocks解决访问Google HTTPS DNS server的问题。
- 通过传递探测到的公网IP作为edns0 subnet的参数来解决CDN解析出美国IP而不是中国IP的问题。
- 公网IP探测使用了淘宝的API。
- 自带域名分流功能,但设计目标仅针对公司内网域名服务,不需要把常用国内网站加入,由于第3点,不会受到SS服务器IP的影响(SS服务器在美国依然能解析出中国IP)
- 通过HTTP 2.0解决传统DNS over TCP缓慢的问题。
已知问题:
- 连接了AnyConnect VPN后,AnyConnect Windows Client会阻断访问本地53端口的DNS,导致无法使用。
项目地址:https://github.com/ayanamist/gdns-go
------------
我的补充说明:
在本地机器mac上。
首先安装go环境。然后,
cd $GOPATH
go get -u -v github.com/ayanamist/gdns-go
(可执行文件gdns-go将会出现在$GOBIN/下)
wget https://github.com/ayanamist/gdns-go/raw/master/config-example.json -O gdns-go-config.json
nano gdns-go-config.json
(在proxy那一行,填入你的ss服务器的四项参数)
sudo gdns-go -conf gdns-go-config.json
(不要关闭此terminal)
实际使用例子:
sudo wg-quick up wg0
sudo networksetup -setdnsservers "Wi-Fi" 127.0.0.1
sudo gdns-go -conf ~/gdns-go-config.json