You cannot 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
Jordan Whited 9245c7131b feature/relayserver: don't publish from within a subscribe fn goroutine
Updates #17830

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2 months ago
.bencher
.github .github/workflows: make go_generate check detect new files 2 months ago
appc appc: add ippool type 2 months ago
atomicfile all: rename variables with lowercase-l/uppercase-I 2 months ago
chirp all: rename variables with lowercase-l/uppercase-I 2 months ago
client cmd/tailscale/cli: allow remote target as service destination (#17607) 2 months ago
clientupdate all: rename variables with lowercase-l/uppercase-I 2 months ago
cmd cmd/tailscaled,ipn: show a health warning when state store fails to open (#17883) 2 months ago
control types/key,wgengine/magicsock,control/controlclient,ipn: add debug disco key rotation 2 months ago
derp syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
disco
docs all: use a consistent capitalisation for "Tailnet Lock" 3 months ago
doctor
drive all: rename variables with lowercase-l/uppercase-I 2 months ago
envknob syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
feature feature/relayserver: don't publish from within a subscribe fn goroutine 2 months ago
gokrazy
health ipn/ipnlocal: use an in-memory TKA store if FS is unavailable 2 months ago
hostinfo
internal cmd/tailscale/cli,feature: add support for identity federation (#17529) 3 months ago
ipn cmd/tailscaled,ipn: show a health warning when state store fails to open (#17883) 2 months ago
jsondb
k8s-operator cmd/k8s-operator: add multi replica support for recorders (#17864) 2 months ago
kube all: rename variables with lowercase-l/uppercase-I 2 months ago
licenses licenses: update license notices 2 months ago
log all: rename variables with lowercase-l/uppercase-I 2 months ago
logpolicy all: rename variables with lowercase-l/uppercase-I 2 months ago
logtail all: rename variables with lowercase-l/uppercase-I 2 months ago
maths
metrics syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
net net/netns: remove spammy logs for interface binding caps 2 months ago
omit
packages/deb all: rename variables with lowercase-l/uppercase-I 2 months ago
paths
portlist
posture
prober all: rename variables with lowercase-l/uppercase-I 2 months ago
proxymap syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
release all: use Go 1.20's errors.Join instead of our multierr package 4 months ago
safesocket feature/featuretags, all: add build features, use existing ones in more places 4 months ago
safeweb
scripts scripts/installer.sh: compare major versions numerically (#17904) 2 months ago
sessionrecording sessionrecording: fix regression in recent http2 package change 3 months ago
ssh/tailssh ssh/tailssh: fix incubator tests on macOS arm64 2 months ago
syncs syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
tailcfg tailcfg: add some omitzero, adjust some omitempty to omitzero 2 months ago
tempfork feature/c2n: move answerC2N code + deps out of control/controlclient 4 months ago
tka tka: don't panic if no clock set in tka.Mem 2 months ago
tool
tsconsensus all: rename variables with lowercase-l/uppercase-I 2 months ago
tsconst health: compare warnable codes to avoid errors on release branch (#17637) 3 months ago
tsd cmd/tailscaled: start implementing ts_omit_netstack 4 months ago
tsnet all: rename variables with lowercase-l/uppercase-I 2 months ago
tstest cmd/tailscaled,ipn: show a health warning when state store fails to open (#17883) 2 months ago
tstime
tsweb all: rename variables with lowercase-l/uppercase-I 2 months ago
types types/netmap,*: remove some redundant fields from NetMap 2 months ago
util util/eventbus: add tests for a subscriber publishing events 2 months ago
version clientupdate, util/osshare, util/winutil, version: improve Windows GUI filename resolution and WinUI build awareness 4 months ago
wf all: rename variables with lowercase-l/uppercase-I 2 months ago
wgengine wgengine/userspace: run link change subscribers in eventqueue (#18024) 2 months ago
words words: remove a fish (#17704) 3 months ago
.gitattributes
.gitignore
.golangci.yml
ALPINE.txt
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md: update code of conduct 3 months ago
Dockerfile
Dockerfile.base
LICENSE
Makefile Makefile, cmd/*/depaware.txt: split out vendor packages explicitly 4 months ago
PATENTS
README.md README: update the version of Go in the README 4 months ago
SECURITY.md
VERSION.txt VERSION.txt: this is v1.91.0 3 months ago
api.md
assert_ts_toolchain_match.go
build_dist.sh build_dist.sh: keep --extra-small making a usable build, add --min 4 months ago
build_docker.sh build_docker.sh: support including extra files (#17405) 4 months ago
flake.lock
flake.nix go.mod: bump golang.org/x/crypto (#18011) 2 months ago
go.mod go.mod: bump golang.org/x/crypto (#18011) 2 months ago
go.mod.sri go.mod: bump golang.org/x/crypto (#18011) 2 months ago
go.sum go.mod: bump golang.org/x/crypto (#18011) 2 months ago
go.toolchain.branch
go.toolchain.rev go.toolchain.rev: update to Go 1.25.3 3 months ago
go.toolchain.rev.sri go.toolchain.rev: update to Go 1.25.3 3 months ago
go.toolchain.version go.toolchain.rev: update to Go 1.25.3 3 months ago
gomod_test.go
header.txt
license_test.go wgengine/router{,/osrouter}: split OS router implementations into subpackage 4 months ago
pkgdoc_test.go
pull-toolchain.sh flake.nix: update Nix to use tailscale/go 1.25.2 (#17500) 4 months ago
shell.nix go.mod: bump golang.org/x/crypto (#18011) 2 months ago
staticcheck.conf
update-flake.sh flake.nix: update Nix to use tailscale/go 1.25.2 (#17500) 4 months ago
version-embed.go
version_tailscale_test.go
version_test.go

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.25. (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.