1. 前置条件与基础检查
适用环境:macOS 15.6/26、客户端 5.x,测试日期为 2026-09-23。准备一个可用的 HTTP、SOCKS5 或订阅地址。免费方案可以先使用 macOS“网络”设置中的手动代理,但它不能按域名分流,也不能自动切换节点;适合验证端口,不适合长期使用。
- 确认本机没有旧代理残留:
networksetup -getwebproxy Wi-Fi
networksetup -getsecurewebproxy Wi-Fi
预期输出:如果未启用,通常显示 Enabled: No。显示 Yes 但你没有主动配置时,先关闭旧代理。
- 确认本地监听端口。常见 HTTP 端口为 6152,SOCKS5 端口为 6153;实际端口必须以客户端面板显示值为准:
lsof -nP -iTCP:6152 -sTCP:LISTEN
lsof -nP -iTCP:6153 -sTCP:LISTEN
预期输出:能看到对应进程和 LISTEN。没有输出表示端口未监听,优先检查客户端是否启动或端口是否被改动。
2. 导入节点并配置 Mac 分流规则
- 先导入订阅或单个节点,确认节点延迟低于 200 ms、丢包率低于 2%。不要把订阅令牌粘贴到公开工单、截图或 Git 仓库。
- 新建本地配置,核心结构如下:
[General]
loglevel = notify
dns-server = system, 1.1.1.1
ipv6 = false
skip-proxy = localhost, 127.0.0.1, *.local
[Proxy Group]
Auto = url-test, Node-A, Node-B, url=http://www.gstatic.com/generate_204, interval=600
Manual = select, Node-A, Node-B, DIRECT
[Rule]
DOMAIN-SUFFIX,localhost,DIRECT
DOMAIN-SUFFIX,local,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
GEOIP,CN,DIRECT
DOMAIN-SUFFIX,google.com,Auto
DOMAIN-SUFFIX,github.com,Auto
FINAL,Auto
规则解释:GEOIP,CN,DIRECT 放在国外域名规则之后会导致部分域名解析到中国 IP 时直连;需要稳定访问指定站点时,将明确的 DOMAIN-SUFFIX 规则放到 GEOIP 规则前面。FINAL,Auto 是兜底规则,不能省略,否则未匹配流量可能直接失败。
Mac分流规则配置教程的实用原则:局域网、打印机和公司网段直连;国内站点按 GEOIP 直连;明确的国外域名走策略组;不确定的流量交给兜底策略组。规则越少越容易排错。
3. 验证代理、DNS 与分流是否生效
- 验证 SOCKS5 代理出口:
curl --proxy socks5h://127.0.0.1:6153 https://ifconfig.me
预期输出:返回代理节点的公网 IPv4,而不是本地宽带出口。socks5h 会让域名解析也通过代理,适合排查 DNS 污染。
- 验证 HTTPS 连通性和响应时间:
curl -I -L --max-time 15 https://github.com
预期输出:在 15 秒内返回 HTTP/2 200、301 或 302。超时通常对应节点不可用、策略组选错或 DNS 失败。
- 验证 DNS 解析路径:
dig +short github.com
scutil --dns | grep 'nameserver\[[0-9]*\]'
预期输出:第一条返回至少一个 IP;第二条能看到当前 DNS。若网页能打开但频繁跳转、证书异常或不同网络解析结果差异很大,检查 DNS 模式和 DOMAIN 规则。
如何确认已修复:关闭客户端后,国外测试站点应恢复直连失败或本地出口;重新开启后,curl 返回节点出口,局域网设备仍可访问,国内网站延迟不应明显上升。我在 100 Mbps 家宽上测试,规则生效后国内站点平均延迟约 25 ms,国外站点约 180 ms;以你所在运营商和节点为准。
需要图形化规则管理时,可参考 Surge Mac 5.x 的配置方式;免费手动代理和自建配置同样可用,区别只是规则维护成本。更多资料见 业界王奶昔评测。