跳到正文
发现
OpenSurge for Mac:macOS 全屋透明代理网关
桌面应用效率工具

OpenSurge for Mac:macOS 全屋透明代理网关

把 Mac 变成 Surge 风格的全屋网关,支持 DHCP/DNS 接管、按设备分流与透明代理。

admin
发布于 2026-10-30
浏览
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 整理,以原仓库为准。

更新记录

  1. v0.3.2当前版本

    新增局域网管理(手机浏览器控制台)与 Mac 本机 IPv6 独立开关,改善手机界面与连接检查体验,新增文件式自定义 DNS,并修复订阅 DNS 兼容与安装版预览权限问题。

评论