Compared
Where meshvpn fits, and where it doesn't.
meshvpn's difference is architectural: there is no server at all, and the things you do between your machines (SSH, desktops, multi-node AI work) are built in. Other tools are more mature in other places, and we say where.
Mesh VPNs
All of these connect machines directly through NAT. The difference is what else you have to run, and who runs it.
| meshvpn | Tailscale | Headscale | NetBird | ZeroTier | Nebula | |
|---|---|---|---|---|---|---|
| Servers needed | None | Tailscale's coordination service | Your Headscale server | Management, signal and relay servers (hosted or your own) | ZeroTier's root servers and a network controller | Your lighthouses (at least one reachable) |
| Who knows your network | Only its members | Tailscale (keys stay on devices) | You | NetBird's cloud, or you | ZeroTier's controller, or you | You |
| Finding each other after address changes | Gossip; encrypted hints in the public DHT (optional) | Coordination service | Your server | Signal server | Root servers | Lighthouses |
| Licence | Apache-2.0, all of it | Clients BSD-3; control plane closed | BSD-3 (with Tailscale clients) | BSD-3 / AGPL-3.0 parts | Agent MPL-2.0; controller source-available | MIT |
| Price | Free | Free personal plan; per user for teams | Free; your server | Free tier; per user | Free tier; per device | Free; managed version per host |
| Machines that may only open SSH (port 22 out) | Yes (supervised reverse tunnel) | No (needs UDP or HTTPS out) | No (needs UDP or HTTPS out) | No (needs UDP or HTTPS out) | No (needs UDP or TCP 443 out) | No (needs UDP) |
| Without root, in containers | Rootless install; userspace mode | Userspace mode | (Tailscale clients) | Userspace mode | Needs a TUN device | Needs a TUN device |
| Access rules inside the network | No: each machine's firewall | Yes (ACLs, grants) | Yes (ACLs) | Yes (policies) | Yes (flow rules) | Yes (per host, in its certificate and config) |
| Single sign-on | No | Yes | OIDC | Yes | Paid plans | No (certificates) |
| Phones and tablets | No app | iOS, Android | (Tailscale apps) | iOS, Android | iOS, Android | iOS, Android |
| Network size | Up to a few dozen machines (full mesh) | Thousands | Hundreds+ | Thousands | Thousands | Thousands |
| Built in beyond the network | SSH grid and server, browser desktop, exec/cp, distributed training, GPU reservations, data sharing, MCP server | Tailscale SSH, file sharing, funnel/serve | (Tailscale SSH) | SSH, posture checks | - | - |
As of November 2026, from each project's documentation and price pages. Something wrong or out of date? Tell us and we fix it.
Remote desktops
meshvpn desktop gpu1 opens a desktop of another machine in your browser. Here is how that compares with the tools people use for it today.
| meshvpn desktop | RustDesk | TeamViewer, AnyDesk | Apache Guacamole | |
|---|---|---|---|---|
| On your side | A browser; meshvpn brings the viewer | RustDesk app | Their app | A browser |
| Servers in between | None: over the mesh, through SSH | RustDesk's public ID/relay servers, or your own | The vendor's cloud | Your Guacamole server (plus VNC/RDP on the machines) |
| Login | The machine's own accounts, as with SSH | ID and password | ID and password, vendor account | Guacamole accounts |
| Desktops for several people on one machine at once | Yes: each gets their own session, also on headless servers | Shares the existing screen | Shares the existing screen | Yes (via RDP/VNC servers) |
| Containers and servers without a display | Yes: brings its own small X server, nothing to install | Limited | Limited | Needs a VNC/RDP server in it |
| The machine's physical screen | Yes (--screen, Linux X11) | Yes | Yes | Via VNC |
| 3D on the GPU, video encoding on the GPU | Yes: VirtualGL, H.264 via NVENC/VA-API | Hardware codecs | Yes | No |
| Files | File browser, up- and download | File transfer | File transfer | Up- and download |
| Machines you can open | Linux (Xfce, MATE, Cinnamon or a minimal desktop) | Windows, macOS, Linux, Android | Windows, macOS, Linux, mobile | Anything with RDP, VNC or SSH |
| Sound | Not yet | Yes | Yes | Yes (RDP) |
| Licence, price | Apache-2.0, free | AGPL-3.0; paid server edition | Proprietary, subscription | Apache-2.0 |
In short: for helping someone at their Windows PC, use RustDesk or TeamViewer. For working on your own Linux machines, GPU servers and containers from anywhere, without opening ports or running a relay, meshvpn's desktop is already there.
AI agents
Most VPNs give an agent a network. meshvpn gives it the commands to use one.
An MCP server
meshvpn mcp: list nodes and GPUs, run commands, copy files, launch and stop distributed jobs, reserve GPUs, share data, diagnose the network, as typed tools.
Instructions it can read
meshvpn guide tells an agent the rules and the commands for each task, with the network as it is right now. Also as a Claude Code skill.
Output it can parse
--json on every command, errors included, and stable exit codes. No screen scraping.
Others in this space route agents through a vendor's network (Cloudflare Mesh, Tailscale Aperture). meshvpn's tools run on your own machines and talk to nothing else.
When to choose something else
Choose Tailscale or NetBird when
you need phones and tablets in the network, single sign-on, fine-grained access rules between members, or hundreds of machines; and a coordination server (theirs or your own) is fine.
Choose Nebula when
you want a minimal, certificate-based overlay at large scale, and running a few lighthouses with public addresses is easy for you.
Choose RustDesk or TeamViewer when
you support people at Windows or macOS desktops, or need sound and mobile access to a screen.
Choose meshvpn when
you have a handful to a few dozen machines (home, lab, GPU boxes, devices behind firewalls), want nothing in between them and nobody else to depend on, and want SSH, desktops and multi-node work ready on day one.