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

Aaron Klotz 446d03e108 scripts: update check_license_headers.sh to skip zsyscall_windows.go vor 3 Jahren
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. vor 4 Jahren
.github 97b8c4fa1b ipn/store/awsstore: add "ts_omit_aws" build tag to reduce binary size vor 3 Jahren
atomicfile df674d4189 atomicfile: don't Chmod on windows vor 5 Jahren
chirp 0868329936 all: use any instead of interface{} vor 4 Jahren
client a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
cmd 617a2ec7cc cmd/tsconnect: add Tailwind CSS support and switch to using it vor 3 Jahren
control a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
derp a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
disco a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
docs df9f3edea3 docs/k8s: add prefix to (#5167) vor 3 Jahren
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet vor 3 Jahren
health 43f9c25fd2 cmd/tailscale: surface authentication errors in status.Health (#4748) vor 3 Jahren
hostinfo 4dd799ec43 hostinfo: determine QNAP QTS version vor 3 Jahren
internal 7c671b0220 .github/workflows: add gofmt (goimports) check vor 3 Jahren
ipn 97b8c4fa1b ipn/store/awsstore: add "ts_omit_aws" build tag to reduce binary size vor 3 Jahren
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. vor 3 Jahren
kube 0868329936 all: use any instead of interface{} vor 4 Jahren
log c41837842b wasm: drop pprof dependency vor 3 Jahren
logpolicy 7fd03ad4b4 logpolicy: put QNAP logs buffer in /tmp vor 3 Jahren
logtail 96f73b3894 logtail: do not panic in PrivateID.PublicID (#4815) vor 3 Jahren
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun vor 4 Jahren
net e6e1976c3a net/dns: remove systemd-resolved ping vor 3 Jahren
packages 0868329936 all: use any instead of interface{} vor 4 Jahren
paths b005b79236 net/dns, paths, util/winutil: change net/dns/windowsManager NRPT management to support more than 50 domains. vor 3 Jahren
portlist 27a1ad6a70 wasm: exclude code that's not used on iOS for Wasm too vor 3 Jahren
prober 7c7f37342f prober: used keyed initializer for LimitedReader. vor 4 Jahren
safesocket cfe68d0a86 safesocket: log warning when running sandboxed Mac binary as root vor 3 Jahren
scripts 446d03e108 scripts: update check_license_headers.sh to skip zsyscall_windows.go vor 3 Jahren
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. vor 5 Jahren
ssh a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
syncs 997b19545b syncs: use TryLock and TryRLock instead of unsafe vor 4 Jahren
tailcfg fa2fbaf3aa tailcfg: add views for SSHRule and SSHPrincipal vor 3 Jahren
tempfork 2b8b887d55 ssh/tailssh: send banner messages during auth, move more to conn vor 3 Jahren
tka 393a229de9 tka: implement synchronization mechanics vor 3 Jahren
tool 7e4883b261 .github/workflows: add tsconnect static build to wasm GitHub action vor 3 Jahren
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to vor 4 Jahren
tsnet a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
tstest a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
tstime 0e62a7d1a2 tstime/mono: fix Before function comment vor 4 Jahren
tsweb 6a396731eb all: use various net/netip parse funcs directly vor 3 Jahren
types 51c3d74095 types/views: add BenchmarkSliceIteration vor 3 Jahren
util 04cf46a762 util/deephash: fix unexported time.Time hashing vor 3 Jahren
version 469c30c33b ipn/localapi: define a cert dir for Synology DSM6 vor 3 Jahren
wf a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
wgengine a12aad6b47 all: convert more code to use net/netip directly vor 3 Jahren
words c980bf01be words: The lists continue to drag-on. (#4780) vor 3 Jahren
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver vor 4 Jahren
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder vor 4 Jahren
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions vor 3 Jahren
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. vor 6 Jahren
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. vor 6 Jahren
Dockerfile 1d33157ab9 docs/k8s: use job control in run.sh vor 3 Jahren
Dockerfile.base cfa484e1a2 Dockerfile: bump alpine to 3.16 vor 3 Jahren
LICENSE bf6205d200 LICENSE: Reformat for Github vor 5 Jahren
Makefile f6642e0ece Makefile: add tidy target vor 4 Jahren
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. vor 6 Jahren
README.md f143ff89b7 README.md: update current Go release vor 4 Jahren
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. vor 6 Jahren
VERSION.txt 3c892d106c VERSION.txt: this is v1.29.0 vor 3 Jahren
api.md f7a36dfeb1 api.md: added missing quote to POST DNS Searchpaths request body example vor 3 Jahren
build_dist.sh 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. vor 4 Jahren
build_docker.sh cfa484e1a2 Dockerfile: bump alpine to 3.16 vor 3 Jahren
go.mod dd3e91b678 go.mod: tidy, remove inet.af/netaddr vor 3 Jahren
go.sum 7eaf5e509f net/netaddr: start migrating to net/netip via new netaddr adapter package vor 3 Jahren
go.toolchain.branch 927fc36123 go.toolchain.branch: upgrade to Go 1.18 vor 4 Jahren
go.toolchain.rev 7fb6781bda go.toolchain.rev: bump for Go 1.18.4 + runtime timer spin vor 3 Jahren
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script vor 4 Jahren
shell.nix 4f6fa3d63a shell.nix: use 1.18 from system nixpkgs vor 3 Jahren
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning vor 4 Jahren
version-embed.go 88133c361e Docker: add ALPINE.txt to manage alpine versions vor 3 Jahren

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.