/dnsproxy

防 DNS 缓存污染,兼顾查询质量与速度

Primary LanguageGoMIT LicenseMIT

dnsproxy

Travis status

DNS 服务器 + 代理服务器

作为 DNS 服务器使用时

  • **大陆的域名 通过国内 DNS 服务器查询
  • gfwlist 中的域名通过代理服务器向国外 DNS 服务器查询
  • 不在以上两者中的域名:先通过代理服务器向国外 DNS 服务器查询,如果得到**大陆 IP 则再通过国内 DNS 服务器查询一次以试图获取更好的 IP 质量

作为代理服务器使用时

  • **大陆的域名 直连
  • gfwlist 中的域名通过代理服务器访问
  • 不在以上两者中的域名:如果其 IP 是 **大陆 IP 则直连,否则通过代理服务器访问

获取与安装

直接下载二进制文件

See the releases page

通过 docker 编译

$ docker build -t dnsproxy https://raw.githubusercontent.com/ARwMq9b6/dnsproxy/master/cmd/dnsproxy/Dockerfile
$ docker run -v $PWD/target:/target dnsproxy

本地编译

$ go get -u github.com/ARwMq9b6/dnsproxy
$ cd $GOPATH/src/github.com/ARwMq9b6/dnsproxy/cmd/dnsproxy
$ make