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

Aaron Klotz 6e33d2da2b ipn/ipnauth, util/winutil: add temporary LookupPseudoUser workaround to address os/user.LookupId errors on Windows 3 years ago
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 years ago
.github 732c3d2ed0 .github/workflows: use ubuntu-22.04 for qemu tests 3 years ago
atomicfile f0347e841f refactor: move from io/ioutil to io and os packages 3 years ago
chirp d4811f11a0 all: fix spelling mistakes 3 years ago
client 5c8d2fa695 cmd/tailscale,ipn: improve UX of lock init command, cosmetic changes 3 years ago
cmd 6e33d2da2b ipn/ipnauth, util/winutil: add temporary LookupPseudoUser workaround to address os/user.LookupId errors on Windows 3 years ago
control 20b27df4d0 tailcfg, ipn, controlclient: add MapResponse.ClientVersion, plumb to IPN bus 3 years ago
derp 33520920c3 all: use strs.CutPrefix and strs.CutSuffix more 3 years ago
disco 33520920c3 all: use strs.CutPrefix and strs.CutSuffix more 3 years ago
docs 5e703bdb55 docs/k8s: add secrets patching permission to the tailscale role. 3 years ago
doctor b1867457a6 doctor: add package for running in-depth healthchecks; use in bugreport (#5413) 3 years ago
envknob b68d008fee envknob: add CanTaildrop (TS_DISABLE_TAILDROP) to disable taildrop on device 3 years ago
health ea25ef8236 util/set: add new set package for SetHandle type 3 years ago
hostinfo da8def8e13 all: remove old +build tags 3 years ago
internal da8def8e13 all: remove old +build tags 3 years ago
ipn 6e33d2da2b ipn/ipnauth, util/winutil: add temporary LookupPseudoUser workaround to address os/user.LookupId errors on Windows 3 years ago
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. 3 years ago
kube af966391c7 kube: handle 201 as a valid status code. 3 years ago
licenses 624d9c759b licenses: update win/apple licenses 3 years ago
log da8def8e13 all: remove old +build tags 3 years ago
logpolicy d4811f11a0 all: fix spelling mistakes 3 years ago
logtail eff62b7b1b logtail: remove MustParsePublicID (#6335) 3 years ago
metrics db2cc393af util/dirwalk, metrics, portlist: add new package for fast directory walking 3 years ago
net b8fe89d15f net/portmapper: add test for Huawei router 3 years ago
packages f0347e841f refactor: move from io/ioutil to io and os packages 3 years ago
paths da8def8e13 all: remove old +build tags 3 years ago
portlist b5299d7d0e portlist: wait for lsof cmd to exit 3 years ago
prober 06b55ab50f prober: fix test flake 3 years ago
safesocket da8def8e13 all: remove old +build tags 3 years ago
scripts 446057d613 scripts/installer.sh: add Nobara Linux. 3 years ago
smallzstd f0347e841f refactor: move from io/ioutil to io and os packages 3 years ago
ssh 2d653230ef ssh/tailssh: only call CloseWrite when both stdout and stderr are done 3 years ago
syncs 9a05cdd2b5 syncs: add Map (#6260) 3 years ago
tailcfg 5c8d2fa695 cmd/tailscale,ipn: improve UX of lock init command, cosmetic changes 3 years ago
tempfork da8def8e13 all: remove old +build tags 3 years ago
tka aeb80bf8cb ipn/ipnlocal,tka: generate a nonce for each TKA 3 years ago
tool d60f7fe33f cmd/tsconnect: run wasm-opt on the generated wasm file 3 years ago
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 years ago
tsnet 992749c44c tsnet/example/tshello: use the correct LocalClient for certs 3 years ago
tstest 3b0de97e07 cmd/tailscaled: unify the two Windows paths + separate IPN server path 3 years ago
tstime ec1e67b1ab tstime: fix ParseDuration for '6' digit (#6363) 3 years ago
tsweb f053f16460 tsweb: export version metrics to Prometheus 3 years ago
types dd50dcd067 ipn/ipnlocal: handle untagging nodes better 3 years ago
util 6e33d2da2b ipn/ipnauth, util/winutil: add temporary LookupPseudoUser workaround to address os/user.LookupId errors on Windows 3 years ago
version 33520920c3 all: use strs.CutPrefix and strs.CutSuffix more 3 years ago
wf da8def8e13 all: remove old +build tags 3 years ago
wgengine ea25ef8236 util/set: add new set package for SetHandle type 3 years ago
words d6021ae71c words: hybrid theory (#6404) 3 years ago
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 years ago
.gitignore e567902aa9 gitignore: ignore direnv nix-shell environment cache (#6520) 3 years ago
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 years ago
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 years ago
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 years ago
Dockerfile 76904b82e7 cmd/containerboot: PID1 for running tailscaled in a container. 3 years ago
Dockerfile.base cfa484e1a2 Dockerfile: bump alpine to 3.16 3 years ago
LICENSE bf6205d200 LICENSE: Reformat for Github 5 years ago
Makefile 42d9e7171c Makefile: add publishdevimage target 3 years ago
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 years ago
README.md e1309e1323 all: require Go 1.19 3 years ago
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 years ago
VERSION.txt 1b9ed9f365 VERSION.txt: this is 1.33. 3 years ago
api.md 847a8cf917 api.md: make it clearer where to get the tailnet name in API calls 3 years ago
build_dist.sh c2d7940ec0 cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP 3 years ago
build_docker.sh 76904b82e7 cmd/containerboot: PID1 for running tailscaled in a container. 3 years ago
go.mod 033bd94d4c cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 3 years ago
go.sum 033bd94d4c cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 3 years ago
go.toolchain.branch e5176f572e go.toolchain.rev: switch to Go 1.19rc2+ 3 years ago
go.toolchain.rev 7714261566 go.toolchain.rev: update to Go 1.19.2 3 years ago
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 years ago
shell.nix 527741d41f shell.nix: add graphviz 3 years ago
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 years ago
version-embed.go 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 years ago
version_test.go 4bda41e701 Dockerfile: add test that build-env Alpine version matches go.mod 3 years ago

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.