Avatar

Surge For Mac 自用配置

Dec 31 · comments

上一篇写了 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 Network

5.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 上很难完整复刻的玩法。 接下来就是模块的坑需要填咯~敬请期待~

Comments
CC BY-NC-SA 4.0 2020-PRESENT © yyhhyyyyyy