OpenRung
A free, privacy-first relay network that helps you reach the open internet. Open source and nonprofit-run.
Per-app VPN for Mac: Secure Sandbox runs each app in a mini VM with its own server. If the server stops, the app is cut off and never falls back to your real connection.
SecuritySwift · ShellGitHub @v2macappOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Run Mac apps in mini VMs, each with its own VPN server and fail-closed networking. Per-app VPN and app isolation for macOS on Apple Silicon.
Loading the full README.
Read the full README ↗Open a browser in a mini VM that leaves from Frankfurt, a terminal in another that leaves from Tokyo, and keep your Mac on your normal connection. Each mini VM is cut off from your Mac's files, your network and every other mini VM. If its server stops working, its apps go offline; they never fall back to your normal connection.
A mini VM is a set of containers that share one Linux kernel, inside one VM that has no network device: your Mac stays outside that VM, but a bug in its kernel could let one mini VM reach another. Linux packages are shared by all mini VMs, and Chromium's own sandbox is off. All limits: Known Limitations.
The sandbox is part of V2Mac. This repo holds everything V2Mac downloads the first time you open it: the helper app, the VM agent, the kernel and the Debian image. Users who never open the sandbox download nothing.
Install V2Mac, then click Sandbox in the sidebar or the menu bar panel and choose Download. V2Mac accepts only the exact sandbox release it was built with (checked by SHA-256), and offers an update when a new V2Mac needs a newer one. Your mini VMs and their data stay.
~/Applications/V2Mac Sandbox ("Chromium — Work"), with its own window, Dock icon and ⌘-Tab entry, its icon framed in the mini VM's colour. Terminal apps open in Terminal.V2Mac ── socketpair ──▶ V2Mac Sandbox (helper)
│ xray: one outbound per mini VM
│ windows (VNC), Terminal (pty), sound, clipboard
▼ vsock only
Linux VM (Virtualization.framework, no network device)
agent ─▶ one Podman pod per mini VM ─▶ apps
mmdebstrap from Debian's signed archive. A Swift agent owns vsock and runs each mini VM as its own Podman pod; its only way out is a relay to its own outbound in the helper.Design and every decision: docs/PLAN.md.
| Secure Sandbox guide | Getting it, mini VMs, apps, permissions, settings |
| Plugin template | Make your own sandbox app |
| Store | The signed index, submissions and review checklist |
Needs Xcode 26+, Docker (arm64) and this repo beside the app, as ../app (it uses V2MacCore by path):
Scripts/build-agent.sh && Scripts/build-kernel.sh && Scripts/build-rootfs.sh # Linux side, in Docker
Scripts/build-helper.sh # out/V2Mac Sandbox.app
Scripts/package.sh <download-url> # zip + pin.json
Tests: swift test. A tag vX.Y.Z builds and publishes a release (release.yml); the V2Mac release that follows pins its pin.json. Bug reports go to V2Mac's Issues.