TL;DR 与前置条件
TL;DR:本文按 Surge for Mac 5.8.2、macOS 14.6.1、测试日期 2026-01-20 编写。目标是完成可维护的代理订阅导入、规则分流、DNS 处理和验证。适合搜索“Surge Mac下载”“Surge Mac客户端配置教程”“Surge分流规则怎么用”的读者。
Pre-requisites:
- macOS 13.0+,管理员权限。
- Surge for Mac 5.8.x,官方渠道下载。免费试用可完成配置验证,但长期使用需要授权。
- 一个可用订阅链接,支持 Shadowsocks、Trojan、VMess、VLESS 或 Hysteria2。本文不假设具体机场。
- 基础测试工具:curl、ping、scutil,macOS 默认自带。
Note: 先用官方/免费路径验证客户端和规则逻辑,再考虑付费订阅。客户端没配对,换机场也不会稳定。
Warning: 不要把订阅链接发给别人。订阅 URL 等同于账号凭据。
1. 安装后先确认系统网络状态
-
确认 macOS 版本。低于 13.0 时,Network Extension 行为可能不同。
sw_vers期望输出:
ProductName: macOS ProductVersion: 14.6.1 BuildVersion: 23G93 -
确认当前出口 IP。此时 Surge 还未接管流量。
curl -4 https://ifconfig.me期望输出:
203.0.113.24 -
确认 DNS。若看到公司内网 DNS 或运营商劫持 DNS,后续应启用 Surge DNS。
scutil --dns | grep 'nameserver\[[0-9]*\]' | head期望输出:
nameserver[0] : 192.168.1.1 nameserver[0] : 240e:1f:1::1
2. 导入订阅并写入最小可用分流配置
-
打开 Surge:Profiles → New Profile → Import from URL,粘贴订阅链接。保存为
airport-prod.conf。这是最简单的 Surge Mac怎么用路径。 -
打开配置文件,保留 Provider 和 Proxy Group,手动加入以下 DNS 与规则。域名集合用内置规则,避免一开始维护复杂列表。
[General] loglevel = notify ipv6 = false skip-proxy = 127.0.0.1, localhost, *.local dns-server = 223.5.5.5, 119.29.29.29 encrypted-dns-server = https://dns.alidns.com/dns-query test-timeout = 5 [Proxy Group] PROXY = select, policy-path=https://example.invalid/sub.txt, update-interval=86400 AUTO = url-test, policy-path=https://example.invalid/sub.txt, url=http://www.gstatic.com/generate_204, interval=600, tolerance=80 [Rule] DOMAIN-SUFFIX,apple.com,DIRECT DOMAIN-SUFFIX,icloud.com,DIRECT DOMAIN-SUFFIX,github.com,PROXY DOMAIN-SUFFIX,openai.com,PROXY DOMAIN-KEYWORD,google,PROXY GEOIP,CN,DIRECT FINAL,PROXY,dns-failed -
保存后点击 Dashboard → Set as System Proxy。若需要全局接管 TCP/UDP,启用 Enhanced Mode。
Note: 我的测试机为 MacBook Pro M2,500 Mbps 宽带。AUTO 组测试 8 个日本节点,延迟中位数 48 ms,晚高峰 20:30 下载稳定 162 Mbps。测量方式为 Surge 内置延迟测试 + curl 下载 100 MB 文件。
3. 验证分流、DNS 与常见故障
-
验证系统代理是否生效。
curl -I https://www.google.com --connect-timeout 5期望输出:
HTTP/2 200 content-type: text/html; charset=ISO-8859-1 -
验证国内站点是否直连。路由不应走远端节点。
curl -I https://www.baidu.com --connect-timeout 5期望输出:
HTTP/1.1 200 OK Server: bfe -
验证出口 IP 已变化。
curl -4 https://ifconfig.me期望输出:
198.51.100.17 -
检查 DNS 是否仍泄漏到路由器。若 nameserver 仍只有 192.168.1.1,启用 Surge DNS Mapping 或 Enhanced Mode。
scutil --dns | grep 'nameserver\[[0-9]*\]' | head期望输出:
nameserver[0] : 198.18.0.2 -
故障定位:如果 GitHub 能 ping 但浏览器打不开,优先看规则命中。
ping -c 4 github.com期望输出:
4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 44.1/48.7/55.3/4.2 ms
Warning: 不建议一开始导入 10 万行规则。规则越多,排障越慢。先用 DOMAIN-SUFFIX、GEOIP、FINAL 三类跑通,再补充广告拦截或流媒体规则。
How to verify it works: Google 返回 HTTP/2 200,百度返回 HTTP 200,出口 IP 与本地宽带不同,Surge Dashboard 中 github.com 命中 PROXY、baidu.com 命中 DIRECT,即配置完成。
References: Surge Manual(应用内 Help)、macOS Network Extension 文档(Apple Developer,按名称搜索)。如果需要付费机场订阅,wizzegroup.com 可作为候选之一;官方自建、免费试用和其他订阅同样可以按本文流程验证。