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

James 'zofrex' Sanderson 9048ea25db ipn/localapi: log calls to localapi (#17880) 3 месяцев назад
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 лет назад
.github 5b40f0bc54 cmd/vet: add static vet checker that runs jsontags (#17778) 3 месяцев назад
appc 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
atomicfile d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
chirp 259bab9bff scripts/check_license_headers.sh: delete, rewrite as a Go test 8 месяцев назад
client 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
clientupdate 7c49cab1a6 clientupdate, util/osshare, util/winutil, version: improve Windows GUI filename resolution and WinUI build awareness 4 месяцев назад
cmd a2e9dfacde cmd/tailscale/cli: warn if a simple up would change prefs (#17877) 3 месяцев назад
control a5b2f18567 control/controlclient: remove some public API, move to Options & test-only 3 месяцев назад
derp 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
disco 09bfee2e06 disco: add missing message types to MessageSummary (#17081) 5 месяцев назад
docs 0ce88aa343 all: use a consistent capitalisation for "Tailnet Lock" 4 месяцев назад
doctor 5be6ff9b62 all: remove non-applicable "linux" deps on Android 10 месяцев назад
drive bbb16e4e72 drive: don't use regexp package in leaf types package 5 месяцев назад
envknob 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
feature 26f9b50247 feature/tpm: disable dictionary attack protection on sealing key (#17952) 3 месяцев назад
gokrazy 5eafce7e25 gokrazy/natlab: update gokrazy, wire up natlab tests to GitHub CI 1 год назад
health 1723cb83ed ipn/ipnlocal: use an in-memory TKA store if FS is unavailable 3 месяцев назад
hostinfo d6fd865d41 hostinfo, ipnlocal: add optional os-specific callback for querying the hostname (#15647) 10 месяцев назад
internal 6a73c0bdf5 cmd/tailscale/cli,feature: add support for identity federation (#17529) 4 месяцев назад
ipn 9048ea25db ipn/localapi: log calls to localapi (#17880) 3 месяцев назад
jsondb 71029cea2d all: update copyright and license headers 3 лет назад
k8s-operator 9083ef1ac4 cmd/k8s-operator: allow pod tolerations on nameservers (#17260) 4 месяцев назад
kube c2f37c891c all: use Go 1.20's errors.Join instead of our multierr package 5 месяцев назад
licenses 31fe75ad9e licenses: update license notices 3 месяцев назад
log ce752b8a88 net/netmon: remove usage of direct callbacks from netmon (#17292) 5 месяцев назад
logpolicy 208a32af5b logpolicy: fix nil pointer dereference with invalid TS_LOG_TARGET 3 месяцев назад
logtail 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
maths 820bdb870a maths: add exponentially weighted moving average type 1 год назад
metrics 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
net d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
omit 1ea100e2e5 cmd/tailscaled, ipn/conffile: support ec2 user-data config file 1 год назад
packages eb6883bb5a go.mod: upgrade nfpm to v2 (#8786) 2 лет назад
paths fbc6a9ec5a all: detect JetKVM and specialize a handful of things for it 7 месяцев назад
portlist 5e305032a9 portlist: add Plan 9 support 11 месяцев назад
posture d05e6dc09e util/syspolicy/policyclient: add policyclient.Client interface, start plumbing 6 месяцев назад
prober c2f37c891c all: use Go 1.20's errors.Join instead of our multierr package 5 месяцев назад
proxymap 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
release c2f37c891c all: use Go 1.20's errors.Join instead of our multierr package 5 месяцев назад
safesocket c45f8813b4 feature/featuretags, all: add build features, use existing ones in more places 5 месяцев назад
safeweb 3177e50b14 safeweb: Set Cross-Origin-Opener-Policy for browser requests (#15936) 10 месяцев назад
scripts bd36817e84 scripts/installer.sh: compare major versions numerically (#17904) 3 месяцев назад
sessionrecording 8996254647 sessionrecording: fix regression in recent http2 package change 4 месяцев назад
ssh 41662f5128 ssh/tailssh: fix incubator tests on macOS arm64 3 месяцев назад
syncs 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 3 месяцев назад
tailcfg e8d2f96449 ipn/ipnlocal, net/netns: add node cap to disable netns interface binding on netext Apple clients (#17691) 3 месяцев назад
tempfork 2e381557b8 feature/c2n: move answerC2N code + deps out of control/controlclient 5 месяцев назад
tka 165a24744e tka: fix typo in comment 3 месяцев назад
tool 4bb03609bc tool/gocross: ensure child process error codes are propagated on non-Unix 5 месяцев назад
tsconsensus 653d0738f9 types/netmap: remove PrivateKey from NetworkMap 3 месяцев назад
tsconst 7418583e47 health: compare warnable codes to avoid errors on release branch (#17637) 4 месяцев назад
tsd f715ee2be9 cmd/tailscaled: start implementing ts_omit_netstack 5 месяцев назад
tsnet d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
tstest 1723cb83ed ipn/ipnlocal: use an in-memory TKA store if FS is unavailable 3 месяцев назад
tstime aff8f1b358 tstime: add GoDuration which JSON serializes with time.Duration.String (#15726) 10 месяцев назад
tsweb 072e6a39f4 tsweb/varz: add support for ShardedInt metrics 4 месяцев назад
types f1cddc6ecf ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll 3 месяцев назад
util d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
version 7c49cab1a6 clientupdate, util/osshare, util/winutil, version: improve Windows GUI filename resolution and WinUI build awareness 4 месяцев назад
wf 85cb64c4ff wf: correct IPv6 link-local range from ff80::/10 to fe80::/10 (#17840) 3 месяцев назад
wgengine 4860c460f5 wgengine/netlog: strip dot suffix from node name (#17954) 3 месяцев назад
words 05d2dcaf49 words: remove a fish (#17704) 4 месяцев назад
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 лет назад
.gitignore b75fe9eeca cmd/k8s-operator: Add NOTES.txt to Helm chart (#16364) 8 месяцев назад
.golangci.yml d8e3bce0b4 .github: Bump golangci/golangci-lint-action from 6.5.0 to 7.0.0 (#15476) 10 месяцев назад
ALPINE.txt bb38bf7414 docker: bump alpine v3.19 -> 3.22 (#17155) 5 месяцев назад
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 лет назад
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file 2 лет назад
CODE_OF_CONDUCT.md 0a5ba8280f CODE_OF_CONDUCT.md: update code of conduct 4 месяцев назад
Dockerfile bb38bf7414 docker: bump alpine v3.19 -> 3.22 (#17155) 5 месяцев назад
Dockerfile.base bb38bf7414 docker: bump alpine v3.19 -> 3.22 (#17155) 5 месяцев назад
LICENSE 947c14793a all: update tools that manage copyright headers 3 лет назад
Makefile 801aac59db Makefile, cmd/*/depaware.txt: split out vendor packages explicitly 5 месяцев назад
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 лет назад
README.md 1aaa1648c4 README: update the version of Go in the README 5 месяцев назад
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 лет назад
VERSION.txt bf47d8e72b VERSION.txt: this is v1.91.0 4 месяцев назад
api.md 124ff3b034 {api.md,publicapi}: remove old API docs (#13468) 1 год назад
assert_ts_toolchain_match.go 1005cbc1e4 tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 1 год назад
build_dist.sh 10cb59fa87 build_dist.sh: keep --extra-small making a usable build, add --min 4 месяцев назад
build_docker.sh 16e0abe031 build_docker.sh: support including extra files (#17405) 5 месяцев назад
flake.lock e4031daa08 .github/Makefile/flake: update nix flake support (#16636) 6 месяцев назад
flake.nix d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
go.mod d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
go.mod.sri d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
go.sum d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
go.toolchain.branch c5429cd49c go.toolchain.branch: bump to go1.25 (#16954) 6 месяцев назад
go.toolchain.rev 54cee33bae go.toolchain.rev: update to Go 1.25.3 4 месяцев назад
go.toolchain.rev.sri 54cee33bae go.toolchain.rev: update to Go 1.25.3 4 месяцев назад
go.toolchain.version 54cee33bae go.toolchain.rev: update to Go 1.25.3 4 месяцев назад
gomod_test.go aae1a28a2b go.mod: add test that replace directives aren't added in oss 2 лет назад
header.txt 1a08ea5990 cmd/k8s-operator: operator can create subnetrouter (#9505) 2 лет назад
license_test.go 39e35379d4 wgengine/router{,/osrouter}: split OS router implementations into subpackage 5 месяцев назад
pkgdoc_test.go 6bbf98bef4 all: skip looking for package comments in .git/ repository (#15384) 11 месяцев назад
pull-toolchain.sh 7edb5b7d43 flake.nix: update Nix to use tailscale/go 1.25.2 (#17500) 4 месяцев назад
shell.nix d01081683c go.mod: bump golang.org/x/crypto (#17907) 3 месяцев назад
staticcheck.conf 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 лет назад
update-flake.sh 7edb5b7d43 flake.nix: update Nix to use tailscale/go 1.25.2 (#17500) 4 месяцев назад
version-embed.go 36ea792f06 Fix various linting, vet & static check issues 1 год назад
version_tailscale_test.go 1005cbc1e4 tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 1 год назад
version_test.go d7770d2b81 .github/workflows: test that ./go/tool version matches go mod version 8 месяцев назад

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.