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.
 
 
 
 
 
 
Jordan Whited 51d00e135b
wgengine/magicsock: fix relayManager alloc work cleanup (#16387)
10 months ago
.bencher
.github tool: add go toolchain wrapper for Windows 10 months ago
appc appc: fix a deadlock in route advertisements (#15031) 1 year ago
atomicfile
chirp scripts/check_license_headers.sh: delete, rewrite as a Go test 10 months ago
client client/local: use an iterator to stream bus events (#16269) 10 months ago
clientupdate clientupdate: fix MSI exit code handling, preserve MSI and updater logs on Windows 1 year ago
cmd cmd/k8s-operator: Add NOTES.txt to Helm chart (#16364) 10 months ago
control tstest/tlstest: simplify, don't even bake in any keys 10 months ago
derp net/tlsdial: fix TLS cert validation of HTTPS proxies 10 months ago
disco net/udprelay{/endpoint}, all: move ServerEndpoint to independent pkg (#15934) 12 months ago
docs docs: fix typo in commit-messages.md 10 months ago
doctor all: remove non-applicable "linux" deps on Android 12 months ago
drive drive: fix index out of bounds when parsing request local paths (#15517) 1 year ago
envknob envknob/featureknob: restore SSH and exit-node capability for Home Assistant (#16263) 10 months ago
feature feature/relayserver,net/udprelay,wgengine/magicsock: implement retry (#16347) 10 months ago
gokrazy gokrazy/natlab: update gokrazy, wire up natlab tests to GitHub CI 1 year ago
health cmd/tailscale/cli: add a risk message about rp_filter 10 months ago
hostinfo hostinfo, ipnlocal: add optional os-specific callback for querying the hostname (#15647) 1 year ago
internal cmd/k8s-operator,internal/client/tailscale: use VIPService annotations for ownership tracking (#15356) 1 year ago
ipn ipn/ipnlocal,wgengine/magicsock: wait for magicsock to process pending events on authReconfig 10 months ago
jsondb
k8s-operator cmd/k8s-operator,kube/kubetypes,k8s-operator/apis: reconcile L3 HA Services (#15961) 11 months ago
kube cmd/k8s-operator,kube/kubetypes,k8s-operator/apis: reconcile L3 HA Services (#15961) 11 months ago
licenses licenses: update license notices 1 year ago
log
logpolicy net/tlsdial: fix TLS cert validation of HTTPS proxies 10 months ago
logtail logtail: remove unneeded IP redaction code 12 months ago
maths maths: add exponentially weighted moving average type 1 year ago
metrics
net net/netmon: add tests for the events over the eventbus (#16382) 10 months ago
omit
packages/deb
paths
portlist portlist: add Plan 9 support 1 year ago
posture posture: propagate serial number from MDM on Android 11 months ago
prober prober: speed up TestCRL ~450x by baking in some test keys 10 months ago
proxymap
release release/dist/qnap: upgrade to Ubuntu 24.04 Docker image 10 months ago
safesocket all: remove non-applicable "linux" deps on Android 12 months ago
safeweb safeweb: Set Cross-Origin-Opener-Policy for browser requests (#15936) 12 months ago
scripts scripts/check_license_headers.sh: delete, rewrite as a Go test 10 months ago
sessionrecording net/{netx,memnet},all: add netx.DialFunc, move memnet Network impl 1 year ago
smallzstd
ssh/tailssh ssh/tailssh: display more useful error messages when authentication fails 11 months ago
syncs syncs: fix AtomicValue.CompareAndSwap (#16137) 11 months ago
tailcfg controlclient,health,ipnlocal,tailcfg: add DisplayMessage support 11 months ago
tempfork tempfork/acme: update to latest version (#15543) 1 year ago
tka tka: reject removal of the last signing key 10 months ago
tool tool: rename go.ps1 to go-win.ps1 for cmd.exe+Powershell compat 10 months ago
tsconsensus tsconsensus: skipping slow non-applicable tests on Windows for now 10 months ago
tsconst
tsd all: update the tsd.System constructor name (#15372) 1 year ago
tsnet cmd/tailscale/cli: add a risk message about rp_filter 10 months ago
tstest tstest/tlstest: simplify, don't even bake in any keys 10 months ago
tstime tstime: add GoDuration which JSON serializes with time.Duration.String (#15726) 1 year ago
tsweb scripts/check_license_headers.sh: delete, rewrite as a Go test 10 months ago
types Revert "types/netmap,wgengine/magicsock: propagate CapVer to magicsock.endpoint (#16244)" (#16322) 10 months ago
util util/eventbus: add test helpers to simplify testing events (#16294) 10 months ago
version tool/gocross: make gocross opt-in instead of opt-out 10 months ago
wf
wgengine wgengine/magicsock: fix relayManager alloc work cleanup (#16387) 10 months ago
words words: C what I did there? 1 year ago
.gitattributes
.gitignore cmd/k8s-operator: Add NOTES.txt to Helm chart (#16364) 10 months ago
.golangci.yml .github: Bump golangci/golangci-lint-action from 6.5.0 to 7.0.0 (#15476) 1 year ago
ALPINE.txt Bump Alpine, link iptables back to legacy (#15428) 1 year ago
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md
Dockerfile Bump Alpine, link iptables back to legacy (#15428) 1 year ago
Dockerfile.base Bump Alpine, link iptables back to legacy (#15428) 1 year ago
LICENSE
Makefile .github/workflows: remove redundant work between staticcheck jobs 10 months ago
PATENTS
README.md commit-messages.md: make our git commit message style guide public 1 year ago
SECURITY.md
VERSION.txt VERSION.txt: this is v1.85.0 (#16042) 11 months ago
api.md
assert_ts_toolchain_match.go
build_dist.sh hostinfo,tailcfg: report TPM availability on windows/linux (#15831) 12 months ago
build_docker.sh cmd/tsidp: add Docker image building support (#16078) 11 months ago
flake.lock nix: update nix and use go 1.24 (#15578) 1 year ago
flake.nix nix: update nix and use go 1.24 (#15578) 1 year ago
go.mod .github/workflows: do a go mod download & cache it before all jobs 10 months ago
go.mod.sri nix: update nix and use go 1.24 (#15578) 1 year ago
go.sum go.mod: bump github.com/cloudflare/circl (#16264) 10 months ago
go.toolchain.branch go.toolchain.branch: update to Go 1.24 (#15016) 1 year ago
go.toolchain.rev go.toolchain.rev: bump to go 1.24.4 (#16230) 10 months ago
gomod_test.go
header.txt
license_test.go scripts/check_license_headers.sh: delete, rewrite as a Go test 10 months ago
pkgdoc_test.go all: skip looking for package comments in .git/ repository (#15384) 1 year ago
pull-toolchain.sh
shell.nix nix: update nix and use go 1.24 (#15578) 1 year ago
staticcheck.conf
update-flake.sh
version-embed.go
version_tailscale_test.go
version_test.go .github/workflows: test that ./go/tool version matches go mod version 10 months 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.23. (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 commit-messages.md (or skim git log) for our commit message 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.