OpenSurge for Mac:macOS 全屋透明代理网关
把 Mac 变成 Surge 风格的全屋网关,支持 DHCP/DNS 接管、按设备分流与透明代理。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v0.3.2
- 平台
- macOS
详细介绍
项目简介
OpenSurge for Mac 是一个开源的 Surge 风格 macOS 网关与控制面,把 Mac 变成可按设备分流的全屋透明代理网关。底层由 dnsmasq 提供 DHCP/DNS,mihomo 作为代理引擎:IPv4 使用 macOS pf 与 forwarding 提供原生网关路径;实验性的下游 IPv6 由 dnsmasq RA/SLAAC/RDNSS、macOS BPF packet broker 和本项目补丁构建的 mihomo 用户态数据面共同接管。
提供三种网络模式:
- 旁路由模式(推荐首次体验):主路由 DHCP 保持开启,只让指定设备用稳定 IPv4 把网关和 DNS 指向 Mac。
- 局域网 DHCP 接管:同一 LAN 的设备自动从 Mac 获取 DHCP/DNS,需要按引导关闭主路由 DHCP。
- 独立下游 LAN:适合独立 AP、SSID 或 VLAN,不改变现有 LAN 的 DHCP。
三种模式均可按需启用实验性的 IPv6 接管。
主要功能
- 启停 DHCP/DNS、mihomo、pf NAT 与 IPv4 forwarding,并带 rollback;通过 mihomo
mixed-port提供显式代理,通过 mihomo TUN 提供 macOS 透明代理。 - 每设备策略:为已登记设备生成各自的 mihomo selector group 和
SRC-IP-CIDR规则,手机走规则分流、游戏机连美服、电视走流媒体节点可各自独立;还支持REJECT等设备专属动作,以及按域名/IP/协议/端口/rule-provider 叠加的规则覆盖。 - 可观测性:把活跃会话归属到具体设备,显示连接数、实时上下行速率、累计字节与实际出口链;网关运行或停止时都能检测节点延迟并切换 Selector;输出文本/JSON 形式的 status / doctor / logs / snapshot。
- 菜单栏 App 与 Web GUI:共用 Control API,浏览器入口继续可用;可在同一控制面完成订阅导入、网络设置、设备分流、节点健康、连通性检查与诊断。
- 合盖保持运行:默认关闭、仅本次运行有效,不保存偏好,退出或重启后恢复正常睡眠。
- Tailscale 出站:可按 MagicDNS 后缀、peer 或明确 subnet route 限定访问,也可把指定 Exit Node 作为独立策略组加入手动 select 组;仅支持 outbound-only。
- 配置校验与恢复契约,并可用隔离的虚拟 LAN lab 先验证高风险网络行为。
安装与使用
从 GitHub Release 下载对应架构的安装包:Apple Silicon 用 arm64-unsigned.pkg,Intel 用 x86_64-unsigned.pkg,以及 SHA256SUMS。核对文件:
shasum -a 256 -c SHA256SUMS
验证安装包的 GitHub 构建来源:
gh attestation verify OpenSurge-for-Mac-*-arm64-unsigned.pkg -R YTwsy/OpenSurge-for-Mac
双击安装包;若 Gatekeeper 阻止,进入系统设置 → 隐私与安全性选择仍要打开并完成身份验证。安装后从 /Applications 打开 OpenSurge,网关默认保持停止,只有在控制面中明确操作才会启动。
开发构建:
make web-install
make control-build
./bin/opensurge-control --config examples/config.example.yaml
make desktop-production-build
控制服务只监听 127.0.0.1,启动时输出一次性 Web GUI 链接。
注意事项
- 正式发布的 pkg 为未签名、未 notarize 的安装包,Gatekeeper 可能拦截,需要手动放行;不要全局关闭 Gatekeeper,也不要递归删除 quarantine。
- 局域网 DHCP 接管需要按引导关闭主路由 DHCP,停止时按恢复流程重新开启;pkg 升级在同一 LAN DHCP 恢复未完成时会拒绝执行。
- 下游 IPv6 接管为实验性能力,需在了解影响后启用。
- 自定义 DNS 保存草稿不会立即改变网络,应用前会检查接入条件、DHCP 名称冲突与已知解析循环。
- 要求 macOS 13+,许可证为 GPL-3.0。
本作品整理自 GitHub 开源项目 YTwsy/OpenSurge-for-Mac,原作者 @YTwsy,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.3.2当前版本
新增局域网管理(手机浏览器控制台)与 Mac 本机 IPv6 独立开关,改善手机界面与连接检查体验,新增文件式自定义 DNS,并修复订阅 DNS 兼容与安装版预览权限问题。
评论