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

James Tucker 7b1a91dfd3 tool/go: accept a marker file with no line terminator 3 years ago
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 years ago
.github de2dcda2e0 .github/workflows: update module that we try to build in cross-wasm 3 years ago
atomicfile df674d4189 atomicfile: don't Chmod on windows 5 years ago
chirp 0868329936 all: use any instead of interface{} 4 years ago
client 2d65c1a950 client/tailscale: update ACLRow and ACLTest with new ACL fields 3 years ago
cmd 904723691b cmd/gitops-pusher: things i forgot to push last PR (#5128) 3 years ago
control d8cb5aae17 tailcfg, control/controlclient: add tailcfg.PeersChangedPatch [capver 33] 3 years ago
derp 4c0feba38e derp: plumb '/derp' request context through (#5083) 3 years ago
disco 84c3a09a8d types/key: export constants for key size, not a method. 4 years ago
docs df9f3edea3 docs/k8s: add prefix to (#5167) 3 years ago
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet 3 years ago
health 43f9c25fd2 cmd/tailscale: surface authentication errors in status.Health (#4748) 3 years ago
hostinfo 4dd799ec43 hostinfo: determine QNAP QTS version 3 years ago
internal 700badd8f8 util/deephash: move internal/deephash to util/deephash 4 years ago
ipn f85bb60eba ipn/ipnlocal: prevent attempting to run SSH on QNAP for now 3 years ago
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. 3 years ago
kube 0868329936 all: use any instead of interface{} 4 years ago
log c41837842b wasm: drop pprof dependency 3 years ago
logpolicy 7fd03ad4b4 logpolicy: put QNAP logs buffer in /tmp 3 years ago
logtail 96f73b3894 logtail: do not panic in PrivateID.PublicID (#4815) 3 years ago
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun 4 years ago
net 1cae618b03 net/dns: add Windows group policy notifications to the NRPT rule manager 3 years ago
packages 0868329936 all: use any instead of interface{} 4 years ago
paths b005b79236 net/dns, paths, util/winutil: change net/dns/windowsManager NRPT management to support more than 50 domains. 3 years ago
portlist 27a1ad6a70 wasm: exclude code that's not used on iOS for Wasm too 3 years ago
prober 7c7f37342f prober: used keyed initializer for LimitedReader. 4 years ago
safesocket cfe68d0a86 safesocket: log warning when running sandboxed Mac binary as root 3 years ago
scripts e6572a0f08 install.sh: Add archarm and Raspbian Stretch 3 years ago
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. 5 years ago
ssh 3e06b9ea7a ssh/tailssh: add "ssh" to conn logs 3 years ago
syncs 997b19545b syncs: use TryLock and TryRLock instead of unsafe 4 years ago
tailcfg d8cb5aae17 tailcfg, control/controlclient: add tailcfg.PeersChangedPatch [capver 33] 3 years ago
tempfork 2b8b887d55 ssh/tailssh: send banner messages during auth, move more to conn 3 years ago
tka 393a229de9 tka: implement synchronization mechanics 3 years ago
tool 7b1a91dfd3 tool/go: accept a marker file with no line terminator 3 years ago
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 years ago
tsnet 3ac8ab1791 tsnet: add Server.AuthKey field 3 years ago
tstest 9514ed33d2 go.mod: bump gvisor.dev/gvisor 3 years ago
tstime 0e62a7d1a2 tstime/mono: fix Before function comment 4 years ago
tsweb 755396d6fe tsweb: add Float expvar support in varz 3 years ago
types 2024008667 types/key: add MachinePrecomputedSharedKey.Open 3 years ago
util 2a22ea3e83 util/deephash: generate type-specific hasher funcs 3 years ago
version 469c30c33b ipn/localapi: define a cert dir for Synology DSM6 3 years ago
wf 0868329936 all: use any instead of interface{} 4 years ago
wgengine 9514ed33d2 go.mod: bump gvisor.dev/gvisor 3 years ago
words c980bf01be words: The lists continue to drag-on. (#4780) 3 years ago
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 years ago
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder 4 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 1d33157ab9 docs/k8s: use job control in run.sh 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 f6642e0ece Makefile: add tidy target 4 years ago
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 years ago
README.md f143ff89b7 README.md: update current Go release 4 years ago
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 years ago
VERSION.txt 3c892d106c VERSION.txt: this is v1.29.0 3 years ago
api.md f7a36dfeb1 api.md: added missing quote to POST DNS Searchpaths request body example 3 years ago
build_dist.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. 4 years ago
build_docker.sh cfa484e1a2 Dockerfile: bump alpine to 3.16 3 years ago
go.mod 9514ed33d2 go.mod: bump gvisor.dev/gvisor 3 years ago
go.sum 9514ed33d2 go.mod: bump gvisor.dev/gvisor 3 years ago
go.toolchain.branch 927fc36123 go.toolchain.branch: upgrade to Go 1.18 4 years ago
go.toolchain.rev 7fb6781bda go.toolchain.rev: bump for Go 1.18.4 + runtime timer spin 3 years ago
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 years ago
shell.nix 4f6fa3d63a shell.nix: use 1.18 from system nixpkgs 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

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 only guarantee to support the latest Go release and any Go beta or release candidate builds (currently Go 1.18) in module mode. It might work in earlier Go versions or in GOPATH mode, but we're making no effort to keep those working.

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.