Tailscale is a mesh VPN built on top of WireGuard. This repository holds the core open source code: the tailscaled daemon and the tailscale CLI, which run on Linux, Windows, macOS, and (with varying support) FreeBSD and OpenBSD. The same code powers the iOS and Android apps, though their GUI wrappers live in separate repos. It's aimed at developers, sysadmins, and teams who want private networking between machines without dealing with firewall rules, port forwarding, or a central VPN gateway.
Instead of a traditional hub-and-spoke VPN, Tailscale creates direct encrypted connections between devices using WireGuard, and layers identity-based access control on top. Authentication happens through SSO providers rather than shared keys or certificates you manage by hand.
tailscaled runs on Linux, Windows, macOS, and partially on FreeBSD/OpenBSD, with the same core code driving iOS and Android clients.tailscale command gives you scriptable control over network status, connections, and configuration.Tailscale fits well if you need to connect servers, laptops, and personal devices into one private network without managing your own VPN server or juggling firewall exceptions. It's a good match for remote teams accessing internal services, homelab setups exposing NAS or dev boxes securely, and CI/build agents that need to reach private infrastructure without opening it to the internet.
It's also useful for anyone who wants 2FA-gated network access tied to an existing SSO provider rather than distributing VPN certificates by hand.
It's less of a fit if you need a fully self-hosted, closed-network solution with zero dependency on external identity providers or coordination servers, or if your environment can't tolerate any reliance on Tailscale's control plane for device coordination (some coordination server functionality is not part of this open source repo). If you just need a point-to-point WireGuard tunnel with static config and no identity layer, plain WireGuard alone may be simpler.
Prebuilt packages for most distros and platforms are available at pkgs.tailscale.com. This is the recommended path for most users.
To build from source, you need the latest Go release (the project tracks current Go versions closely):
go install tailscale.com/cmd/tailscale{,d}
If you're packaging Tailscale for distribution, use the provided build script instead, so version and commit info gets embedded in the binaries:
./build_dist.sh tailscale.com/cmd/tailscale
./build_dist.sh tailscale.com/cmd/tailscaled
If your distro's conventions don't allow build_dist.sh, replicate what it does manually so bug reports include accurate version information.
The macOS, iOS, and Windows apps use this repository's code but add small GUI wrappers; those wrappers are not open source on non-open platforms. The Android app, Synology package, QNAP package, and Chocolatey packaging each live in their own separate repositories under the Tailscale GitHub org.