Skip to content

Mac 平台主流代理工具横评:Surge、Clash Verge Rev 与 Loon 到底选哪个 ​

一句话结论先给:客户端决定"你本地怎么转发",机场决定"数据出了你家门走什么路"。 选错客户端,你顶多损失一点性能和多花几百块;选错机场,你花再多钱买 Surge 也救不回来。这篇文章把 Mac 上三套主流方案的底层差异、量化参数、实操配置和排障命令一次性讲透,不吹不黑。


一、TL;DR:30 秒决策表 ​

你的画像直接选理由
开发者 / 运维 / 需要抓包排查线上问题Surge for MacMITM、HTTP 抓包、JS 脚本、Gateway Mode,目前没有第二家能打
预算敏感、追新协议(VLESS+REALITY、Hysteria2、AnyTLS)Clash Verge Revmihomo 内核协议覆盖最全,开源免费,多订阅合并最省事
苹果全家桶用户,iPhone + Mac 要配置一致Loon for Mac与 iOS 版规则语法完全同源,改一处两边同步
要把 Mac 变成旁路由给全家设备供网Surge仅它原生提供 Gateway Mode(DHCP Server + NAT)
只想安安静静看 4K,不想折腾Loon 或 Surge,规则写得简单点分流越复杂,出问题的面越大

另外一个被反复问到的问题:Mac 用 Clash 好还是 Surge 好? 答案不是"哪个更强",而是"你需不需要为那 20% 的高级能力付费"。下面拆开讲。

💡 ⭐ 2026 企业级防挤兑专线 · 【隐形人】读者专享特惠通道:
海外新加坡团队运营,企业级 IEPL 专线 + 60+ 原生机房独立 IP,晚高峰 500M 冗余带宽不挤兑,支持 24h 退款保障:
8折特惠yxr888复制 📋
直达隐形人官网 ↗

二、底层机理:Mac 的网络栈为什么和 Windows 完全不是一回事 ​

很多从 Windows 迁过来的用户第一反应是"为什么 Mac 上开个 TUN 还要输密码"。这不是软件做得烂,是 macOS 的安全模型决定的。

macOS 从 10.15 起彻底封死了内核扩展(KEXT),所有要接管网络流量的 App 必须走 NetworkExtension.framework。这个框架只给两条路:

  1. NEPacketTunnelProvider(虚拟网卡模式)——创建一个 utun 接口,在 IP 层接管全部流量。Surge 的 Enhanced Mode、mihomo 的 TUN、Loon 的核心都是这条路。
  2. NEAppProxyProvider(应用代理模式)——只接管主动走系统代理的应用,管不到不守规矩的程序。

关键工程细节:默认路由是怎么被"偷偷拿走"的。

这三家都不会去改你的默认路由,因为那样会把网关干掉。它们用的是一个经典技巧——向路由表注入两条比默认路由更具体的条目:

text
0.0.0.0/1     -> utun4
128.0.0.0/1   -> utun4

/1 的掩码比 /0 更具体,根据最长前缀匹配原则,所有公网 IP 都会被送进 utun,而原网关仍然保留在 default 条目上,本地局域网、AirPlay、打印机统统不受影响。你可以随时用 netstat -rn | head -20 验证这件事是否真的发生了——这是判断 TUN 是否真的生效的最快方法,比看 GUI 上那个绿色小圆点靠谱一万倍。

DNS 与 fake-ip。 流量进 TUN 后,DNS 查询也会一起被劫持。此时内核有两种处理策略:redir-host(真实解析后再匹配规则)和 fake-ip(先返回一个假 IP,连接时再反查域名)。fake-ip 的首包延迟明显更低,是现代默认;但代价是某些依赖真实 IP 的内网域名、投屏协议会挂掉,必须手动加进 fake-ip-filter。

协议栈性能。 这是三家的分水岭。mihomo 提供 system / gvisor / mixed 三种 TUN 栈:system 直接复用 macOS 内核的 TCP/IP 实现,吞吐和 CPU 占用最优;gvisor 在用户态跑一套完整协议栈,兼容性最好但损耗更大。这就是为什么同一份订阅,在 Clash Verge Rev 里切换 TUN 栈能测出 20%—40% 的吞吐差异。

再说线路侧,这部分客户端管不了。 机场出口走的是 BGP 中转、IEPL 专线还是 IPLC 专线,直接决定晚高峰的抖动幅度;服务端是否开启 BBRv3 拥塞控制、是否做了 QoS 限速与优先级调度,决定你的大文件下载会不会把全屋网速吃干。而 TLS Reality / XTLS Vision 这类抗封锁机制,则是"客户端必须支持、服务端必须开启"的握手层特性——如果机场开了 Reality 而你的客户端不支持,你连上都连不上。这就是协议支持度成为选型硬指标的原因。


三、2026 核心参数对比矩阵 ​

以下数据基于 macOS 15 环境、Apple Silicon(M 系列)设备、同一份中等规模规则集(约 8000 条规则 + 3 个 Rule Provider)实测整理,内存为闲置状态区间值,随规则集规模浮动。

维度Surge for MacClash Verge RevLoon for Mac
授权模式买断 + 功能更新订阅制,人民币数百元级完全免费开源(GPL-3.0)买断制,百元级
内核来源自研闭源mihomo(Clash.Meta)开源内核 + Tauri GUI自研闭源
协议覆盖SS / Snell / VMess / Trojan / WireGuard / HTTP(S),策略保守全量覆盖:VLESS+REALITY、Hysteria2、TUIC、AnyTLS、SSH、Juicity 等SS / SSR / VMess / VLESS / Trojan / Hysteria2 / TUIC / WireGuard
TUN 实现Enhanced Mode(自研虚拟网卡)mihomo TUN,可选 system / gvisor / mixed 栈Network Extension 原生接管
权限要求授权系统扩展,一次性需安装 setuid 服务或系统扩展授权 Network Extension
分流引擎规则集 + Smart Group + 逻辑规则,成熟度最高Rule Provider + GeoSite/GeoIP + 逻辑规则,灵活度最高规则 + 插件重写,语法最直观
脚本与重写完整 JS 脚本 + MITM + 内置抓包JS Script 引擎,无 MITM 能力插件系统 + JS 脚本
网关 / 旁路由有 Gateway Mode(DHCP + NAT)无官方实现,需手动配 pf NAT无
闲置内存占用约 150–300 MB约 80–200 MB约 60–120 MB
跨端一致性Mac / iOS / Apple TV 共享配置仅桌面端,移动端需另选方案Mac / iOS 规则语法完全同源

读表要点: Surge 赢在能力密度,Clash Verge Rev 赢在协议覆盖与成本,Loon 赢在轻量与跨端一致性。三者不是替代关系,而是三种不同的取舍。


四、按人群与场景的选型建议 ​

4.1 开发者 / 运维工程师 → Surge ​

你需要的根本不是"能上网",而是能看见流量。Surge 内置的 HTTP 抓包可以按域名过滤、重放请求、改响应体,配合 MITM 证书可以直接调试线上 API 的签名逻辑;JS 脚本能在请求出站前做参数改写。这套能力在排查"为什么这个接口在海外服务器上返回 403"时,能省掉你半天时间。如果你一年靠这个省下的时间超过 4 小时,几百块授权费就是回本的。

4.2 预算敏感 / 追新协议用户 → Clash Verge Rev ​

mihomo 内核的协议跟进速度是行业最快的。机场上线 AnyTLS 或新版本 Reality,通常 mihomo 当天就能用,商业客户端要等一到两个大版本。另外它的 Merge + Script 链式覆写做得非常优雅:你可以保留机场原始订阅不动,用 Merge 文件覆盖 DNS、策略组和规则,机场更新订阅后你的本地修改不会丢——这是很多人没意识到的杀手级用法。

4.3 苹果全家桶用户 → Loon for Mac ​

Loon 的规则语法是三家里最好读的,没有 Surge 那种层层嵌套的配置结构。而且 Mac 版和 iOS 版语法完全同源,你在 Mac 上调好的规则可以直接贴到手机上。如果你已经买了 Loon for iOS,Mac 版的边际成本很低。

4.4 旁路由玩家 → Surge Gateway Mode ​

Surge 的 Gateway Mode 会把 Mac 变成一个带 DHCP 服务器的软路由,全屋设备改一下网关就能走代理,不需要每台设备单独装客户端。代价是这台 Mac 必须常开,且 NAT 转发会吃 CPU。

4.5 多机场聚合用户 → Clash Verge Rev ​

它的 Profile 机制支持同时加载多份订阅,配合 Proxy Provider 可以做真正的多机场自动测速与故障转移。Surge 也能做,但配置写起来要繁琐得多。


五、分客户端实操配置与深度避坑 ​

5.1 Surge for Mac ​

  • 首次安装后必须进 系统设置 → 通用 → 登录项与扩展 手动放行系统扩展,不放行的话 Enhanced Mode 会静默失败(GUI 显示已开启但 utun 根本没起来)。
  • 系统代理与 Enhanced Mode 不要同时开,除非你明确知道自己在做什么。两层代理叠加会导致部分 App 的连接被重复封装,表现为"网页能开、App 连不上"。
  • DNS 段落建议显式指定加密 DNS,并开启 DNS over HTTPS,避免运营商的透明 DNS 污染导致分流误判。
  • 避坑:Surge 只吃自己的 .conf 格式订阅。用第三方订阅转换把 Clash 配置转过来时,Reality、Hysteria2 这类新协议会在转换中被静默丢弃,表现就是节点全在但一个都连不上。

5.2 Clash Verge Rev ​

  • 开启 TUN 前需要

数据仅供参考,请以机场官网实时信息为准。遵守法律法规,文明合规出海。