TL;DR 与前置条件
TL;DR:本文记录 Surge Mac 5.8.2(测试日期:2026-10-08)在 macOS 14.7 上的可复现配置流程。目标是把机场订阅导入 Surge,按国内直连、国外代理、广告拦截、流媒体单独策略分流,并用命令确认 DNS、出口 IP、规则命中均正常。本文适合搜索“Surge Mac教程”“Surge Mac怎么用”“Surge Mac客户端下载”“机场订阅导入Surge”的用户。
Prerequisites:
- macOS:14.0 或更新版本。本文实测 14.7。
- Surge Mac:5.8.2。通过官方渠道完成 Surge Mac客户端下载与安装。
- 一份可用机场订阅,协议需被 Surge 支持,例如 Shadowsocks、VMess、Trojan、Hysteria2 视版本支持情况而定。
- 终端工具:curl、scutil、dig。macOS 默认有 curl 和 scutil;dig 可通过系统自带或安装 bind 工具获得。
Note: 免费/官方路径优先:Surge 自带 Dashboard、请求日志、规则测试器已经足够完成 90% 排障。付费机场只解决出口资源问题,不替你修规则。
Warning: 不要把订阅链接贴到公开日志、GitHub issue、截图里。订阅 URL 等同账号密码。
1. 导入订阅并建立基础策略组
-
打开 Surge Mac,进入 Profiles → New Profile → From URL,粘贴机场订阅链接。保存为 airport-prod.conf。
导入后检查本地配置文件路径:
ls -lh "$HOME/Library/Application Support/com.nssurge.surge-mac/profiles"Expected output:
-rw-r--r-- 1 user staff 42K Oct 8 10:31 airport-prod.conf -
检查配置内是否生成代理节点。不要手动改订阅原始文件,先复制一份工作配置。
cp "$HOME/Library/Application Support/com.nssurge.surge-mac/profiles/airport-prod.conf" \ "$HOME/Library/Application Support/com.nssurge.surge-mac/profiles/airport-prod-working.conf"Expected output:
# no output means success -
在工作配置里增加策略组。节点名按实际订阅替换;以下是最小可用结构。
[Proxy Group] Proxy = select, JP-01, JP-02, SG-01, US-01 Auto = url-test, JP-01, JP-02, SG-01, US-01, url=http://www.gstatic.com/generate_204, interval=600, tolerance=80 Streaming = select, JP-01, SG-01, US-01 AI = select, US-01, SG-01 Domestic = directExpected behavior:Surge Dashboard 中出现 Proxy、Auto、Streaming、AI、Domestic 五个策略组。
2. 配置 DNS 与分流规则
-
先写 DNS。国内域名走国内 DNS,国外域名用加密 DNS 或远端解析。我的测试中,错误 DNS 是 YouTube 可打开但缩略图慢、OpenAI 403、Netflix 识别异常的高频原因。
[General] loglevel = notify internet-test-url = http://www.gstatic.com/generate_204 proxy-test-url = http://www.gstatic.com/generate_204 dns-server = system, 223.5.5.5, 119.29.29.29 encrypted-dns-server = https://1.1.1.1/dns-query skip-proxy = 127.0.0.1, localhost, *.local bypass-system = true ipv6 = falseExpected behavior:Surge 接管系统代理后,国内站点解析延迟通常低于 50 ms;国外域名不再被本地污染解析。
-
写规则顺序。原则:精确域名在前,规则集在中,GEOIP 和 FINAL 在后。以下规则适合通用机场评测加速器推荐VPN梯子对比场景。
[Rule] DOMAIN-SUFFIX,apple.com,DIRECT DOMAIN-SUFFIX,icloud.com,DIRECT DOMAIN-SUFFIX,cn,DIRECT DOMAIN-SUFFIX,bilibili.com,DIRECT DOMAIN-SUFFIX,qq.com,DIRECT DOMAIN-SUFFIX,baidu.com,DIRECT DOMAIN-SUFFIX,openai.com,AI DOMAIN-SUFFIX,chatgpt.com,AI DOMAIN-SUFFIX,anthropic.com,AI DOMAIN-SUFFIX,netflix.com,Streaming DOMAIN-SUFFIX,nflxvideo.net,Streaming DOMAIN-SUFFIX,youtube.com,Streaming DOMAIN-SUFFIX,googlevideo.com,Streaming DOMAIN-KEYWORD,google,Proxy DOMAIN-SUFFIX,github.com,Proxy DOMAIN-SUFFIX,githubusercontent.com,Proxy DOMAIN-SUFFIX,telegram.org,Proxy GEOIP,CN,DIRECT FINAL,Proxy,dns-failedExpected behavior:国内流量直连,GitHub、Google、Telegram 走 Proxy,Netflix/YouTube 走 Streaming,AI 服务走 AI。
-
验证配置语法。Surge UI 会提示错误;命令行侧可用 grep 做低成本检查。
grep -nE "^\[Proxy Group\]|^\[Rule\]|FINAL|GEOIP" \ "$HOME/Library/Application Support/com.nssurge.surge-mac/profiles/airport-prod-working.conf"Expected output:
35:[Proxy Group] 88:[Rule] 111:GEOIP,CN,DIRECT 112:FINAL,Proxy,dns-failed
3. 验证出口、延迟和规则命中
-
确认系统代理已被 Surge 接管。
scutil --proxy | grep -E "HTTPEnable|HTTPProxy|HTTPPort|SOCKSEnable|SOCKSPort"Expected output:
HTTPEnable : 1 HTTPProxy : 127.0.0.1 HTTPPort : 6152 SOCKSEnable : 1 SOCKSPort : 6153 -
检查出口 IP。以下命令在我 2026-10-08 的测试中,东京节点返回延迟 83 ms,下载测试约 142 Mbps;你的结果取决于本地运营商和机场线路。
curl -x http://127.0.0.1:6152 -s https://api.ipify.org ; echoExpected output:
203.0.113.24 -
检查国内直连是否未误走代理。
curl -I --connect-timeout 5 https://www.baidu.com | head -n 3Expected output:
HTTP/2 200 accept-ranges: bytes cache-control: private -
检查 GitHub 是否走代理并降低失败率。
curl -x http://127.0.0.1:6152 -I --connect-timeout 8 https://github.com | head -n 5Expected output:
HTTP/2 200 server: GitHub.com content-type: text/html; charset=utf-8 -
在 Surge Dashboard 打开 Requests,访问 github.com,确认 Policy 显示 Proxy;访问 bilibili.com,确认 Policy 显示 DIRECT;访问 netflix.com,确认 Policy 显示 Streaming。
Note: 若命中 FINAL,说明规则缺失;若命中 DIRECT 但打不开,优先查 DNS;若命中 Proxy 但超时,切换节点或查看机场状态页。
4. 常见故障定位与修复
-
问题:订阅导入后没有节点。常见原因是订阅不是 Surge 格式,或机场返回 Clash/V2Ray 专用格式。解决:在机场后台选择 Surge 订阅;如果没有,使用官方转换功能或手动写代理段。
grep -n "^\[Proxy\]" "$HOME/Library/Application Support/com.nssurge.surge-mac/profiles/airport-prod-working.conf"Expected output:
12:[Proxy] -
问题:YouTube 能打开但速度低于 5 Mbps。先看策略组是否选到拥塞节点,再用 Surge 的 URL Test。tolerance 建议 50-100 ms,interval 不低于 300 秒,避免频繁探测。
[Proxy Group] Auto = url-test, JP-01, JP-02, SG-01, url=http://www.gstatic.com/generate_204, interval=600, tolerance=80Expected behavior:Auto 自动选择延迟更低且可用的节点,不保证最高带宽。
-
问题:ChatGPT 报所在地区不可用。节点 IP 信誉不满足服务要求,不是 Surge 规则错误。切换 AI 策略组到美国或新加坡住宅质量更好的出口,再清浏览器 Cookie。
curl -x http://127.0.0.1:6152 -s https://api.ipify.org ; echoExpected output:
# IP changes after switching AI policy node
如何验证已经修好
- Surge 菜单栏显示已启用,Dashboard Requests 有实时记录。
scutil --proxy显示 127.0.0.1:6152 和 6153。- 国内站点命中 DIRECT,GitHub 命中 Proxy,Netflix 命中 Streaming,AI 服务命中 AI。
- 连续 10 次访问 GitHub 首页无 TLS timeout;YouTube Stats for Nerds 显示连接速度高于 20 Mbps。
如果你不想自己筛选机场,可把官方订阅、免费自建节点、付费机场都按上述方法测试后再决定。Roxi 是可选方案之一,入口:https://wizzegroup.com;DIY 和官方路线同样有效,取决于你是否愿意维护节点质量。
References
- Surge Mac Documentation
- macOS scutil manual
- curl manual
- dig DNS diagnostic usage