macOS下53端口需要管理员权限,后续命令建议全程使用sudo执行

brew相关命令

brew services start/restart/stop #服务名称
brew services list #查看已安装软件包服务状态

1.1 安装 Homebrew

Homebrew 是一个包管理工具,可以很方便地安装各种软件。通过以下命令来安装Homebrew:

/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"

1.2 安装并运行SmartDNS

使用 Homebrew 安装 SmartDNS:

sudo brew install smartdns
sudo brew services start smartdns

1.3 配置 SmartDNS 文件

首先需要查找.plist配置文件路径:

sudo brew services list
#正常会返回下面这个结果,其中File就是应用程序配置文件路径
Name     Status  User File
smartdns started root /Library/LaunchDaemons/homebrew.mxcl.smartdns.plist
#查看这个文件内容:
cat /Library/LaunchDaemons/homebrew.mxcl.smartdns.plist
#就可以看到smartdns.conf的文件路径了,进行编辑,mac下一般在/opt/homebrew/etc/smartdns/smartdns.comf
sudo nano /你的smartdns.conf路径

smartdns.conf 文件中添加你的 DNS 配置。下面是我的配置,我只需要分流所以配置项比较少,具体配置参数含义可以参考smardns官网并根据你的网络环境以及需要进行修改,如果你是三大运营商且当地没有dns劫持情况国内DNS我建议采用运营商下发DNS即可,实测下来平均速度最快:

# server-name
server-name smartdns
# set log level
log-level info
# listen address
bind :53@en0
bind-tcp :53@eth0
# local dns server list
server 198.18.0.2 -no-cache
# remote dns server list
server 114.114.114.114 -group china_domains -exclude-default-group
server 119.29.29.29 -group china_domains -exclude-default-group
# Rule begins, named as rule
domain-set -name china_domains -type list -file /opt/homebrew/etc/smartdns/chinalist/accelerated-domains.china.raw.txt
domain-rules /domain-set:china/ -speed-check-mode none -nameserver china_domains

其中域名引用文件可以参考https://github.com/felixonmars/dnsmasq-china-list/blob/master/Makefile项目,使用Makefile自行生成,不想再折腾的朋友可以使用我这个已经做好的:

accelerated-domains.china.raw.txt

配置完成后,重新启动 SmartDNS:

sudo brew services restart smartdns

1.4 验证运行状态