Skip to content

zh Known Limitations

Parsa Radfar edited this page Nov 9, 2026 · 2 revisions

已知限制

需要 macOS 14 或更高版本,支持 Apple Silicon 和 Intel。 Apple Silicon 请选择常规 DMG,Intel 请选择 Intel DMG(-intel.dmg)。安全沙盒需要 Apple Silicon 和 macOS 26 或更高版本。Liquid Glass 和控制中心需要 macOS 26;macOS 14/15 使用标准控件。Apple Intelligence 域名建议需要 macOS 26 和可用的本机模型;Spotlight 服务器索引需要 macOS 15。

每种模式保护什么,不保护什么。如果 V2Mac 的表现比本页所说的更差,那就是 bug:请私下报告(见仓库中的 SECURITY.md)。

每种模式覆盖的范围

模式 覆盖 不覆盖
System Proxy 遵守 macOS 代理设置的应用 忽略该设置的应用及其 DNS 查询会直接发出
TUN Mode 进入隧道路由的流量 你的 Direct 规则和地区包有意直连;局域网保持直连
TUN Mode + Kill switch 隧道断开时,pf 拦截除下列各项以外的一切 这不等于“什么都出不去”:见下一节
Secure Sandbox mini VM 中的应用只能通过你为它选择的出口访问互联网 所有 mini VM 共用一个 Linux 内核;你允许的(Shared、剪贴板、声音、麦克风、SSH agent)会跨越边界
NoLeaker,Strict 浏览器允许扩展路由的请求 已打开的连接、扩展无法触及的浏览器部分,以及浏览器之外的流量
NoLeaker,Compatibility 与 Strict 相同,外加 Direct 例外 Direct 例外中的网站能看到你的真实 IP:这就是例外,不是泄漏
NoLeaker,System VPN/TUN 让浏览器的时区和语言与 VPN 出口一致 它不做任何路由,也没有 kill switch:VPN 掉线时浏览器会直连

Kill switch:拦截期间仍会放行的内容

  • 你的服务器地址,以便 V2Mac 重新连接。
  • DNS(53 端口)只发往当前网络自己的 DNS 服务器;网络没有时则为 1.1.1.1 和 8.8.8.8。macOS 自己的查询通过一个系统进程发出,所以隧道断开时,其他应用的查询仍可能到达这些服务器。这一点尚未实测。
  • DHCP,以及仅用于在本地链路上寻找路由器和邻居的 IPv6。
  • 局域网(打印机、NAS、AirPlay),除非开启 Block local network too。

拦截开始时,之前已打开的连接会被关闭。只有当 V2Mac 读回 pf 并确认规则已生效后,Settings 才会显示 On。

Mac 上的 V2Mac

  • 控制 API:内核的 API 是一个只有你的 macOS 用户能打开的 socket。其他用户和沙盒应用无法访问;以你的身份运行的任何程序都能访问,因为它本来就能读取你的配置。
  • 流量计数:内核的计数页面仍在 127.0.0.1 上,没有密码。利用 DNS rebinding 的网站可以读取它:流量数字、服务器延迟和内核的命令行(其中包含你的用户名)。里面没有服务器密钥。
  • 不设密码的 Allow connections from LAN:你网络中的任何人都能使用你的代理。
  • Check for Newer Core (Advanced):来自 Xray 发布页的内核只与同一发布中的哈希核对。应用内置的内核则与签入应用的哈希核对。
  • Geo 文件和地区包 通过 HTTPS 下载,但没有经过 V2Mac 签名。
  • 应用尚未经过 Apple 公证。安装 说明了如何检查下载。应用内更新是签名的。

Secure Sandbox

  • mini VM 是一组共用一个 Linux 内核的容器,位于一个没有网络设备的 VM 中。该内核中的漏洞可能让一个 mini VM 访问另一个。你的 Mac 在这个 VM 之外。
  • 同一个 mini VM 中的应用共用一个 home 文件夹。
  • Linux 软件包由所有 mini VM 共用:安装或更新一个软件包会对每个 mini VM 生效。
  • Chromium 自身的沙盒已关闭(--no-sandbox):攻破 Chromium 的网站可以访问该应用的其余部分。容器和 mini VM 仍会把它挡在其他 mini VM 和你的 Mac 之外。
  • 这些应用是 Linux ARM64 程序;每个应用对应的 Mac 应用只是包住它的窗口。

NoLeaker

  • 出口检查:NoLeaker 向两个服务查询你的出口 IP。两者不一致时,说明有一个请求绕过了隧道,弹出窗口会显示出口不确定。
  • Strict 模式与验证码:在验证码页面上,NoLeaker 的设置到达前的几毫秒内,可能显示真实的时区和语言。

Clone this wiki locally