Skip to content

Known Limitations

Parsa Radfar edited this page Nov 7, 2026 · 1 revision

Known Limitations

What each mode protects, and what it does not. If V2Mac does worse than this page says, that is a bug: please report it privately (see SECURITY.md in the repository).

What each mode covers

Mode Covers Does not cover
System Proxy Apps that follow the macOS proxy setting Apps that ignore it, and their DNS lookups, go out directly
TUN Mode Traffic that enters the tunnel's routes Your Direct rules and region packs go direct on purpose; the local network stays direct
TUN Mode + Kill switch While the tunnel is down, pf blocks everything except the list below It is not "nothing leaves": see the next section
Secure Sandbox Apps in a mini VM reach the internet only through the exit you picked for it Mini VMs share one Linux kernel; what you allow (Shared, clipboard, sound, microphone, SSH agent) crosses the boundary
NoLeaker, Strict Requests the browser lets the extension route Connections already open, parts of the browser an extension can't reach, and traffic outside the browser
NoLeaker, Compatibility As Strict, plus Direct exceptions Sites on a Direct exception see your real IP: that is the exception, not a leak
NoLeaker, System VPN/TUN Matches the browser's timezone and language to the VPN's exit It routes nothing and has no kill switch: if the VPN drops, the browser goes direct

Kill switch: what still passes while it blocks

  • Your server's addresses, so V2Mac can reconnect.
  • DNS (port 53) only to the network's own DNS servers, or 1.1.1.1 and 8.8.8.8 when it has none. macOS's own lookups go out through one system process, so while the tunnel is down, lookups by other apps can still reach those servers. This has not been measured yet.
  • DHCP, and IPv6 only for finding the router and neighbours on the local link.
  • The local network (printers, NAS, AirPlay), unless Block local network too is on.

Connections that were open before the block are closed when it starts. Settings shows On only after V2Mac has read pf back and found the rules in force.

V2Mac on your Mac

  • Control API: the core's API is a socket only your macOS user can open. Other users and sandboxed apps can't reach it; any program running as you can, as it can read your config anyway.
  • Traffic counters: the core's counters page stays on 127.0.0.1 without a password. A website using DNS rebinding could read it: traffic numbers, server delays and the core's command line (which contains your user name). It holds no server keys.
  • Allow connections from LAN without a password: anyone on your network can use your proxy.
  • Check for Newer Core (Advanced): a core from Xray's releases is checked only against the hash in the same release. The core built into the app is checked against a hash signed into the app.
  • Geo files and region packs are downloaded over HTTPS but not signed by V2Mac.
  • The app is not notarized by Apple yet. Installation shows how to check a download. In-app updates are signed.

Secure Sandbox

  • A mini VM is a set of containers that share one Linux kernel, inside one VM that has no network device. A bug in that kernel could let one mini VM reach another. Your Mac sits outside the VM.
  • Apps in the same mini VM share one home folder.
  • Linux packages are shared by all mini VMs: installing or updating a package changes it for every mini VM.
  • Chromium's own sandbox is off (--no-sandbox): a site that breaks into Chromium can reach the rest of that app. The container and the mini VM still keep it away from other mini VMs and your Mac.
  • The apps are Linux ARM64 programs; the Mac app for each is a window around it.

NoLeaker

  • Exit check: NoLeaker asks two services for your exit IP. When they disagree, one request went around the tunnel, and the popup says the exit is uncertain.
  • Strict mode and captchas: on captcha pages, the real timezone and language can show for the few milliseconds before NoLeaker's settings arrive.

Clone this wiki locally