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

David Anderson e7a78bc28f tool/gocross: support running from outside the repo dir 3 سال پیش
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 سال پیش
.github 60a028a4f6 .github: Bump peter-evans/create-pull-request from 4.1.4 to 4.2.4 3 سال پیش
atomicfile 71029cea2d all: update copyright and license headers 3 سال پیش
chirp 71029cea2d all: update copyright and license headers 3 سال پیش
client 5e8a80b845 all: replace /kb/ links with /s/ equivalents 3 سال پیش
cmd e1fb687104 cmd/tailscale/cli: fix inconsistency between serve text and example command 3 سال پیش
control 9526858b1e control/controlclient: fix accidental backoff reset 3 سال پیش
derp 654b5a0616 derp: add optional debug logging for prober clients 3 سال پیش
disco b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 سال پیش
docs 71029cea2d all: update copyright and license headers 3 سال پیش
doctor 71029cea2d all: update copyright and license headers 3 سال پیش
envknob be107f92d3 wgengine/magicsock: track per-endpoint changes in ringbuffer 3 سال پیش
health 2755f3843c health, net/tlsdial: add healthcheck for self-signed cert 3 سال پیش
hostinfo 49c206fe1e tailcfg,hostinfo: add App field to identify tsnet uses 3 سال پیش
internal 71029cea2d all: update copyright and license headers 3 سال پیش
ipn 97b6d3e917 sockstats: remove per-interface stats from Get 3 سال پیش
jsondb 71029cea2d all: update copyright and license headers 3 سال پیش
kube e1530cdfcc cmd/containerboot,kube: consolidate the two kube clients 3 سال پیش
licenses 51b0169b10 licenses: update win/apple licenses 3 سال پیش
log 97b6d3e917 sockstats: remove per-interface stats from Get 3 سال پیش
logpolicy a1d9f65354 ipn,log: add logger for sockstat deltas 3 سال پیش
logtail a2be1aabfa logtail: remove unncessary response read 3 سال پیش
metrics a7eab788e4 metrics: add SetInt64 to ease using LabelMap for gauge metrics 3 سال پیش
net ebc630c6c0 net/interfaces: also allow link-local for AzureAppServices. 3 سال پیش
packages 71029cea2d all: update copyright and license headers 3 سال پیش
paths 71029cea2d all: update copyright and license headers 3 سال پیش
portlist 71029cea2d all: update copyright and license headers 3 سال پیش
prober e59dc29a55 prober: log client pubkeys on derp mesh probe failures 3 سال پیش
release 311352d195 release/dist/cli: add --verbose to print subcommand output 3 سال پیش
safesocket 4441609d8f safesocket: remove the now unused WindowsLocalPort 3 سال پیش
scripts 047b324933 scripts/installer: add PureOS and Amazon Linux Next 3 سال پیش
smallzstd 71029cea2d all: update copyright and license headers 3 سال پیش
ssh ccace1f7df ssh/tailssh: fix privilege dropping on FreeBSD; add tests 3 سال پیش
syncs dad78f31f3 syncs: add WaitGroup wrapper (#7481) 3 سال پیش
tailcfg c87782ba9d cmd/k8s-operator: drop trailing dot in tagged node name 3 سال پیش
tempfork da8def8e13 all: remove old +build tags 3 سال پیش
tka 88c7d19d54 tka: compact TKA storage on startup 3 سال پیش
tool e7a78bc28f tool/gocross: support running from outside the repo dir 3 سال پیش
tsconst 71029cea2d all: update copyright and license headers 3 سال پیش
tsnet f34590d9ed tsnet: add test for Funnel connections 3 سال پیش
tstest f34590d9ed tsnet: add test for Funnel connections 3 سال پیش
tstime 87b4bbb94f tstime/rate: add Value (#7491) 3 سال پیش
tsweb 1a30b2d73f all: use tstest.Replace more 3 سال پیش
types 9ff51ca17f wgengine/netstack: add support for custom UDP flow handlers 3 سال پیش
util a75360ccd6 util: add truncate package (#7490) 3 سال پیش
version 9ebab961c9 version/mkversion: don't break on tagged go.mod entries 3 سال پیش
wf 71029cea2d all: update copyright and license headers 3 سال پیش
wgengine b0cb39cda1 tsnet: only intercept TCP flows that have listeners 3 سال پیش
words 49e2d3a7bd words: add word we forgot 3 سال پیش
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 سال پیش
.gitignore fc4b25d9fd release: open-source release build logic for unix packages 3 سال پیش
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 سال پیش
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 سال پیش
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 سال پیش
Dockerfile f9667e4946 Dockerfile: fix docker build 3 سال پیش
Dockerfile.base 71029cea2d all: update copyright and license headers 3 سال پیش
LICENSE 947c14793a all: update tools that manage copyright headers 3 سال پیش
Makefile 8b9ee7a558 Makefile: add help text to Makefile 3 سال پیش
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 سال پیش
README.md b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 سال پیش
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 سال پیش
VERSION.txt 6d3490f399 VERSION.txt: this is 1.39 3 سال پیش
api.md ef6f66bb9a api.md: refresh of API docs 3 سال پیش
build_dist.sh 82e067e0ff build_dist.sh: make cross-compilation friendly 3 سال پیش
build_docker.sh f9667e4946 Dockerfile: fix docker build 3 سال پیش
flake.lock 30e0156430 nix: update nixpkgs flake, override go_1_20 for tailscale_go (#7139) 3 سال پیش
flake.nix 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 سال پیش
go.mod 1410682fb6 cmd/sniproxy: add start of a tsnet-based SNI proxy 3 سال پیش
go.mod.sri 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 سال پیش
go.sum 1410682fb6 cmd/sniproxy: add start of a tsnet-based SNI proxy 3 سال پیش
go.toolchain.branch 623176ebc9 go.toolchain.branch: update to Go 1.20 3 سال پیش
go.toolchain.rev f4f8ed98d9 sockstats: add validation for TCP socket stats 3 سال پیش
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 سال پیش
shell.nix 5b68dcc8c1 go.mod.sri: update for toolchain change. 3 سال پیش
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 سال پیش
update-flake.sh f145c2b65b .github/workflows: add workflow to update go.mod Nix SRI hash 3 سال پیش
version-embed.go da75e49223 version: return correct Meta.MajorMinorPatch in non-dev builds 3 سال پیش
version_test.go 71029cea2d all: update copyright and license headers 3 سال پیش

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.

Other Tailscale repos of note:

For background on which parts of Tailscale are open source and why, see https://tailscale.com/opensource/.

Using

We serve packages for a variety of distros and platforms 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. The GUI wrappers on non-open source platforms are themselves not open source.

Building

We always require the latest Go release, currently Go 1.20. (While we build releases with our Go fork, its use is not required.)

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.

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.

See git log for our commit message style. It's basically the same as Go's style.

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.