macOS Global Proxy with Multiple VPN Networks
Introduction This post explains how to use sing-box on macOS to replace the combination of wireguard-tools + Xray + Proxifier, achieving global proxy, multiple VPN network coexistence, and auto-start on boot. The old approach had several pain points: Scattered tooling: Required three tools working together – Xray (proxy) + Proxifier (global proxy) + wireguard-tools (multiple VPNs) Manual startup: Each boot required launching Proxifier separately and manually running sudo wg-quick up to join each VPN network VM incompatibility: Proxifier is based on NetworkExtension, which cannot share the proxy with NAT-based macOS VMs (e.g., Tart-based VMs) Official WireGuard limitations: The Mac App Store WireGuard client does not support connecting to multiple VPN networks simultaneously, making userspace WireGuard the only viable option for now sing-box intercepts traffic at L3 via TUN mode, essentially configuring the system routing table. This means: ...