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

James Tucker 1aa75b1c9e wgengine/netstack: always set TCP keepalive 3 years ago
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 years ago
.github a49d8d5200 Revert ".github/workflows: work around golang/go#51629" 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 3601b43530 ipn: add IPCVersion override func 3 years ago
cmd c88506caa6 ipn/ipnlocal: add Wake-on-LAN function to peerapi 3 years ago
control adcb7e59d2 control/controlclient: fix log print with always-empty key 3 years ago
derp c8f4dfc8c0 derp/derphttp,net/netcheck: improve netcheck behavior under MITM proxies 3 years ago
disco 84c3a09a8d types/key: export constants for key size, not a method. 4 years ago
docs 9fa6cdf7bf fix minor typo 4 years ago
envknob 8b81254992 ipn/ipnlocal: reject tailscale up --ssh if disabled on tailnet 3 years ago
health 2ff481ff10 net/dns: add health check for particular broken-ish Linux DNS config 4 years ago
hostinfo 24cd26534f hostinfo, tailcfg: add desktop detection on Linux to hostinfo 3 years ago
internal 700badd8f8 util/deephash: move internal/deephash to util/deephash 4 years ago
ipn c88506caa6 ipn/ipnlocal: add Wake-on-LAN function to peerapi 3 years ago
kube 0868329936 all: use any instead of interface{} 4 years ago
log 0868329936 all: use any instead of interface{} 4 years ago
logpolicy 0868329936 all: use any instead of interface{} 4 years ago
logtail 9f1dd716e8 tailcfg, logtail: provide Debug bit to disable logtail 3 years ago
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun 4 years ago
net c6c752cf64 net/tshttpproxy: fix typo 3 years ago
packages 0868329936 all: use any instead of interface{} 4 years ago
paths db85384f9c cmd/tailscaled: default to userspace-networking mode on gokrazy, set paths 4 years ago
portlist 41fd4eab5c envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) 4 years ago
prober 7c7f37342f prober: used keyed initializer for LimitedReader. 4 years ago
safesocket 21413392cf safesocket: fix CLI on standalone mac GUI build 3 years ago
scripts 13f75b9667 scripts/install: add Alma Linux. 3 years ago
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. 5 years ago
ssh 910ae68e0b util/mak: move tailssh's mapSet into a new package for reuse elsewhere 3 years ago
syncs 997b19545b syncs: use TryLock and TryRLock instead of unsafe 4 years ago
tailcfg c88506caa6 ipn/ipnlocal: add Wake-on-LAN function to peerapi 3 years ago
tempfork 2b8b887d55 ssh/tailssh: send banner messages during auth, move more to conn 3 years ago
tool 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. 4 years ago
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 years ago
tsnet bbca2c78cb tsnet: fix mem.Store check for normal nodes 3 years ago
tstest cf9b9a7fec tstest/iosdeps: add test for forbidden iOS dependencies 3 years ago
tstime 0e62a7d1a2 tstime/mono: fix Before function comment 4 years ago
tsweb 7b4960316b tsweb: add PrometheusVar, for vars that want to output varz themselves. 4 years ago
types cc575fe4d6 net/dns: schedule DoH upgrade explicitly, fix Resolver.Addr confusion 3 years ago
util 910ae68e0b util/mak: move tailssh's mapSet into a new package for reuse elsewhere 3 years ago
version 1f22507c06 version: use Go 1.18's git stamping as default implementation 4 years ago
wf 0868329936 all: use any instead of interface{} 4 years ago
wgengine 1aa75b1c9e wgengine/netstack: always set TCP keepalive 3 years ago
words 2448c000b3 words: more hamsters, less hampsters (#3938) 4 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
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 d77b4c1344 Dockerfile: require Go 1.18 4 years ago
Dockerfile.base 138662e248 Dockerfile.base: update to alpine:3.15 4 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 d819bb3bb0 VERSION.txt: This is 1.25.0 3 years ago
api.md e014b4d970 api: update acl/validate data format (#4366) 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 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version. 4 years ago
go.mod c88506caa6 ipn/ipnlocal: add Wake-on-LAN function to peerapi 3 years ago
go.sum c88506caa6 ipn/ipnlocal: add Wake-on-LAN function to peerapi 3 years ago
go.toolchain.branch 927fc36123 go.toolchain.branch: upgrade to Go 1.18 4 years ago
go.toolchain.rev d201d217df go.toolchain.rev: update to go1.18.1 (#4438) 3 years ago
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 years ago
shell.nix 37c94c07cd shell.nix: update go toolchain 3 years ago
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 years ago
version-embed.go ebdd25920e go.toolchain.rev: add Go toolchain rev, tool to print it out 4 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.