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

M. J. Fromberger a75360ccd6 util: add truncate package (#7490) 3 tahun lalu
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 tahun lalu
.github b0eba129e6 .github/workflows: add a pass/fail verdict job to the test workflow 3 tahun lalu
atomicfile 71029cea2d all: update copyright and license headers 3 tahun lalu
chirp 71029cea2d all: update copyright and license headers 3 tahun lalu
client e2d652ec4d ipn,cmd/tailscale: implement resigning nodes on tka key removal 3 tahun lalu
cmd be107f92d3 wgengine/magicsock: track per-endpoint changes in ringbuffer 3 tahun lalu
control 6ac6ddbb47 sockstats: switch label to enum 3 tahun lalu
derp 3862a1e1d5 derp/derphttp: cleanup WebSocket connection on close 3 tahun lalu
disco b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 tahun lalu
docs 71029cea2d all: update copyright and license headers 3 tahun lalu
doctor 71029cea2d all: update copyright and license headers 3 tahun lalu
envknob be107f92d3 wgengine/magicsock: track per-endpoint changes in ringbuffer 3 tahun lalu
health 2755f3843c health, net/tlsdial: add healthcheck for self-signed cert 3 tahun lalu
hostinfo 49c206fe1e tailcfg,hostinfo: add App field to identify tsnet uses 3 tahun lalu
internal 71029cea2d all: update copyright and license headers 3 tahun lalu
ipn be107f92d3 wgengine/magicsock: track per-endpoint changes in ringbuffer 3 tahun lalu
jsondb 71029cea2d all: update copyright and license headers 3 tahun lalu
kube e1530cdfcc cmd/containerboot,kube: consolidate the two kube clients 3 tahun lalu
licenses 3b18e65c6a licenses: update android licenses 3 tahun lalu
log 71029cea2d all: update copyright and license headers 3 tahun lalu
logpolicy 0d19f5d421 all: replace logtail.{Public,Private}ID with logid.{Public,Private}ID (#7404) 3 tahun lalu
logtail 6ac6ddbb47 sockstats: switch label to enum 3 tahun lalu
metrics a7eab788e4 metrics: add SetInt64 to ease using LabelMap for gauge metrics 3 tahun lalu
net 6ac6ddbb47 sockstats: switch label to enum 3 tahun lalu
packages 71029cea2d all: update copyright and license headers 3 tahun lalu
paths 71029cea2d all: update copyright and license headers 3 tahun lalu
portlist 71029cea2d all: update copyright and license headers 3 tahun lalu
prober 100d8e909e cmd/derpprobe: migrate to the prober framework 3 tahun lalu
release 311352d195 release/dist/cli: add --verbose to print subcommand output 3 tahun lalu
safesocket 4441609d8f safesocket: remove the now unused WindowsLocalPort 3 tahun lalu
scripts 6dabb34c7f scripts/installer.sh: add GalliumOS and Sangoma Linux 3 tahun lalu
smallzstd 71029cea2d all: update copyright and license headers 3 tahun lalu
ssh 0582829e00 ssh/tailssh: try launching commands with /usr/bin/login on macOS 3 tahun lalu
syncs 9ab992e7a1 syncs: re-enable TestWatchMultipleValues 3 tahun lalu
tailcfg 49c206fe1e tailcfg,hostinfo: add App field to identify tsnet uses 3 tahun lalu
tempfork da8def8e13 all: remove old +build tags 3 tahun lalu
tka 88c7d19d54 tka: compact TKA storage on startup 3 tahun lalu
tool 64181e17c8 tool/gocross: support local toolchain for development 3 tahun lalu
tsconst 71029cea2d all: update copyright and license headers 3 tahun lalu
tsnet 9245d813c6 tsnet: explicit message for panic seen in CI 3 tahun lalu
tstest 1a30b2d73f all: use tstest.Replace more 3 tahun lalu
tstime 7e6c5a2db4 tstime: rely on stdlib parse functionality (#7482) 3 tahun lalu
tsweb 1a30b2d73f all: use tstest.Replace more 3 tahun lalu
types 9ff51ca17f wgengine/netstack: add support for custom UDP flow handlers 3 tahun lalu
util a75360ccd6 util: add truncate package (#7490) 3 tahun lalu
version 7b73c9628d version/distro,wgengine/router: raise WSL eth0 MTU when too low 3 tahun lalu
wf 71029cea2d all: update copyright and license headers 3 tahun lalu
wgengine be107f92d3 wgengine/magicsock: track per-endpoint changes in ringbuffer 3 tahun lalu
words 49e2d3a7bd words: add word we forgot 3 tahun lalu
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 tahun lalu
.gitignore fc4b25d9fd release: open-source release build logic for unix packages 3 tahun lalu
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 tahun lalu
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 tahun lalu
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 tahun lalu
Dockerfile f9667e4946 Dockerfile: fix docker build 3 tahun lalu
Dockerfile.base 71029cea2d all: update copyright and license headers 3 tahun lalu
LICENSE 947c14793a all: update tools that manage copyright headers 3 tahun lalu
Makefile 8b9ee7a558 Makefile: add help text to Makefile 3 tahun lalu
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 tahun lalu
README.md b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 tahun lalu
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 tahun lalu
VERSION.txt 9af7e8a0ff VERSION.txt: this is 1.37 3 tahun lalu
api.md ef6f66bb9a api.md: refresh of API docs 3 tahun lalu
build_dist.sh 149de5e6d6 build_dist.sh: use cmd/mkversion to get version data 3 tahun lalu
build_docker.sh f9667e4946 Dockerfile: fix docker build 3 tahun lalu
flake.lock 30e0156430 nix: update nixpkgs flake, override go_1_20 for tailscale_go (#7139) 3 tahun lalu
flake.nix 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 tahun lalu
go.mod 1410682fb6 cmd/sniproxy: add start of a tsnet-based SNI proxy 3 tahun lalu
go.mod.sri 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 tahun lalu
go.sum 1410682fb6 cmd/sniproxy: add start of a tsnet-based SNI proxy 3 tahun lalu
go.toolchain.branch 623176ebc9 go.toolchain.branch: update to Go 1.20 3 tahun lalu
go.toolchain.rev 9cb332f0e2 sockstats: instrument networking code paths 3 tahun lalu
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 tahun lalu
shell.nix 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 tahun lalu
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 tahun lalu
update-flake.sh f145c2b65b .github/workflows: add workflow to update go.mod Nix SRI hash 3 tahun lalu
version-embed.go da75e49223 version: return correct Meta.MajorMinorPatch in non-dev builds 3 tahun lalu
version_test.go 71029cea2d all: update copyright and license headers 3 tahun lalu

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.20. (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.