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

James Tucker c2eff20008 ssh/tailssh: avoid user ssh configuration in tests há 3 anos atrás
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. há 4 anos atrás
.github a49d8d5200 Revert ".github/workflows: work around golang/go#51629" há 3 anos atrás
atomicfile df674d4189 atomicfile: don't Chmod on windows há 5 anos atrás
chirp 0868329936 all: use any instead of interface{} há 4 anos atrás
client 8f5e5bff1e cmd/tailscale, etc: make "tailscale up --ssh" fail fast when unavailable há 3 anos atrás
cmd 90b5f6286c cmd/tailscale: use double quotes in the ssh subcommands há 3 anos atrás
control 9f1dd716e8 tailcfg, logtail: provide Debug bit to disable logtail há 3 anos atrás
derp c8f4dfc8c0 derp/derphttp,net/netcheck: improve netcheck behavior under MITM proxies há 3 anos atrás
disco 84c3a09a8d types/key: export constants for key size, not a method. há 4 anos atrás
docs 9fa6cdf7bf fix minor typo há 4 anos atrás
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet há 3 anos atrás
health 2ff481ff10 net/dns: add health check for particular broken-ish Linux DNS config há 4 anos atrás
hostinfo 24cd26534f hostinfo, tailcfg: add desktop detection on Linux to hostinfo há 3 anos atrás
internal 700badd8f8 util/deephash: move internal/deephash to util/deephash há 4 anos atrás
ipn 7a097ccc83 ipn/ipnlocal: close peerapi listeners on LocalBackend.Shutdown há 3 anos atrás
kube 0868329936 all: use any instead of interface{} há 4 anos atrás
log 0868329936 all: use any instead of interface{} há 4 anos atrás
logpolicy 0868329936 all: use any instead of interface{} há 4 anos atrás
logtail 9f1dd716e8 tailcfg, logtail: provide Debug bit to disable logtail há 3 anos atrás
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun há 4 anos atrás
net 700bd37730 tshttpproxy: support synology proxy configuration há 3 anos atrás
packages 0868329936 all: use any instead of interface{} há 4 anos atrás
paths db85384f9c cmd/tailscaled: default to userspace-networking mode on gokrazy, set paths há 4 anos atrás
portlist 41fd4eab5c envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) há 4 anos atrás
prober 7c7f37342f prober: used keyed initializer for LimitedReader. há 4 anos atrás
safesocket 63cd581c3f safesocket: add ConnectionStrategy, provide control over fallbacks há 4 anos atrás
scripts 13f75b9667 scripts/install: add Alma Linux. há 3 anos atrás
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. há 5 anos atrás
ssh c2eff20008 ssh/tailssh: avoid user ssh configuration in tests há 3 anos atrás
syncs 997b19545b syncs: use TryLock and TryRLock instead of unsafe há 4 anos atrás
tailcfg 89832c1a95 tailcfg: fix typo in SessionDuration field name há 3 anos atrás
tempfork 2b8b887d55 ssh/tailssh: send banner messages during auth, move more to conn há 3 anos atrás
tool 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. há 4 anos atrás
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to há 4 anos atrás
tsnet a0e345dba4 tsnet: set Hostinfo.Package to "tsnet" on use há 4 anos atrás
tstest cf9b9a7fec tstest/iosdeps: add test for forbidden iOS dependencies há 3 anos atrás
tstime 0e62a7d1a2 tstime/mono: fix Before function comment há 4 anos atrás
tsweb 7b4960316b tsweb: add PrometheusVar, for vars that want to output varz themselves. há 4 anos atrás
types cc575fe4d6 net/dns: schedule DoH upgrade explicitly, fix Resolver.Addr confusion há 3 anos atrás
util 53588f632d Revert "wgengine/router,util/kmod: load & log xt_mark" há 3 anos atrás
version 1f22507c06 version: use Go 1.18's git stamping as default implementation há 4 anos atrás
wf 0868329936 all: use any instead of interface{} há 4 anos atrás
wgengine 53588f632d Revert "wgengine/router,util/kmod: load & log xt_mark" há 3 anos atrás
words 2448c000b3 words: more hamsters, less hampsters (#3938) há 4 anos atrás
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver há 4 anos atrás
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder há 4 anos atrás
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. há 6 anos atrás
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. há 6 anos atrás
Dockerfile d77b4c1344 Dockerfile: require Go 1.18 há 4 anos atrás
Dockerfile.base 138662e248 Dockerfile.base: update to alpine:3.15 há 4 anos atrás
LICENSE bf6205d200 LICENSE: Reformat for Github há 5 anos atrás
Makefile f6642e0ece Makefile: add tidy target há 4 anos atrás
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. há 6 anos atrás
README.md f143ff89b7 README.md: update current Go release há 4 anos atrás
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. há 6 anos atrás
VERSION.txt 8175504584 VERSION.txt: This is 1.23. há 4 anos atrás
api.md e014b4d970 api: update acl/validate data format (#4366) há 3 anos atrás
build_dist.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. há 4 anos atrás
build_docker.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. há 4 anos atrás
go.mod 90b5f6286c cmd/tailscale: use double quotes in the ssh subcommands há 3 anos atrás
go.sum 90b5f6286c cmd/tailscale: use double quotes in the ssh subcommands há 3 anos atrás
go.toolchain.branch 927fc36123 go.toolchain.branch: upgrade to Go 1.18 há 4 anos atrás
go.toolchain.rev d201d217df go.toolchain.rev: update to go1.18.1 (#4438) há 3 anos atrás
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script há 4 anos atrás
shell.nix 37c94c07cd shell.nix: update go toolchain há 3 anos atrás
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning há 4 anos atrás
version-embed.go ebdd25920e go.toolchain.rev: add Go toolchain rev, tool to print it out há 4 anos atrás

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.