一台 Mac,全屋科学上网
如果你家里有多台设备需要代理上网——手机、平板、游戏机、VR 头显、虚拟机——你大概经历过以下方案中的至少一个:每台设备单独配置代理(累)、在路由器上刷 OpenWrt(折腾)、或者专门弄一台软路由(费钱)。
其实你手头的 Mac 本身就已经是一台不错的网关设备。
OpenSurge for Mac 就是基于这个想法诞生的。它是一个开源的 Surge 风格透明代理网关,让你的 Mac 为整个局域网提供代理服务——手机、游戏机、电视盒子上网时不需要任何配置,Mac 自动处理所有流量的路由和转发。
项目用 Go + SwiftUI + React 编写,GPL-3.0 开源,525 Star,122 次提交。虽然才发布不到一个月,但已经是一个非常完整的方案了。
工作原理
OpenSurge 的核心思路很简单:把 Mac 变成一个透明网关。它做了三件事:
- 接管 DHCP——通过 dnsmasq 给局域网设备分配 IP 地址,MAC 绑定固定租约
- 接管 DNS——所有设备的 DNS 查询由本地 dnsmasq 处理
- 透明代理——基于 mihomo TUN 模式,自动分流和转发流量,设备无需任何配置
你的手机、iPad、游戏机连上 Wi-Fi 后,DHCP 自动把它们指向 Mac 作为网关,之后所有流量透明地经过代理——设备端不需要装任何 App,也不需要配任何代理参数。
每设备独立路由策略
这是 OpenSurge 对比简单网关方案的核心优势。你可以在管理面板里为每个设备单独设置出口策略:
- 手机 → 走代理(海外流量加速)
- 游戏机 → 直连(减少延迟)
- NAS → 直连(保持内网速度)
- 电视盒子 → 走代理(解锁流媒体)
策略实时生效,不需要重启任何服务。这种粒度在传统路由器方案里通常只有高端软路由才能做到。
Web 管理面板 + 菜单栏 App
OpenSurge 提供了两种管理界面:
- Web GUI(React)——完整的设备列表、实时流量统计、策略切换、连通性检测。在浏览器里打开就能管理整个网关
- macOS 菜单栏 App(SwiftUI)——轻量级状态显示,一键开关代理、查看当前连接状态
两种界面都支持实时数据刷新,你可以在菜单栏上快速看一眼当前流量,也可以打开 Web 面板做详细配置。
配置模式
OpenSurge 支持两种工作模式:
- 托管模式——由 OpenSurge 生成 mihomo 配置,你只需要订阅代理节点
- 导入模式——用你已有的 mihomo 配置文件,OpenSurge 只负责 LAN/DNS/TUN 网关部分的控制
对于已经有 mihomo 配置经验的用户,导入模式可以零切换成本直接上手。
CLI 工具集
Web 面板和菜单栏之外,OpenSurge 还提供了一套完整的 CLI 工具(omg 命令),所有操作都可以在终端里完成:
omg doctor # 诊断运行状态
omg start/stop/reload # 启动/停止/重载
omg snapshot # 保存当前快照
omg policies # 查看设备策略
omg devices # 查看在线设备
omg provider-update # 更新代理提供商
所有命令都支持 --format json 输出,方便脚本化和 AI Agent 调用。
虚拟实验室
这是一个很有意思的功能——OpenSurge 内置了一个隔离的虚拟局域网(基于 Lima + socket_vmnet),里面跑两个轻量 Linux 客户端。你可以在不影响真实网络的前提下测试 DHCP、DNS、NAT、TUN 和设备策略,确认配置正确后再应用到真实环境。
Agent 友好的设计
项目 README 里专门有一份 AGENTS.md,面向 AI 编程代理描述了项目的架构、关键文件、安全边界和验证要求。CLI 命令的 --format json 输出、虚拟实验室的测试流程、以及回滚保护(pf NAT + IPv4 转发的 rollback),都表明这个项目从一开始就考虑了 AI Agent 协作的场景。
我的看法
OpenSurge for Mac 的目标用户非常明确:家里有多台设备需要代理服务、有一台不关机的 Mac、但不想折腾路由器刷机或软路由的人。
对于这群人来说,OpenSurge 提供了一个比 Surge(付费、闭源)更自由、比软路由(需要额外硬件)更低成本的方案。macOS 菜单栏 App 和 Web 面板的双界面设计让日常管理很方便,每设备路由策略的粒度也足够细。
技术选型上,mihomo 作为代理引擎是一个稳健的选择——社区活跃、配置灵活、TUN 模式成熟。dnsmasq 在 DHCP/DNS 领域更是久经考验。
需要注意的地方:安装包没有签名(需要手动 Gatekeeper 放行),需要对 macOS 的网络安全设置有一定了解;sudo 权限是必须的(网关操作无法避免);项目还很年轻(7 月才发布),遇到问题可能需要自己读源码或提 Issue。
但总的来说,如果你家有一台常年开机的 Mac,又一直在找一个「不用刷路由器」的全屋代理方案,OpenSurge for Mac 值得花一个下午试试看。
项目地址:YTwsy/OpenSurge-for-Mac · 许可:GPL-3.0 · 🌟 525 Stars(截至 2026-07-26) · 架构:Apple Silicon + Intel · macOS 版本:13+(Ventura 及以上)