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

Brad Fitzpatrick da601c23e1 ipn/ipnlocal: add missing place where we set the SSH atomic před 3 roky
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. před 4 roky
.github a49d8d5200 Revert ".github/workflows: work around golang/go#51629" před 3 roky
atomicfile df674d4189 atomicfile: don't Chmod on windows před 5 roky
chirp 0868329936 all: use any instead of interface{} před 4 roky
client c4f06ef7be client/tailscale: fix ExpandSNIName on non-default LocalClient před 3 roky
cmd 4bb7440094 cmd/tailscaled: use --statedir as documented před 3 roky
control c60cbca371 control/controlclient: store netinfo and hostinfo separately před 3 roky
derp f9e86e64b7 *: use WireGuard where logged, printed or named před 3 roky
disco 84c3a09a8d types/key: export constants for key size, not a method. před 4 roky
docs 9fa6cdf7bf fix minor typo před 4 roky
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet před 3 roky
health 2ff481ff10 net/dns: add health check for particular broken-ish Linux DNS config před 4 roky
hostinfo 24cd26534f hostinfo, tailcfg: add desktop detection on Linux to hostinfo před 3 roky
internal 700badd8f8 util/deephash: move internal/deephash to util/deephash před 4 roky
ipn da601c23e1 ipn/ipnlocal: add missing place where we set the SSH atomic před 3 roky
kube 0868329936 all: use any instead of interface{} před 4 roky
log 0868329936 all: use any instead of interface{} před 4 roky
logpolicy 0868329936 all: use any instead of interface{} před 4 roky
logtail 9f1dd716e8 tailcfg, logtail: provide Debug bit to disable logtail před 3 roky
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun před 4 roky
net 86069874c9 net/tstun, wgengine: use correct type for counter metrics před 3 roky
packages 0868329936 all: use any instead of interface{} před 4 roky
paths db85384f9c cmd/tailscaled: default to userspace-networking mode on gokrazy, set paths před 4 roky
portlist 41fd4eab5c envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) před 4 roky
prober 7c7f37342f prober: used keyed initializer for LimitedReader. před 4 roky
safesocket cfe68d0a86 safesocket: log warning when running sandboxed Mac binary as root před 3 roky
scripts 13f75b9667 scripts/install: add Alma Linux. před 3 roky
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. před 5 roky
ssh 5cd56fe8d5 ssh/tailssh: exec into `login` when launching a shell před 3 roky
syncs 997b19545b syncs: use TryLock and TryRLock instead of unsafe před 4 roky
tailcfg d04afc697c cmd/viewer,types/views: add support for views of maps před 3 roky
tempfork 2b8b887d55 ssh/tailssh: send banner messages during auth, move more to conn před 3 roky
tool 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. před 4 roky
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to před 4 roky
tsnet 7f45734663 assorted: documentation and readability fixes před 3 roky
tstest 741ae9956e tstest/integration/vms: use hujson.Standardize instead of hujson.Unmarshal (#4520) před 3 roky
tstime 0e62a7d1a2 tstime/mono: fix Before function comment před 4 roky
tsweb e1c1d47991 tsweb: memoize the string forms of HTTP response codes. před 3 roky
types 6dae9e47f9 types/views: remove alloc in hot path před 3 roky
util dd5548771e util/clientmetric: add gauge_ name prefix when uploading names před 3 roky
version 1f22507c06 version: use Go 1.18's git stamping as default implementation před 4 roky
wf 0868329936 all: use any instead of interface{} před 4 roky
wgengine 9343967317 wgengine/filter: preallocate some hot slices in MatchesFromFilterRules (#4672) před 3 roky
words 7ee3068f9d words: after a Series of discussions, Bees should be included (#4606) před 3 roky
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver před 4 roky
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder před 4 roky
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. před 6 roky
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. před 6 roky
Dockerfile d77b4c1344 Dockerfile: require Go 1.18 před 4 roky
Dockerfile.base 138662e248 Dockerfile.base: update to alpine:3.15 před 4 roky
LICENSE bf6205d200 LICENSE: Reformat for Github před 5 roky
Makefile f6642e0ece Makefile: add tidy target před 4 roky
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. před 6 roky
README.md f143ff89b7 README.md: update current Go release před 4 roky
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. před 6 roky
VERSION.txt d819bb3bb0 VERSION.txt: This is 1.25.0 před 3 roky
api.md 46cb9d98a3 api.md: update GET tailnet key detail docs to show preauthorized, tags před 3 roky
build_dist.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. před 4 roky
build_docker.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. před 4 roky
go.mod 87b44aa311 go.mod: bump golang.org/x/sys for CVE-2022-29526 před 3 roky
go.sum 87b44aa311 go.mod: bump golang.org/x/sys for CVE-2022-29526 před 3 roky
go.toolchain.branch 927fc36123 go.toolchain.branch: upgrade to Go 1.18 před 4 roky
go.toolchain.rev 4c75605e23 go.toolchain.rev: bump Tailscale Go toolchain před 3 roky
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script před 4 roky
shell.nix 37c94c07cd shell.nix: update go toolchain před 3 roky
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning před 4 roky
version-embed.go ebdd25920e go.toolchain.rev: add Go toolchain rev, tool to print it out před 4 roky

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.