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

Andrea Gottardo 44e337cc0e tool/gocross: pass flags for visionOS and visionOS Simulator (#11127) 2 vuotta sitten
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 vuotta sitten
.github 6f6383f69e .github: fuzzing is now unbroken 2 vuotta sitten
appc 0f5e031133 appc: optimize dns response observation for large route tables 2 vuotta sitten
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) 2 vuotta sitten
chirp 71029cea2d all: update copyright and license headers 3 vuotta sitten
client abab0d4197 tailfs: clean up naming and package structure 2 vuotta sitten
clientupdate 38bba2d23a clientupdate: disable auto update on NixOS (#11136) 2 vuotta sitten
cmd 6b582cb8b6 cmd/tailscale: support clickable IPv6 web client addresses 2 vuotta sitten
control 94a4f701c2 all: use reflect.TypeFor now available in Go 1.22 (#11078) 2 vuotta sitten
derp 2bd3c1474b util/cmpx: delete now that we're using Go 1.22 2 vuotta sitten
disco 706e30d49e disco: correct noun for nacl box type in disco docs 2 vuotta sitten
docs 2ce596ea7a cmd/k8s-operator/deploy: allow modifying operator tags via Helm values 2 vuotta sitten
doctor 52f16b5d10 doctor/ethtool, ipn/ipnlocal: add ethtool bugreport check 2 vuotta sitten
envknob 7a4ba609d9 client/web: show features based on platform support 2 vuotta sitten
health 727acf96a6 net/netcheck: use DERP frames as a signal for home region liveness 2 vuotta sitten
hostinfo 01604c06d2 hostinfo: fix a couple of logic simplification lints 2 vuotta sitten
internal 280255acae various: add golangci-lint, fix issues (#7905) 2 vuotta sitten
ipn 69f5664075 ipn/ipnlocal: fix doctor API endpoint (#11155) 2 vuotta sitten
jsondb 71029cea2d all: update copyright and license headers 3 vuotta sitten
k8s-operator 5bd19fd3e3 cmd/k8s-operator,k8s-operator: proxy configuration mechanism via a new ProxyClass custom resource (#11074) 2 vuotta sitten
kube c919ff540f cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 2 vuotta sitten
licenses 9f0eaa4464 licenses: update win/apple licenses 2 vuotta sitten
log 239ad57446 tailcfg: move LogHeapPprof from Debug to c2n [capver 69] 2 vuotta sitten
logpolicy 3d57c885bf logpolicy: use syspolicy to override LogTarget 2 vuotta sitten
logtail 3fb6ee7fdb tailscale/logtail: redact public ipv6 and ipv4 ip addresses within tailscaled. (#10531) 2 vuotta sitten
metrics 18b2638b07 metrics: add missing comma in histogram JSON export 2 vuotta sitten
net b0e96a6c39 net/dns: log more info when openresolv commands fail 2 vuotta sitten
packages eb6883bb5a go.mod: upgrade nfpm to v2 (#8786) 2 vuotta sitten
paths 6fd1961cd7 safesocket, paths: add Plan 9 support 2 vuotta sitten
portlist 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 vuotta sitten
posture 3f576fc4ca ci: run 'go vet' in golangci-lint; fix errors in tests 2 vuotta sitten
prober 869b34ddeb prober: log HTTP response body on failure 2 vuotta sitten
proxymap 3d37328af6 wgengine, proxymap: split out port mapping from Engine to new type 2 vuotta sitten
release 1217f655c0 cmd/dist: update logs for synology builds 2 vuotta sitten
safesocket 84ab040f02 safesocket: detect macsys from within tailscaled 2 vuotta sitten
scripts 7c0651aea6 scripts/installer.sh: add tuxedoOS to the Ubuntu copies 2 vuotta sitten
smallzstd 71029cea2d all: update copyright and license headers 3 vuotta sitten
ssh 94a4f701c2 all: use reflect.TypeFor now available in Go 1.22 (#11078) 2 vuotta sitten
syncs b88929edf8 Fix potential goroutine leak in syncs/watchdog.go 2 vuotta sitten
tailcfg 370ecb4654 tailcfg: remove UserProfile.Groups 2 vuotta sitten
taildrop 2e404b769d all: use new AppendEncode methods available in Go 1.22 (#11079) 2 vuotta sitten
tailfs abab0d4197 tailfs: clean up naming and package structure 2 vuotta sitten
tempfork e8551d6b40 all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 2 vuotta sitten
tka 2e404b769d all: use new AppendEncode methods available in Go 1.22 (#11079) 2 vuotta sitten
tool 44e337cc0e tool/gocross: pass flags for visionOS and visionOS Simulator (#11127) 2 vuotta sitten
tsconst 71029cea2d all: update copyright and license headers 3 vuotta sitten
tsd abab0d4197 tailfs: clean up naming and package structure 2 vuotta sitten
tsnet abab0d4197 tailfs: clean up naming and package structure 2 vuotta sitten
tstest abab0d4197 tailfs: clean up naming and package structure 2 vuotta sitten
tstime 7732377cd7 tstime/rate: implement Value.{Marshal,Unmarshal}JSON (#8481) 2 vuotta sitten
tsweb 256ecd0e8f Revert "tsweb: update ServeMux matching to 1.22.0 syntax (#11090)" (#11125) 2 vuotta sitten
types f7f496025a types/views: add test that LenIter doesn't allocate 2 vuotta sitten
util b7104cde4a util/topk: add package containing a probabilistic top-K tracker 2 vuotta sitten
version 86e476c8d1 version/mkversion: allow version override with $TS_VERSION_OVERRIDE (#10799) 2 vuotta sitten
wf 61a1644c2a go.mod, all: move away from inet.af domain seized by Taliban 2 vuotta sitten
wgengine 4d668416b8 wgengine/router: fix ip rule restoration 2 vuotta sitten
words e0762fe331 words: add a list of things you should yahoo! 2 vuotta sitten
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 vuotta sitten
.gitignore d74c771fda client/web: always use new web client; remove old client 2 vuotta sitten
.golangci.yml 3f576fc4ca ci: run 'go vet' in golangci-lint; fix errors in tests 2 vuotta sitten
ALPINE.txt 1b1b6bb634 ALPINE.txt,Dockerfile{.base},build_docker.sh: bump alpine (#10543) 2 vuotta sitten
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 vuotta sitten
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file 2 vuotta sitten
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 vuotta sitten
Dockerfile 5ea071186e Dockerfile: use Go 1.22 2 vuotta sitten
Dockerfile.base 1b1b6bb634 ALPINE.txt,Dockerfile{.base},build_docker.sh: bump alpine (#10543) 2 vuotta sitten
LICENSE 947c14793a all: update tools that manage copyright headers 3 vuotta sitten
Makefile ca48db0d60 Makefile,build_docker.sh: allow to configure target platform. (#10806) 2 vuotta sitten
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 vuotta sitten
README.md b6153efb7d go.mod, README.md: use Go 1.22 2 vuotta sitten
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 vuotta sitten
VERSION.txt 3aca29e00e VERSION.txt: this is v1.61.0 2 vuotta sitten
api.md f815d66a88 api.md: add docs for setting an IP address 2 vuotta sitten
build_dist.sh 652f77d236 client/web: switch to using prebuilt web client assets 2 vuotta sitten
build_docker.sh ca48db0d60 Makefile,build_docker.sh: allow to configure target platform. (#10806) 2 vuotta sitten
flake.lock 58b8f78e7e flake.nix: build tailscale with go 1.22 2 vuotta sitten
flake.nix 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 vuotta sitten
go.mod 61a1644c2a go.mod, all: move away from inet.af domain seized by Taliban 2 vuotta sitten
go.mod.sri 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 vuotta sitten
go.sum 61a1644c2a go.mod, all: move away from inet.af domain seized by Taliban 2 vuotta sitten
go.toolchain.branch db3776d5bf go.toolchain.rev: bump to Go 1.22.0 (#11055) 2 vuotta sitten
go.toolchain.rev db3776d5bf go.toolchain.rev: bump to Go 1.22.0 (#11055) 2 vuotta sitten
gomod_test.go aae1a28a2b go.mod: add test that replace directives aren't added in oss 2 vuotta sitten
header.txt 1a08ea5990 cmd/k8s-operator: operator can create subnetrouter (#9505) 2 vuotta sitten
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 vuotta sitten
shell.nix 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 vuotta sitten
staticcheck.conf 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 vuotta sitten
update-flake.sh f145c2b65b .github/workflows: add workflow to update go.mod Nix SRI hash 3 vuotta sitten
version-embed.go da75e49223 version: return correct Meta.MajorMinorPatch in non-dev builds 3 vuotta sitten
version_test.go 7e3bcd297e go.mod,wgengine/netstack: bump gvisor 2 vuotta sitten

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.22. (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 git log for our commit message style. It's basically the same as Go's 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.