DNSCrypt是一个介于客户端和DNS服务商之间的认证式通讯协议, 通俗来讲, DNSCrypt阻止了运营商对你的DNS恶意劫持.

DNSCrypt支持各个平台, 因为我用的是macOS, 所以就拿macOS举例, 其他平台可以去dnscrypt.info查看更多信息.

开始安装

安装Homebrew

Homebrew是macOS上的软件包管理器, 他可以安装苹果没有预装的软件, 比如 $ brew install wget

首先需要打开终端,输入

1
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后就会自动开始安装, 期间会让你输入密码并安装Xcode Command Line Tools, 然后喝杯咖啡去吧. 回来之后就安装好了.

安装DNSCrypt-Proxy

直接在终端输入 $ brew install dnscrypt-proxy, 然后稍等一下就安装了. 但是在使用之前需要做一点小配置.

配置DNSCrypt-Proxy

无论是Vim还是nano还是Visual Studio Code, 只要是能编辑文本的软件就好, 打开 /usr/local/etc/dnscrypt-proxy.toml, 然后修改几个选项.

应用日志

程序有任何运行错误都可以在这个日志文件中查看.

找到log_level, 修改如下, 哦对, macOS默认是没有/usr/local/var/log/文件夹, 需要在/usr/local/var/ 目录下 mkdir log

1
2
log_level = 0
log_file = '/usr/local/var/log/dnscrypt-proxy.log'

查询日志.

这个日志记录了每一个dns查询的时间, 在 dnscrypt-proxy.toml 搜索query_log并设置为

1
file = '/usr/local/var/log/query.log'

NX日志

NX日志记录着那些不存在的域名, 在 dnscrypt-proxy.toml 搜索nx_log并设置为

1
file = '/usr/local/var/log/nx.log'

禁用系统DNS

不使用macOS自带的域名解析.在 dnscrypt-proxy.toml 搜索ignore_system_dns并设置为

1
ignore_system_dns = true

启动DNSCrypt-Proxy

在终端中输入

1
$ sudo brew services start dnscrypt-proxy

然后可以查看 dnscrypt-proxy.log 文件, 应该可以看到 dnscrypt-proxy is ready.

之后在将 网络设置中的DNS改成 127.0.0.1 即可.