上一篇写了 Surge For IOS 自用配置,这次趁热打铁,把 Surge for Mac 的自用配置思路也补齐。
整体仍然按四块来讲:[General] / [Proxy Group] / [Rule] / [Proxy]。 其中与 iOS 完全一致的部分,本篇就不重复解释,直接给对应链接,避免来回翻看浪费时间。
说明:下文遇到“重复参数/重复配置”我会直接指路到 iOS 文章对应章节。
1.General #
1.1 Mac 新增参数(Mac 特有) #
read-etc-hosts: 让 Surge 读取并遵循系统 /etc/hosts 里的本地 DNS 映射。
当 hosts 命中时,会优先使用该映射结果,避免再走 Surge 的 DNS / DoH 流程。
适合场景:你在 hosts 里维护了一些内网域名、临时测试域名,或者需要强制覆盖某些解析时。
1.2 重复参数 #
除 read-etc-hosts 外,其余 General 配置与 iOS 一致。 请直接查看: Surge For iOS - General
2. Proxy Group #
与 iOS 一致,请移步: Surge For iOS - Proxy Group
3. Rule #
与 iOS 一致,请移步: Surge For iOS - Rule
4. Proxy #
与 iOS 一致,请移步: Surge For iOS - Proxy
5. 内网外分离 #
Surge For Mac 这边我实际上用到的一个非常不错的功能是内外网分离。
我的 MBP 同时在用两张网卡:
- 有线网卡:接公司内网(访问公司服务/内网域名等)
- 无线网卡:日常主用网络(外部流量主要走这张)
本质上公司有线也能出网,但出于隐私与习惯,我会把“公司 Wi-Fi 环境”下的某些访问强制走指定路径,从而达到 内外网更清晰、行为更可控的效果。
5.1 在 [Proxy] 里绑定有线网卡(DIRECT + interface) #
先在 [Proxy] 定义一个“绑定网卡的直连”:
[Proxy]
Wired Network = DIRECT,interface=en7这里的关键是 interface:它是你电脑里该网卡对应的接口名。 你需要用 ifconfig 自己确认(不同机型/扩展坞/系统环境,接口名可能不一样,比如 en5/en7 等)。
5.2 在 [Proxy Group] 用 subnet 根据 Wi-Fi SSID 选择策略 #
接着在 [Proxy Group] 里定义一个 subnet 策略组:默认走直连,但当连接到公司 Wi-Fi(指定 SSID)时,切到 Wired Network。
Wifi = subnet,default=DIRECT,"SSID:[公司 WIFI SSID]"=Wired Network举个例子:如果你公司的 Wi-Fi 名称是 test-wifi,那就写成:
Wifi = subnet,default=DIRECT,"SSID:test-wifi"=Wired Network5.3 在 [Rule] 里把公司内网域名丢给 Wifi 这个策略组 #
最后在 [Rule] 把公司内网域名交给 Wifi:
[Rule]
DOMAIN,[你公司的内网域名],Wifi这样命中公司内网域名时,就会按 Wifi 的策略做选择:
5.4 前置条件:网络服务顺序 #
请先在 macOS 调整网络服务顺序,确保 Wi-Fi 在最上方(优先级最高): 系统设置 → 网络 → 右下角「…」→ 设定服务顺序 → 将 Wi-Fi 拖到最前。
这样可以避免系统把“默认出网”优先走到其他网络接口,导致 Surge 的分流判断与你预期不一致。
6. 仓库 #
Surge For Mac 的完整配置文件已在 GitHub 上,请点击此处访问
到这里,Surge 的 iOS / Mac 两套自用配置思路就都写完了。 iOS 那篇在这里:Surge For iOS 自用配置,如果你是第一次看我的 Surge 系列,建议先从 iOS 那篇开始,很多通用概念(General / 分组 / 规则)我都放在那边统一讲清楚了。
Mac 端这篇更多是补充我日常最常用的“桌面场景”,尤其是 内外网分离 这种在 iPhone 上很难完整复刻的玩法。 接下来就是模块的坑需要填咯~敬请期待~