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

Nick Khyl cb6fc37d66 util/deephash: move tests that depend on other tailscale packages to deephash_test 10 bulan lalu
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 tahun lalu
.github 04936d6c05 tsnet: add android & iOS results to depaware 10 bulan lalu
appc ec5f04b274 appc: fix a deadlock in route advertisements (#15031) 1 tahun lalu
atomicfile fcf90260ce atomicfile: use ReplaceFile on Windows so that attributes and ACLs are preserved 1 tahun lalu
chirp 71029cea2d all: update copyright and license headers 3 tahun lalu
client a3fc5150e3 client/tailscale: add godoc links in Deprecated comments 10 bulan lalu
clientupdate e7325213a7 clientupdate: fix MSI exit code handling, preserve MSI and updater logs on Windows 11 bulan lalu
cmd 165b99278b feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 10 bulan lalu
control f5cc657e13 control/controlclient: send optional ConnectionHandleForTest with map requests (#15904) 10 bulan lalu
derp 5be6ff9b62 all: remove non-applicable "linux" deps on Android 10 bulan lalu
disco dae2319e11 disco: implement CallMeMaybeVia serialization (#15779) 10 bulan lalu
docs 624c25bd49 docs/commit-messages.md: merge two 'commit messages' sections (#15668) 10 bulan lalu
doctor 5be6ff9b62 all: remove non-applicable "linux" deps on Android 10 bulan lalu
drive b9277ade1f drive: fix index out of bounds when parsing request local paths (#15517) 11 bulan lalu
envknob b3953ce0c4 ssh/tailssh: add Plan 9 support for Tailscale SSH 11 bulan lalu
feature 165b99278b feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 10 bulan lalu
gokrazy 5eafce7e25 gokrazy/natlab: update gokrazy, wire up natlab tests to GitHub CI 1 tahun lalu
health 1f1c323eeb control/controlclient,health: add tests for control health tracking 10 bulan lalu
hostinfo d6fd865d41 hostinfo, ipnlocal: add optional os-specific callback for querying the hostname (#15647) 10 bulan lalu
internal 005e20a45e cmd/k8s-operator,internal/client/tailscale: use VIPService annotations for ownership tracking (#15356) 11 bulan lalu
ipn 165b99278b feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 10 bulan lalu
jsondb 71029cea2d all: update copyright and license headers 3 tahun lalu
k8s-operator 62182f3bcf cmd/k8s-operator,k8s-operator/api-proxy: move k8s proxy code to library (#15857) 10 bulan lalu
kube 34734ba635 ipn/store/kubestore,kube,envknob,cmd/tailscaled/depaware.txt: allow kubestore read/write custom TLS secrets (#15307) 11 bulan lalu
licenses c29b6c288a licenses: update license notices 11 bulan lalu
log 5d61d1c7b0 log/sockstatlog: don't block for more than 5s on shutdown 1 tahun lalu
logpolicy d486ea388d logpolicy: fix log target override with a custom HTTP client 11 bulan lalu
logtail 4fa9411e3f logtail: remove unneeded IP redaction code 10 bulan lalu
maths 820bdb870a maths: add exponentially weighted moving average type 1 tahun lalu
metrics 68b12a74ed metrics,syncs: add ShardedInt support to metrics.LabelMap 1 tahun lalu
net 5be6ff9b62 all: remove non-applicable "linux" deps on Android 10 bulan lalu
omit 1ea100e2e5 cmd/tailscaled, ipn/conffile: support ec2 user-data config file 1 tahun lalu
packages eb6883bb5a go.mod: upgrade nfpm to v2 (#8786) 2 tahun lalu
paths 9373a1b902 all: illumos/solaris userspace only support 1 tahun lalu
portlist 5e305032a9 portlist: add Plan 9 support 11 bulan lalu
posture 11d205f6c4 control/controlclient,posture,util/syspolicy: use predefined syspolicy keys instead of string literals 1 tahun lalu
prober 08c8ccb48e prober: add address family label for udp metrics (#15413) 11 bulan lalu
proxymap 9f9470fc10 ipnlocal,proxymap,wgengine/netstack: add optional WhoIs/proxymap debug 1 tahun lalu
release 26f31f73f4 cmd/dist,release/dist: sign QNAP builds with a Google Cloud hosted key 10 bulan lalu
safesocket 5be6ff9b62 all: remove non-applicable "linux" deps on Android 10 bulan lalu
safeweb 8bd04bdd3a go.mod: bump gorilla/csrf for security fix (#14822) 1 tahun lalu
scripts 6502b7d667 scripts/installer.sh: add Miracle Linux as a RHEL derivative (#15671) 10 bulan lalu
sessionrecording fb96137d79 net/{netx,memnet},all: add netx.DialFunc, move memnet Network impl 11 bulan lalu
smallzstd 7c1d6e35a5 all: use Go 1.22 range-over-int 1 tahun lalu
ssh 5399fa159a net/netmon: publish events to event bus 10 bulan lalu
syncs e8f1721147 syncs: add ShardedInt expvar.Var type 1 tahun lalu
tailcfg f5cc657e13 control/controlclient: send optional ConnectionHandleForTest with map requests (#15904) 10 bulan lalu
tempfork 46505ca338 tempfork/acme: update to latest version (#15543) 11 bulan lalu
tka fd6686d81a tka: truncate long rotation signature chains 1 tahun lalu
tool a9b3e09a1f tool/gocross: break circular dependency on tailcfg (#15829) 10 bulan lalu
tsconsensus 11d1dd2aed tsconsensus: mark 2 tests that were flaky in CI 10 bulan lalu
tsconst 4c2e978f1e cmd/tailscale/cli: support passing network lock keys via files 1 tahun lalu
tsd deb0b255ff all: update the tsd.System constructor name (#15372) 10 bulan lalu
tsnet 165b99278b feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 10 bulan lalu
tstest 165b99278b feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 10 bulan lalu
tstime aff8f1b358 tstime: add GoDuration which JSON serializes with time.Duration.String (#15726) 10 bulan lalu
tsweb b95e8bf4a1 tsweb/varz: export GC CPU fraction gauge 10 bulan lalu
types 068d5ab655 feature/taildrop: move rest of Taildrop out of LocalBackend 10 bulan lalu
util cb6fc37d66 util/deephash: move tests that depend on other tailscale packages to deephash_test 10 bulan lalu
version 660b0515b9 safesocket, version: fix safesocket_darwin behavior for cmd/tailscale (#15275) 1 tahun lalu
wf d837e0252f wf/firewall: allow link-local multicast for permitted local routes when the killswitch is on on Windows 1 tahun lalu
wgengine fd63123849 wgengine/magicsock: shape relayManager and CallMeMaybeVia handling (#15864) 10 bulan lalu
words 5ed53c7e39 words: C what I did there? 11 bulan lalu
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 tahun lalu
.gitignore 8fad8c4b9b tstest/tailmac: add customized macOS virtualization tooling (#13146) 1 tahun lalu
.golangci.yml d8e3bce0b4 .github: Bump golangci/golangci-lint-action from 6.5.0 to 7.0.0 (#15476) 10 bulan lalu
ALPINE.txt 2685484f26 Bump Alpine, link iptables back to legacy (#15428) 11 bulan lalu
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 tahun lalu
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file 2 tahun lalu
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 tahun lalu
Dockerfile 2685484f26 Bump Alpine, link iptables back to legacy (#15428) 11 bulan lalu
Dockerfile.base 2685484f26 Bump Alpine, link iptables back to legacy (#15428) 11 bulan lalu
LICENSE 947c14793a all: update tools that manage copyright headers 3 tahun lalu
Makefile 04936d6c05 tsnet: add android & iOS results to depaware 10 bulan lalu
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 tahun lalu
README.md f5a873aca4 commit-messages.md: make our git commit message style guide public 11 bulan lalu
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 tahun lalu
VERSION.txt 1ec1a60c10 VERSION.txt: this is v1.83.0 (#15443) 11 bulan lalu
api.md 124ff3b034 {api.md,publicapi}: remove old API docs (#13468) 1 tahun lalu
assert_ts_toolchain_match.go 1005cbc1e4 tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 1 tahun lalu
build_dist.sh 3105ecd958 hostinfo,tailcfg: report TPM availability on windows/linux (#15831) 10 bulan lalu
build_docker.sh e3c04c5d6c build_docker.sh: bump default base image (#15432) 11 bulan lalu
flake.lock b95df54b06 nix: update nix and use go 1.24 (#15578) 11 bulan lalu
flake.nix b95df54b06 nix: update nix and use go 1.24 (#15578) 11 bulan lalu
go.mod 3105ecd958 hostinfo,tailcfg: report TPM availability on windows/linux (#15831) 10 bulan lalu
go.mod.sri b95df54b06 nix: update nix and use go 1.24 (#15578) 11 bulan lalu
go.sum 3105ecd958 hostinfo,tailcfg: report TPM availability on windows/linux (#15831) 10 bulan lalu
go.toolchain.branch 836c01258d go.toolchain.branch: update to Go 1.24 (#15016) 1 tahun lalu
go.toolchain.rev 6fb5e3b0cb go.toolchain.rev: bump go 1.24 for Android pidfd changes (#15613) 11 bulan lalu
gomod_test.go aae1a28a2b go.mod: add test that replace directives aren't added in oss 2 tahun lalu
header.txt 1a08ea5990 cmd/k8s-operator: operator can create subnetrouter (#9505) 2 tahun lalu
pkgdoc_test.go 6bbf98bef4 all: skip looking for package comments in .git/ repository (#15384) 11 bulan lalu
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 tahun lalu
shell.nix b95df54b06 nix: update nix and use go 1.24 (#15578) 11 bulan lalu
staticcheck.conf 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 tahun lalu
update-flake.sh 50a570a83f Code Improvements (#11311) 2 tahun lalu
version-embed.go 36ea792f06 Fix various linting, vet & static check issues 1 tahun lalu
version_tailscale_test.go 1005cbc1e4 tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 1 tahun lalu
version_test.go 7e3bcd297e go.mod,wgengine/netstack: bump gvisor 2 tahun lalu

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:

Legal

WireGuard is a registered trademark of Jason A. Donenfeld.