OpenSurge for Mac 是一个开源的 Surge 风格 macOS 网关与控制面项目,核心目的是把一台 Mac 变成整个局域网的透明代理出口。同一网络下的手机、电视、PS5、游戏机、VR 设备、虚拟机等终端都能通过这台 Mac 获取 DHCP 和 DNS,共享网络代理,甚至做到“设备免配置”。


看点
- 全屋网关功能:将 Mac 作为局域网代理出口,使同一网络下的手机、电视、游戏机、VR 设备等无需额外配置即可共享由策略控制的网络连接。
- 每设备独立策略:支持为局域网内不同设备(基于 MAC 地址或静态 IP)配置独立的代理出口策略,例如手机走代理、游戏机直连。
- 兼容现有配置:可直接导入已有的 mihomo 配置或订阅,保留原有的节点、代理组和规则。
- 底层技术栈:核心由 mihomo(代理引擎)、dnsmasq(DHCP/DNS)、macOS 内置的 pf 防火墙 和 IPv4 转发共同驱动。
- 图形化管理:提供 Web GUI 和 macOS 菜单栏 App,用于状态监控、策略切换、节点健康检查与连通性诊断。
- 透明代理限制:仅支持通过 mihomo TUN 模式实现透明代理,
redir-port 和 PF TCP 重定向模式因 Darwin 系统限制被有意禁用。
- AI Agent 友好设计:仓库被构建为一个 AI Agent 工作区,包含版本化的项目知识、可执行的验证契约和用于闭环验证的虚拟 LAN 实验环境。
- 安全与验证机制:内置配置校验、回滚机制、明确的恢复契约,以及一个基于 Lima 和 socket_vmnet 的隔离虚拟 LAN Lab,用于在安全环境中验证高风险网络行为。
安装方式
- 从项目的 GitHub Release 页面下载对应架构的未签名安装包(
arm64-unsigned.pkg 用于 Apple Silicon,x86_64-unsigned.pkg 用于 Intel Mac)。
- 下载
SHA256SUMS 文件,运行 shasum -a 256 -c SHA256SUMS 核对文件完整性,并可选用 gh attestation verify 命令验证构建来源。
- 双击安装包。若被 Gatekeeper 阻止,需进入“系统设置 → 隐私与安全性”,选择“仍要打开”。切勿全局关闭 Gatekeeper 或递归删除 quarantine 属性。
- 安装完成后从
/Applications 打开 OpenSurge,网关默认保持停止状态,需在控制面中手动启动。
从源码构建: 依次执行 make web-install、make control-build、make menubar-build,然后通过 ./bin/opensurge-control --config examples/config.example.yaml 启动控制服务。
项目由 YTwsy(个人开发者) 开发,采用 GPL-3.0-only 协议,当前 707 Stars。
项目地址:github.com/YTwsy/OpenSurge-for-Mac
更多透明代理与网络配置实践,欢迎到 云栈社区 交流探讨。
|