The easiest, most secure way to use WireGuard and 2FA.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
David Anderson e51cf1b09d
cmd/k8s-operator: use unstable tailscale image as well
15 hours ago
.bencher bencher: add config to suppress failures on benchmark regressions. 1 year ago
.github cmd/testwrapper: move from corp; mark magicsock test as flaky 1 week ago
atomicfile all: update copyright and license headers 21 hours ago
chirp all: update copyright and license headers 21 hours ago
client/tailscale all: update copyright and license headers 21 hours ago
cmd cmd/k8s-operator: use unstable tailscale image as well 15 hours ago
control all: update copyright and license headers 21 hours ago
derp all: update tools that manage copyright headers 21 hours ago
disco all: update copyright and license headers 21 hours ago
docs all: update copyright and license headers 21 hours ago
doctor all: update copyright and license headers 21 hours ago
envknob all: update copyright and license headers 21 hours ago
health all: update copyright and license headers 21 hours ago
hostinfo all: update copyright and license headers 21 hours ago
internal/tooldeps all: update copyright and license headers 21 hours ago
ipn ipn/ipnlocal: add /reset-auth LocalAPI endpoint 20 hours ago
jsondb all: update copyright and license headers 21 hours ago
kube all: update copyright and license headers 21 hours ago
licenses licenses: update win/apple licenses 19 hours ago
log all: update copyright and license headers 21 hours ago
logpolicy all: update copyright and license headers 21 hours ago
logtail all: update copyright and license headers 21 hours ago
metrics all: update copyright and license headers 21 hours ago
net all: update tools that manage copyright headers 21 hours ago
packages/deb all: update copyright and license headers 21 hours ago
paths all: update copyright and license headers 21 hours ago
portlist all: update copyright and license headers 21 hours ago
prober all: update copyright and license headers 21 hours ago
safesocket all: update copyright and license headers 21 hours ago
scripts all: update tools that manage copyright headers 21 hours ago
smallzstd all: update copyright and license headers 21 hours ago
ssh/tailssh all: update copyright and license headers 21 hours ago
syncs all: update copyright and license headers 21 hours ago
tailcfg all: update copyright and license headers 21 hours ago
tempfork all: remove old +build tags 3 months ago
tka all: update copyright and license headers 21 hours ago
tool cmd/tsconnect: run wasm-opt on the generated wasm file 3 months ago
tsconst all: update copyright and license headers 21 hours ago
tsnet all: update copyright and license headers 21 hours ago
tstest all: update tools that manage copyright headers 21 hours ago
tstime all: update copyright and license headers 21 hours ago
tsweb all: update copyright and license headers 21 hours ago
types all: update copyright and license headers 21 hours ago
util all: update tools that manage copyright headers 21 hours ago
version all: update copyright and license headers 21 hours ago
wf all: update copyright and license headers 21 hours ago
wgengine wgengine/magicsock: de-dup disco pings (#7093) 16 hours ago
words all: update copyright and license headers 21 hours ago
.gitattributes .: add .gitattributes entry to use Go hunk-header driver 1 year ago
.gitignore gitignore: ignore direnv nix-shell environment cache (#6520) 2 months ago
ALPINE.txt Docker: add ALPINE.txt to manage alpine versions 7 months ago
AUTHORS Move Linux client & common packages into a public repo. 3 years ago
CODE_OF_CONDUCT.md Add a code of conduct. 3 years ago
Dockerfile all: update copyright and license headers 21 hours ago
Dockerfile.base all: update copyright and license headers 21 hours ago
LICENSE all: update tools that manage copyright headers 21 hours ago
Makefile Makefile: add a target for doing dev builds of the k8s operator. 2 months ago
PATENTS Move Linux client & common packages into a public repo. 3 years ago
README.md README.md: update with some new links, refresh 3 weeks ago
SECURITY.md Add a SECURITY.md for vulnerability reports. 3 years ago
VERSION.txt VERSION.txt: this is 1.37 4 days ago
api.md api.md: change "admin panel" to "admin console" 2 months ago
build_dist.sh cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP 3 months ago
build_docker.sh build_docker.sh: use docker hub for base image hosting. 18 hours ago
flake.lock flake.nix: init to ship unstable tailscale packages. 1 month ago
flake.nix flake.nix: update vendor hash. 2 weeks ago
go.mod go.mod: bump wintun-go 1 day ago
go.mod.sri flake.nix: update vendor hash. 2 weeks ago
go.sum go.mod: bump wintun-go 1 day ago
go.toolchain.branch go.toolchain.rev: switch to Go 1.19rc2+ 6 months ago
go.toolchain.rev go.toolchain.rev: bump Go 1 month ago
go.toolchain.sri update-flake.sh: tooling to keep Nix SRI hashes in sync. 1 month ago
pull-toolchain.sh update-flake.sh: tooling to keep Nix SRI hashes in sync. 1 month ago
shell.nix flake.nix: update vendor hash. 2 weeks ago
staticcheck.conf staticcheck.conf: remove unnecessary warning 2 years ago
update-flake.sh update-flake.sh: tooling to keep Nix SRI hashes in sync. 1 month ago
version-embed.go all: update copyright and license headers 21 hours ago
version_test.go all: update copyright and license headers 21 hours ago

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.

Other Tailscale repos of note:

For background on which parts of Tailscale are open source and why, see https://tailscale.com/opensource/.

Using

We serve packages for a variety of distros and platforms at https://pkgs.tailscale.com.

Other clients

The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers. The GUI wrappers on non-open source platforms are themselves not open source.

Building

We always require the latest Go release, currently Go 1.19. (While we build releases with our Go fork, its use is not required.)

go install tailscale.com/cmd/tailscale{,d}

If you're packaging Tailscale for distribution, use build_dist.sh instead, to burn commit IDs and version info into the binaries:

./build_dist.sh tailscale.com/cmd/tailscale
./build_dist.sh tailscale.com/cmd/tailscaled

If your distro has conventions that preclude the use of build_dist.sh, please do the equivalent of what it does in your distro's way, so that bug reports contain useful version information.

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

Contributing

PRs welcome! But please file bugs. Commit messages should reference bugs.

We require Developer Certificate of Origin Signed-off-by lines in commits.

See git log for our commit message style. It's basically the same as Go's style.

About Us

Tailscale is primarily developed by the people at https://github.com/orgs/tailscale/people. For other contributors, see:

WireGuard is a registered trademark of Jason A. Donenfeld.