Wombat:macOS 多协议 VPN 客户端
一款原生、免费开源的 macOS VPN 客户端,把 WireGuard、AmneziaWG、Cisco AnyConnect 与 Tailscale 装进同一个 SwiftUI 应用。
- 浏览
- 13
- 访问
- 0
- 下载
- 0
- 版本
- v1.4.0
- 平台
- macOS
详细介绍
项目简介
Wombat 是一款面向 macOS 的原生、免费、开源 VPN 客户端,用 SwiftUI 编写,隧道运行在 Apple 的 Network Extension 框架里,因此会出现在「系统设置 › VPN」中,App 关闭后仍能保持连接。它支持标准 wg-quick .conf 文件、官方 WireGuard App 导出的隧道压缩包、AmneziaWG 配置,也能连接 Cisco AnyConnect / Secure Client 网关(ASA、Firepower、ocserv),1.4 版起还以预览形式支持加入 Tailscale tailnet(含自建 Headscale)。
设计上把安全放在速度与便利之前:不使用 root helper、不写 sudoers 规则、不执行配置里的脚本,私钥不会存放在全局可读的位置。

主要功能
- 导入:拖入
.conf文件、配置文件 zip 包,或从剪贴板粘贴;导入前会展示流量走向与风险,剪贴板导入后会自动清空。 - Cisco AnyConnect:按网关地址添加,支持密码、Duo(推送 / 电话 / 验证码)、SAML 单点登录(浏览器内或 App 内,支持 passkey 与密码管理器)以及钥匙串客户端证书;基于 OpenConnect 与 DTLS,运行在独立的系统扩展中,配置可导出为
.anyconnect分享。 - Tailscale(预览):加入 Tailscale 或自建 Headscale 的 tailnet,按 tailnet 地址和 MagicDNS 名称访问设备;协调服务器提议的地址、路由与 DNS 会先经 Wombat 校验,才会交给 macOS。
- AmneziaWG:支持 AmneziaWG 1.0–2.0 的
Jc、S1-S4、H1-H4、I1-I5参数,运行在 amneziawg-go 上;普通 WireGuard 隧道继续使用上游 wireguard-go。 - 二维码:用 Mac 摄像头(或 iPhone 连续互通相机)扫描隧道二维码,也可导入二维码截图;反向可通过「Show QR Code」把隧道导到手机(需 Touch ID)。
- 实时状态:窗口内显示每个 peer 的握手、endpoint 与流量,菜单栏显示流量与最近握手时间。
- 配置检查:提示 DNS 泄漏、IPv4/IPv6 泄漏、AllowedIPs 重叠、隧道外 DNS、缺少预共享密钥以及被忽略的
PostUp类脚本。 - 按需连接:在 Wi-Fi 与以太网上自动连接,可信网络除外;由 macOS 评估,App 关闭也生效。
- Kill switch:让所有流量走隧道(重连期间亦然),可选允许本地网络;全隧道配置默认开启。
- 编辑器:带行号报错的 wg-quick 纯文本编辑器,密钥需 Touch ID 解锁后才显示。
- 命令行:
wombatCLI 支持连接、断开、导入、导出、重命名、删除、按需连接与 kill switch,状态与统计可输出 JSON,另有离线密钥与 lint 工具。 - 自动更新:通过 Sparkle 提供签名更新,可选择弹窗提示、仅显示小圆点或完全不检查。
- 无障碍:VoiceOver 标签与播报、键盘导航,状态同时用形状与颜色表达。
安装与使用
下载 Wombat.dmg 或从 GitHub Releases 获取,把 Wombat 拖入「应用程序」(网络扩展只能从这里运行)。首次打开后前往 系统设置 › 通用 › 登录项与扩展 › 扩展 › 按类别 › 网络扩展,在 Wombat.app 下开启 Wombat Tunnel;首次使用 Cisco AnyConnect 时再开启 Wombat OpenConnect,首次加入 tailnet 时开启 Wombat Tailnet。
或用 Homebrew 安装(同时会把 wombat 命令放入 PATH):
brew install --cask ventz/tap/wombat-wireguard
常用命令:
wombat import ~/Downloads/home.conf # 在 App 中确认
wombat up home
wombat import work.anyconnect # 一个 Cisco AnyConnect VPN
wombat up work # 在 Wombat 中登录(密码、Duo、SSO)
wombat show home # 类似 `wg show`
wombat check *.conf --strict # lint;有错误或风险时退出码为 1
(umask 077; wombat genkey > priv.key) && wombat pubkey < priv.key
wombat logs -f # 流式查看 App 与隧道日志
Tab 补全支持 zsh(含 oh-my-zsh)、bash 与 fish:
wombat completion install --dry-run # 预览将要做的改动
wombat completion install # 执行
从源码构建需要付费的 Apple Developer 账号(macOS 只运行经 Developer ID 签名的 VPN 系统扩展):
brew install go xcodegen
git clone https://github.com/ventz/wombat-vpn && cd wombat-vpn
scripts/build-signed.sh --install
注意事项
- 需要 macOS 15 或更高版本,支持 Apple silicon 与 Intel。
- 自 Homebrew 6 起,第三方 tap 的 cask 需要被信任;按上面的完整名称安装只会信任这一个 cask,
brew trust --tap ventz/tap则会信任整个 tap。 - Tailscale 支持仍是预览功能:暂不支持 exit node、子网路由、按需连接以及通过命令行添加 tailnet。macOS 同一时间只运行一个 VPN,连接 tailnet 会断开其他隧道。
- Tailscale 的引擎运行在独立扩展中,与 WireGuard 密钥隔离,并已编译去掉其 SSH、Taildrop、Web 与调试服务器。
本作品整理自 GitHub 开源项目 ventz/wombat-vpn,原作者 @ventz。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.4.0当前版本
1.4 版以预览形式支持加入 Tailscale / Headscale tailnet,浏览器登录,可用 tailnet 地址与 MagicDNS 名称访问设备,服务器下发的地址、路由与 DNS 会先经校验;暂不含 exit node、子网路由与按需连接,CLI 支持 tailnet 的 up/down/list/export。
评论