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

Denton Gentry 53e08bd7ea VERSION.txt: this is 1.31 3 rokov pred
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 rokov pred
.github 6dcc6313a6 CI: add `go mod tidy` workflow 3 rokov pred
atomicfile 23f37b05a3 atomicfile: update docs to clarify behavior of argument 3 rokov pred
chirp e1738ea78e chirp: add a 10s timeout when communicating with BIRD (#5444) 3 rokov pred
client facafd8819 client,cmd/tailscale,ipn,tka,types: implement tka initialization flow 3 rokov pred
cmd 27f36f77c3 cmd/tsconnect: output errors to the JS console too 3 rokov pred
control c66f99fcdc tailcfg, control/controlclient, ipn/ipnlocal: add c2n (control-to-node) system 3 rokov pred
derp a9f6cd41fd all: use syncs.AtomicValue 3 rokov pred
disco 8725b14056 all: migrate more code code to net/netip directly 3 rokov pred
docs 0ae0439668 docs/k8s: add IPv6 forwarding in proxy.yaml 3 rokov pred
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet 3 rokov pred
health 43f9c25fd2 cmd/tailscale: surface authentication errors in status.Health (#4748) 3 rokov pred
hostinfo f1c9812188 tailcfg: add Hostinfo.GoVersion 3 rokov pred
internal 7c671b0220 .github/workflows: add gofmt (goimports) check 3 rokov pred
ipn 1ac4a26fee ipn/localapi: send Tailscale version in ACME User-Agent (#5499) 3 rokov pred
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. 3 rokov pred
kube 0868329936 all: use any instead of interface{} 4 rokov pred
licenses d95b95038c licenses: update android licenses 3 rokov pred
log c41837842b wasm: drop pprof dependency 3 rokov pred
logpolicy 48e73e147a logtail,logpolicy: tweak minor cosmetic things 3 rokov pred
logtail 21cd402204 logtail: do not log when backing off (#5485) 3 rokov pred
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun 4 rokov pred
net 9f6c8517e0 net/dns: set OS DNS to 100.100.100.100 for route-less ExtraRecords [cap 41] 3 rokov pred
packages 0868329936 all: use any instead of interface{} 4 rokov pred
paths a9f6cd41fd all: use syncs.AtomicValue 3 rokov pred
portlist 4950fe60bd syncs, all: move to using Go's new atomic types instead of ours 3 rokov pred
prober 4950fe60bd syncs, all: move to using Go's new atomic types instead of ours 3 rokov pred
safesocket 116f55ff66 all: gofmt for Go 1.19 3 rokov pred
scripts 1c0286e98a scripts/installer.sh: add `-y` for unattended install 3 rokov pred
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. 5 rokov pred
ssh 4950fe60bd syncs, all: move to using Go's new atomic types instead of ours 3 rokov pred
syncs b75f81ec00 syncs: add generic AtomicValue 3 rokov pred
tailcfg 761163815c tailcfg: add Hostinfo.Userspace{,Router} bits 3 rokov pred
tempfork 116f55ff66 all: gofmt for Go 1.19 3 rokov pred
tka 7ca17b6bdb tka: validate key after UpdateKey before applying state 3 rokov pred
tool 7e4883b261 .github/workflows: add tsconnect static build to wasm GitHub action 3 rokov pred
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 rokov pred
tsnet b1fff4499f tsnet: cleanup resources upon start failure (#5301) 3 rokov pred
tstest c66f99fcdc tailcfg, control/controlclient, ipn/ipnlocal: add c2n (control-to-node) system 3 rokov pred
tstime 0e62a7d1a2 tstime/mono: fix Before function comment 4 rokov pred
tsweb 116f55ff66 all: gofmt for Go 1.19 3 rokov pred
types 66d7d2549f logger: migrate rusage syscall use to x/sys/unix 3 rokov pred
util 70ed22ccf9 util/uniq: add ModifySliceFunc (#5504) 3 rokov pred
version 1ac4a26fee ipn/localapi: send Tailscale version in ACME User-Agent (#5499) 3 rokov pred
wf a12aad6b47 all: convert more code to use net/netip directly 3 rokov pred
wgengine e945d87d76 util/uniq: use generics instead of reflect (#5491) 3 rokov pred
words c980bf01be words: The lists continue to drag-on. (#4780) 3 rokov pred
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 rokov pred
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder 4 rokov pred
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 rokov pred
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 rokov pred
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 rokov pred
Dockerfile 1d33157ab9 docs/k8s: use job control in run.sh 3 rokov pred
Dockerfile.base cfa484e1a2 Dockerfile: bump alpine to 3.16 3 rokov pred
LICENSE bf6205d200 LICENSE: Reformat for Github 5 rokov pred
Makefile c3270af52b Makefile: add target for wasm and make it part of check 3 rokov pred
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 rokov pred
README.md e1309e1323 all: require Go 1.19 3 rokov pred
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 rokov pred
VERSION.txt 53e08bd7ea VERSION.txt: this is 1.31 3 rokov pred
api.md f7a36dfeb1 api.md: added missing quote to POST DNS Searchpaths request body example 3 rokov pred
build_dist.sh d5fb852718 build_dist.sh: add --box and --extra-small flag to produce smaller and boxed binaries 3 rokov pred
build_docker.sh cfa484e1a2 Dockerfile: bump alpine to 3.16 3 rokov pred
go.mod 9996d94b3c build(deps): bump github.com/u-root/u-root from 0.8.0 to 0.9.0 3 rokov pred
go.sum 9996d94b3c build(deps): bump github.com/u-root/u-root from 0.8.0 to 0.9.0 3 rokov pred
go.toolchain.branch e5176f572e go.toolchain.rev: switch to Go 1.19rc2+ 3 rokov pred
go.toolchain.rev e1309e1323 all: require Go 1.19 3 rokov pred
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 rokov pred
shell.nix 7a74466998 shell.nix: update Go toolchain to 1.19 3 rokov pred
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 rokov pred
version-embed.go 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 rokov pred

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale client code and the tailscaled daemon and tailscale CLI tool. The tailscaled daemon runs on Linux, Windows and macOS, and to varying degrees on FreeBSD, OpenBSD, and Darwin. (The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.)

The Android app is at https://github.com/tailscale/tailscale-android

The Synology package is at https://github.com/tailscale/tailscale-synology

Using

We serve packages for a variety of distros 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 that are not open source.

Building

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.

We require the latest Go release, currently Go 1.19.

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.

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.