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

Percy Wegmann 2d5d6f5403 ipn,wgengine: only intercept TailFS traffic on quad 100 2 yıl önce
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 yıl önce
.github 7e17aeb36b .github/workflows: fix regular breakage of go toolchains 2 yıl önce
appc 0f5e031133 appc: optimize dns response observation for large route tables 2 yıl önce
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) 2 yıl önce
chirp 71029cea2d all: update copyright and license headers 3 yıl önce
client e83e2e881b client/web: fix Vite CJS deprecation warning (#11288) 2 yıl önce
clientupdate 38bba2d23a clientupdate: disable auto update on NixOS (#11136) 2 yıl önce
cmd 69f4b4595a wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2 yıl önce
control e1bd7488d0 all: remove LenIter, use Go 1.22 range-over-int instead 2 yıl önce
derp 10d130b845 cmd/derper, derp, tailcfg: add admission controller URL option 2 yıl önce
disco 706e30d49e disco: correct noun for nacl box type in disco docs 2 yıl önce
docs 2ce596ea7a cmd/k8s-operator/deploy: allow modifying operator tags via Helm values 2 yıl önce
doctor 52f16b5d10 doctor/ethtool, ipn/ipnlocal: add ethtool bugreport check 2 yıl önce
envknob 7a4ba609d9 client/web: show features based on platform support 2 yıl önce
health 8cc5c51888 health: warn about reverse path filtering and exit nodes 2 yıl önce
hostinfo 01604c06d2 hostinfo: fix a couple of logic simplification lints 2 yıl önce
internal 280255acae various: add golangci-lint, fix issues (#7905) 2 yıl önce
ipn 2d5d6f5403 ipn,wgengine: only intercept TailFS traffic on quad 100 2 yıl önce
jsondb 71029cea2d all: update copyright and license headers 3 yıl önce
k8s-operator 45d27fafd6 cmd/k8s-operator,k8s-operator,go.{mod,sum},tstest/tools: add Tailscale Kubernetes operator API docs (#11246) 2 yıl önce
kube c919ff540f cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 2 yıl önce
licenses 9f0eaa4464 licenses: update win/apple licenses 2 yıl önce
log 239ad57446 tailcfg: move LogHeapPprof from Debug to c2n [capver 69] 2 yıl önce
logpolicy 6c3899e6ee logpolicy: allow longer idle log upload connections 2 yıl önce
logtail 3fb6ee7fdb tailscale/logtail: redact public ipv6 and ipv4 ip addresses within tailscaled. (#10531) 2 yıl önce
metrics 18b2638b07 metrics: add missing comma in histogram JSON export 2 yıl önce
net 3dd8ae2f26 net/tstun: fix spelling of "WireGuard" 2 yıl önce
packages eb6883bb5a go.mod: upgrade nfpm to v2 (#8786) 2 yıl önce
paths 6fd1961cd7 safesocket, paths: add Plan 9 support 2 yıl önce
portlist 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 yıl önce
posture 3f576fc4ca ci: run 'go vet' in golangci-lint; fix errors in tests 2 yıl önce
prober a4a909a20b prober: add TLS probe constructor to split dial addr from cert name 2 yıl önce
proxymap 3d37328af6 wgengine, proxymap: split out port mapping from Engine to new type 2 yıl önce
release 1217f655c0 cmd/dist: update logs for synology builds 2 yıl önce
safesocket 84ab040f02 safesocket: detect macsys from within tailscaled 2 yıl önce
scripts 086ef19439 scripts/installer.sh: auto-start tailscale on Alpine (#11214) 2 yıl önce
smallzstd 71029cea2d all: update copyright and license headers 3 yıl önce
ssh 94a4f701c2 all: use reflect.TypeFor now available in Go 1.22 (#11078) 2 yıl önce
syncs b88929edf8 Fix potential goroutine leak in syncs/watchdog.go 2 yıl önce
tailcfg 352c1ac96c tailcfg: add latitude, longitude for node location (#11162) 2 yıl önce
taildrop 2e404b769d all: use new AppendEncode methods available in Go 1.22 (#11079) 2 yıl önce
tailfs 05acf76392 tailfs: fix race condition in tailfs_test 2 yıl önce
tempfork e8551d6b40 all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 2 yıl önce
tka 2e404b769d all: use new AppendEncode methods available in Go 1.22 (#11079) 2 yıl önce
tool 44e337cc0e tool/gocross: pass flags for visionOS and visionOS Simulator (#11127) 2 yıl önce
tsconst 71029cea2d all: update copyright and license headers 3 yıl önce
tsd abab0d4197 tailfs: clean up naming and package structure 2 yıl önce
tsnet e1bd7488d0 all: remove LenIter, use Go 1.22 range-over-int instead 2 yıl önce
tstest 45d27fafd6 cmd/k8s-operator,k8s-operator,go.{mod,sum},tstest/tools: add Tailscale Kubernetes operator API docs (#11246) 2 yıl önce
tstime 7732377cd7 tstime/rate: implement Value.{Marshal,Unmarshal}JSON (#8481) 2 yıl önce
tsweb 23e9447871 tsweb: expose function to generate request IDs 2 yıl önce
types 9a8c2f47f2 types/key: remove copy returning array by value 2 yıl önce
util a20e46a80f util/cache: fix missing interface methods (#11275) 2 yıl önce
version 86e476c8d1 version/mkversion: allow version override with $TS_VERSION_OVERRIDE (#10799) 2 yıl önce
wf 61a1644c2a go.mod, all: move away from inet.af domain seized by Taliban 2 yıl önce
wgengine 2d5d6f5403 ipn,wgengine: only intercept TailFS traffic on quad 100 2 yıl önce
words e0762fe331 words: add a list of things you should yahoo! 2 yıl önce
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 yıl önce
.gitignore d74c771fda client/web: always use new web client; remove old client 2 yıl önce
.golangci.yml 3f576fc4ca ci: run 'go vet' in golangci-lint; fix errors in tests 2 yıl önce
ALPINE.txt 1b1b6bb634 ALPINE.txt,Dockerfile{.base},build_docker.sh: bump alpine (#10543) 2 yıl önce
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 yıl önce
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file 2 yıl önce
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 yıl önce
Dockerfile 5ea071186e Dockerfile: use Go 1.22 2 yıl önce
Dockerfile.base 1b1b6bb634 ALPINE.txt,Dockerfile{.base},build_docker.sh: bump alpine (#10543) 2 yıl önce
LICENSE 947c14793a all: update tools that manage copyright headers 3 yıl önce
Makefile ca48db0d60 Makefile,build_docker.sh: allow to configure target platform. (#10806) 2 yıl önce
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 yıl önce
README.md b6153efb7d go.mod, README.md: use Go 1.22 2 yıl önce
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 yıl önce
VERSION.txt 3aca29e00e VERSION.txt: this is v1.61.0 2 yıl önce
api.md f815d66a88 api.md: add docs for setting an IP address 2 yıl önce
build_dist.sh 652f77d236 client/web: switch to using prebuilt web client assets 2 yıl önce
build_docker.sh ca48db0d60 Makefile,build_docker.sh: allow to configure target platform. (#10806) 2 yıl önce
flake.lock 58b8f78e7e flake.nix: build tailscale with go 1.22 2 yıl önce
flake.nix 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 yıl önce
go.mod 45d27fafd6 cmd/k8s-operator,k8s-operator,go.{mod,sum},tstest/tools: add Tailscale Kubernetes operator API docs (#11246) 2 yıl önce
go.mod.sri 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 yıl önce
go.sum 45d27fafd6 cmd/k8s-operator,k8s-operator,go.{mod,sum},tstest/tools: add Tailscale Kubernetes operator API docs (#11246) 2 yıl önce
go.toolchain.branch db3776d5bf go.toolchain.rev: bump to Go 1.22.0 (#11055) 2 yıl önce
go.toolchain.rev db3776d5bf go.toolchain.rev: bump to Go 1.22.0 (#11055) 2 yıl önce
gomod_test.go aae1a28a2b go.mod: add test that replace directives aren't added in oss 2 yıl önce
header.txt 1a08ea5990 cmd/k8s-operator: operator can create subnetrouter (#9505) 2 yıl önce
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 yıl önce
shell.nix 7ad2bb87a6 go.mod.sri: update SRI hash for go.mod changes 2 yıl önce
staticcheck.conf 2716250ee8 all: cleanup unused code, part 2 (#10670) 2 yıl önce
update-flake.sh f145c2b65b .github/workflows: add workflow to update go.mod Nix SRI hash 3 yıl önce
version-embed.go da75e49223 version: return correct Meta.MajorMinorPatch in non-dev builds 3 yıl önce
version_test.go 7e3bcd297e go.mod,wgengine/netstack: bump gvisor 2 yıl önce

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.