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

Claus Lensbøl 2d21dd46cd wgengine/magicsoc,net/tstun: put disco key advertisement behind a nob (#18857) 5 hours ago
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 years ago
.github eeb1fa047b .github: Bump actions/setup-go from 6.2.0 to 6.3.0 1 day ago
appc 3b737edbf1 appc,feature/conn25,net: Add DNS response interception for conn25 1 week 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 5ac35b665b client/systray: add installer for a freedesktop autostart file (#18767) 5 days ago
clientupdate 36d359e585 clientupdate, cmd/tailscale/cli: support updating to release-candidates (#18632) 2 weeks ago
cmd 30e12310f1 cmd/tailscaled/*.{target,unit}: add systemd online target 4 days ago
control a7a864419d net/dns: make MagicDNS IPv6 registration opt-out now, not opt-in 2 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 3b737edbf1 appc,feature/conn25,net: Add DNS response interception for conn25 1 week ago
gokrazy 371d6369cd gokrazy: use monorepo for gokrazy appliance builds (monogok) 2 weeks ago
health 3cc7f897d3 health: always include control health messages in the current state 2 weeks 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 518d241700 netns,wgengine: add OpenBSD support to netns via an rtable 5 days ago
jsondb 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
k8s-operator eb3d35c8b5 cmd/k8s-operator,k8s-operator: define ProxyGroupPolicy reconciler (#18654) 1 week ago
kube 8890c3c413 cmd/containerboot,kube: enable autoadvertisement of Tailscale services on containerboot (#18527) 1 week ago
licenses 3e8913f959 licenses: update license notices 1 day 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 6cbfc2f3ba logtail/filch: fix filch test panic (#18660) 2 weeks 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 2d21dd46cd wgengine/magicsoc,net/tstun: put disco key advertisement behind a nob (#18857) 5 hours 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 068074c109 portlist: also tb.Skip benchmarks (not just tests) on bad Linux kernels 2 weeks ago
posture 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
prober 329d2e2643 prober: fix race condition in TestExcludeInRunAll (#18807) 6 days 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 5a2168da9e scripts/installer.sh: handle KDE Linux (#18861) 1 day ago
sessionrecording 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
ssh a6390ca008 ssh/tailssh: fix data race on conn auth state in OnPolicyChange 2 weeks ago
syncs 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tailcfg a7a864419d net/dns: make MagicDNS IPv6 registration opt-out now, not opt-in 2 weeks ago
tempfork 2e381557b8 feature/c2n: move answerC2N code + deps out of control/controlclient 4 months ago
tka 3ec5be3f51 all: remove AUTHORS file and references to it 1 month ago
tool 7370c24eb4 tool/listpkgs: add --affected-by-tag 5 days ago
tsconsensus fbbf0d6669 tsconsensus: fix race condition in TestOnlyTaggedPeersCanBeDialed 1 week 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 48e0334aac tsnet: fix Listen for unspecified addresses and ephemeral ports 2 days ago
tstest 54de5daae0 tstest/integration/nat: use per-call timeout in natlab ping (#18811) 5 days 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 8fd02bb626 types/geo: fix floating point bug causing NaN returns in SphericalAngleTo (#18777) 17 hours ago
util 15836e5624 util/set: make Set.Slice return elements in sorted order for ordered types 5 days 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 2d21dd46cd wgengine/magicsoc,net/tstun: put disco key advertisement behind a nob (#18857) 5 hours 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 a58a8fc1e8 .: permit running binary built with TS_GO_NEXT=1 1 week 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 a98036b41d go.mod: bump gvisor 4 days ago
go.mod a98036b41d go.mod: bump gvisor 4 days ago
go.mod.sri a98036b41d go.mod: bump gvisor 4 days ago
go.sum a98036b41d go.mod: bump gvisor 4 days 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 8e39a0aa0f go.toolchain.next.rev: update to final Go 1.26.0 [next] 2 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 371d6369cd gokrazy: use monorepo for gokrazy appliance builds (monogok) 2 weeks 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 a98036b41d go.mod: bump gvisor 4 days 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.