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

Josh Bleecher Snyder 0c038b477f logtail: add a re-usable buffer for uploads 4 years ago
.github dde8e28f00 disable vm tests on every commit to main 4 years ago
atomicfile df674d4189 atomicfile: don't Chmod on windows 5 years ago
client 506c2fe8e2 cmd/tailscale: make netcheck use active DERP map, delete static copy 4 years ago
cmd 8ab44b339e net/tstun: use unix.Ifreq type for Linux TAP interface configuration 4 years ago
control a5da4ed981 all: gofmt with Go 1.17 4 years ago
derp fd7b738e5b derp: use pad32 package for padding, reduce duplication 4 years ago
disco a5da4ed981 all: gofmt with Go 1.17 4 years ago
health 9d542e08e2 wgengine/magicsock: always run ReceiveIPv6 4 years ago
hostinfo 26c1183941 hostinfo: add fly.io detection 4 years ago
internal 700badd8f8 util/deephash: move internal/deephash to util/deephash 4 years ago
ipn a24cee0d67 all: simplify ts_macext build tags 4 years ago
log 420838f90e log/filelogger: move our Windows disk file writing+rotation package here 5 years ago
logpolicy eab80e3877 logpolicy: only log panics when running under systemd 4 years ago
logtail 0c038b477f logtail: add a re-usable buffer for uploads 4 years ago
metrics f267a7396f metrics: add LabelMap.GetFloat 5 years ago
net 8ab44b339e net/tstun: use unix.Ifreq type for Linux TAP interface configuration 4 years ago
packages 8236464252 packages/deb: add package to extract metadata from .deb files. 4 years ago
paths a5da4ed981 all: gofmt with Go 1.17 4 years ago
portlist 6da6d47a83 all: simplify build tags involving iOS 4 years ago
safesocket a5da4ed981 all: gofmt with Go 1.17 4 years ago
scripts 4d19db7c9f scripts/installer: work on Oracle Linux (#2604) 4 years ago
smallzstd 9cd4e65191 smallzstd: new package that constructs zstd small encoders/decoders. 5 years ago
syncs d2aa144dcc syncs: bump known good version to include Go 1.17 4 years ago
tailcfg 360223fccb types/dnstype: introduce new package for Resolver 4 years ago
tempfork a5da4ed981 all: gofmt with Go 1.17 4 years ago
tsconst 8f5b52e571 net/netns: add windows support. 5 years ago
tsnet 0796c53404 tsnet: add AuthKey support. 4 years ago
tstest a5da4ed981 all: gofmt with Go 1.17 4 years ago
tstime f013960d87 tstime/mono: make json.Unmarshal of a zero time.Time yield a zero Time 4 years ago
tsweb c6740da624 tsweb: make VarzHandler support untyped expvar.Maps for compatibility 4 years ago
types 360223fccb types/dnstype: introduce new package for Resolver 4 years ago
util 360223fccb types/dnstype: introduce new package for Resolver 4 years ago
version 6da6d47a83 all: simplify build tags involving iOS 4 years ago
wf 2919b3e3e6 wf: loopback condition should use MatchTypeFlagsAllSet. 4 years ago
wgengine 39610aeb09 wgengine/magicsock: move debug knobs to their own file, compile out on iOS 4 years ago
words 954867fef5 words: fix parser to handle missing newline at end 4 years ago
.gitattributes bec17d05cb .gitattributes: add a smudge filter for go.mod. 6 years ago
.gitignore dad10fee9c Revert "cmd/tailscaled: split package main into main shim + package" 5 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 98d557dd24 Dockerfile: use alpine:3.14 4 years ago
LICENSE bf6205d200 LICENSE: Reformat for Github 5 years ago
Makefile a038e8690c wgengine/netstack: fix 32-bit build broken from prior commit 5 years ago
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 years ago
README.md 86d3a6c9a6 Switch to Go 1.16. 5 years ago
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 years ago
VERSION.txt bf7ad05230 VERSION.txt: this is v1.13.0. 4 years ago
api.md 64ee6cf64b api.md: update preview example 4 years ago
build_dist.sh dfb1385fcc build_dist.sh: add a command to output the shell vars. 4 years ago
build_docker.sh 9288e0d61c build_docker.sh: use build_dist.sh to inject version information 4 years ago
go.mod 8ab44b339e net/tstun: use unix.Ifreq type for Linux TAP interface configuration 4 years ago
go.sum 8ab44b339e net/tstun: use unix.Ifreq type for Linux TAP interface configuration 4 years ago
shell.nix 70f14af21e add nix-shell boilerplate (#1028) 5 years ago
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 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 primarily on Linux; it also works to varying degrees on FreeBSD, OpenBSD, Darwin, and Windows.

The Android app is at https://github.com/tailscale/tailscale-android

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.16) 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.