基于WireGuard的VPN。免费支持最多20个节点。 https://tailscale.com/

Andrew Lytvynov 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 years ago
.github 2d2d5e6cc7 .github/workflows: set CMD_GO_USE_GIT_HASH=true for our cmd/go 1 month ago
appc 9d13a6df9c appc,ipn/ipnlocal: Add split DNS entries for conn25 peers 1 month ago
atomicfile 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
chirp 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
client fe69b7f0e5 cmd/tailscale: add event bus queue depth debugging 3 weeks ago
clientupdate 54d70c8312 clientupdate: best-effort restart of tailscaled on init.d systems (#18568) 4 weeks ago
cmd fe69b7f0e5 cmd/tailscale: add event bus queue depth debugging 3 weeks ago
control de4a8dbcfc control/controlclient: fix canSkipStatus online conditions 3 weeks ago
derp 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
disco 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
docs 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
doctor 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
drive 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
envknob 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
feature 036b6a1262 feature/featuretags: add test that all ts_omit_foo tags are declared 3 weeks ago
gokrazy 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
health 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
hostinfo ae62569159 hostinfo: retrieve OS version for Macs running the OSS client 1 month ago
internal bcceef3682 cmd/tailscale/cli: allow fetching keys from AWS Parameter Store 1 month ago
ipn fe69b7f0e5 cmd/tailscale: add event bus queue depth debugging 3 weeks ago
jsondb 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
k8s-operator 77f5200164 cmd/k8s-operator,k8s-operator:ensure that recorder replicas default to 1 (#18375) 4 weeks ago
kube 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
licenses 65d6793204 licenses: update license notices 1 month ago
log 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
logpolicy 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
logtail 698e92a761 logtail/filch: close Filch instances in TestConcurrentSameFile (#18571) 1 month ago
maths 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
metrics 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
net 8cac8b117b net/dns/resolver: set TC flag when UDP responses exceed size limits (#18157) 1 month ago
omit 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
packages 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
paths 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
portlist 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
posture 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
prober 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
proxymap 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
release 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
safesocket 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
safeweb 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
scripts 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
sessionrecording 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
ssh 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
syncs 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tailcfg f48cd46662 net/dns,ipn/ipnlocal: add nodecap to resolve subdomains (#18258) 1 month ago
tempfork 2e381557b8 feature/c2n: move answerC2N code + deps out of control/controlclient 5 months ago
tka 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tool a374cc344e tool/gocross, pull-toolchain.sh: support a "next" Go toolchain 1 month ago
tsconsensus 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tsconst 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tsd 03461ea7fb wgengine/netstack: add local tailscale service IPs to route and terminate locally (#18461) 1 month ago
tsnet 569caefeb5 tsnet: add tests to TestListenService for user-supplied TUN devices 4 weeks ago
tstest 1183f7a191 tstest/integration/testcontrol: fix unguarded read of DNS config 1 month ago
tstime 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tsweb 35e656a35f tsweb/varz: remove unnecessary Map.Init() calls in tests 3 weeks ago
types 9385dfe7f6 ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497) 1 month ago
util f48cd46662 net/dns,ipn/ipnlocal: add nodecap to resolve subdomains (#18258) 1 month ago
version 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
wf 2a69f48541 wf: allow limited broadcast to/from permitted interfaces when using an exit node on Windows 1 month ago
wgengine 03461ea7fb wgengine/netstack: add local tailscale service IPs to route and terminate locally (#18461) 1 month ago
wif 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
words 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 years ago
.gitignore d7d12761ba Add .stignore for syncthing (#18540) 1 month ago
.golangci.yml d8e3bce0b4 .github: Bump golangci/golangci-lint-action from 6.5.0 to 7.0.0 (#15476) 10 months ago
.stignore d7d12761ba Add .stignore for syncthing (#18540) 1 month ago
ALPINE.txt bb38bf7414 docker: bump alpine v3.19 -> 3.22 (#17155) 5 months ago
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file 2 years ago
CODE_OF_CONDUCT.md 0a5ba8280f CODE_OF_CONDUCT.md: update code of conduct 4 months ago
Dockerfile 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
Dockerfile.base 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
LICENSE 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
Makefile 801aac59db Makefile, cmd/*/depaware.txt: split out vendor packages explicitly 5 months ago
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 years ago
README.md 1aaa1648c4 README: update the version of Go in the README 5 months ago
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 years ago
VERSION.txt 1a79abf5fb VERSION.txt: this is v1.95.0 (#18414) 1 month ago
api.md 124ff3b034 {api.md,publicapi}: remove old API docs (#13468) 1 year ago
assert_ts_toolchain_match.go 8f8236feb3 cmd/printdep: add --next flag to use rc Go build hash instead 1 month ago
build_dist.sh 10cb59fa87 build_dist.sh: keep --extra-small making a usable build, add --min 4 months ago
build_docker.sh 16e0abe031 build_docker.sh: support including extra files (#17405) 5 months ago
flake.lock e4031daa08 .github/Makefile/flake: update nix flake support (#16636) 6 months ago
flake.nix 9385dfe7f6 ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497) 1 month ago
go.mod 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
go.mod.sri 9385dfe7f6 ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497) 1 month ago
go.sum 6a6aa805d6 cmd,feature: add identity token auto generation for workload identity (#18373) 1 month ago
go.toolchain.branch c5429cd49c go.toolchain.branch: bump to go1.25 (#16954) 6 months ago
go.toolchain.next.branch a374cc344e tool/gocross, pull-toolchain.sh: support a "next" Go toolchain 1 month ago
go.toolchain.next.rev 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
go.toolchain.rev 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
go.toolchain.rev.sri 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
go.toolchain.version 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
gomod_test.go 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
header.txt 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
license_test.go 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
pkgdoc_test.go 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
pull-toolchain.sh 9ba2a80ab6 go.toolchain.{rev,next.rev}: update to Go 1.25.7 / Go 1.26rc3 (#18633) 3 weeks ago
shell.nix 9385dfe7f6 ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497) 1 month ago
staticcheck.conf 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 years ago
update-flake.sh 7edb5b7d43 flake.nix: update Nix to use tailscale/go 1.25.2 (#17500) 4 months ago
version-embed.go 8f8236feb3 cmd/printdep: add --next flag to use rc Go build hash instead 1 month ago
version_tailscale_test.go 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
version_test.go 3ec5be3f51 all: remove AUTHORS file and references to it 1 month 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.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:

Legal

WireGuard is a registered trademark of Jason A. Donenfeld.