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

Brad Fitzpatrick 56f7da0cfd ssh/tailssh: set default Tailscale SSH $PATH for non-interactive commands 3 lat temu
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 lat temu
.github 9c67395334 feat(build): add support on Loongnix-Server (loong64) (#6233) 3 lat temu
atomicfile f0347e841f refactor: move from io/ioutil to io and os packages 3 lat temu
chirp d4811f11a0 all: fix spelling mistakes 3 lat temu
client c0fcab01ac client/tailscale: fix request object for key creation. 3 lat temu
cmd 3a5fc233aa cmd/k8s-operator: use oauth credentials for API access. 3 lat temu
control 197a4f1ae8 types/ptr: move all the ptrTo funcs to one new package's ptr.To 3 lat temu
derp 6cc6c70d70 derp: prevent concurrent access to multiForwarder map 3 lat temu
disco 33520920c3 all: use strs.CutPrefix and strs.CutSuffix more 3 lat temu
docs a6dff4fb74 docs/webhooks: use subtle.ConstantTimeCompare for comparing signatures 3 lat temu
doctor b1867457a6 doctor: add package for running in-depth healthchecks; use in bugreport (#5413) 3 lat temu
envknob 0cb2ccce7f safesocket: remove the IPN protocol support 3 lat temu
health 659e7837c6 health, ipn/ipnlocal: when -no-logs-no-support is enabled, deny access to tailnets that have network logging enabled 3 lat temu
hostinfo 197a4f1ae8 types/ptr: move all the ptrTo funcs to one new package's ptr.To 3 lat temu
internal da8def8e13 all: remove old +build tags 3 lat temu
ipn bd2995c14b ipn/ipnlocal: simplify redactErr (#6716) 3 lat temu
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. 3 lat temu
kube af966391c7 kube: handle 201 as a valid status code. 3 lat temu
licenses ab4992e10d licenses: update win/apple licenses 3 lat temu
log da8def8e13 all: remove old +build tags 3 lat temu
logpolicy d4811f11a0 all: fix spelling mistakes 3 lat temu
logtail 35c10373b5 types/logid: move logtail ID types here (#6336) 3 lat temu
metrics db2cc393af util/dirwalk, metrics, portlist: add new package for fast directory walking 3 lat temu
net 55b24009f7 net/tstun: don't return early from a partial tun.Read() (#6745) 3 lat temu
packages f0347e841f refactor: move from io/ioutil to io and os packages 3 lat temu
paths 7c4d017636 paths: set QNAP socket to /tmp. 3 lat temu
portlist b5299d7d0e portlist: wait for lsof cmd to exit 3 lat temu
prober 06b55ab50f prober: fix test flake 3 lat temu
safesocket adc302f428 all: use named pipes on windows 3 lat temu
scripts 446057d613 scripts/installer.sh: add Nobara Linux. 3 lat temu
smallzstd f0347e841f refactor: move from io/ioutil to io and os packages 3 lat temu
ssh 56f7da0cfd ssh/tailssh: set default Tailscale SSH $PATH for non-interactive commands 3 lat temu
syncs 9a05cdd2b5 syncs: add Map (#6260) 3 lat temu
tailcfg f1ab11e961 ipn/ipnlocal,tailcfg: introduce capability to gate TKA init paths 3 lat temu
tempfork da8def8e13 all: remove old +build tags 3 lat temu
tka 45042a76cd cmd/tailscale,ipn: store disallowed TKA's in prefs, lock local-disable 3 lat temu
tool d60f7fe33f cmd/tsconnect: run wasm-opt on the generated wasm file 3 lat temu
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 lat temu
tsnet ea5ee6f87c all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 3 lat temu
tstest ea5ee6f87c all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 3 lat temu
tstime ec1e67b1ab tstime: fix ParseDuration for '6' digit (#6363) 3 lat temu
tsweb f053f16460 tsweb: export version metrics to Prometheus 3 lat temu
types ea5ee6f87c all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 3 lat temu
util 350aab05e5 util/multierr: optimize New for nil cases (#6750) 3 lat temu
version b9dd3fa534 paths, version/distro: detect Synology DSM version better, use for socket path 3 lat temu
wf da8def8e13 all: remove old +build tags 3 lat temu
wgengine 44be59c15a wgengine/magicsock: fix panic in wireguard-go rate limiting path 3 lat temu
words d6021ae71c words: hybrid theory (#6404) 3 lat temu
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 lat temu
.gitignore e567902aa9 gitignore: ignore direnv nix-shell environment cache (#6520) 3 lat temu
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 lat temu
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 lat temu
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 lat temu
Dockerfile 76904b82e7 cmd/containerboot: PID1 for running tailscaled in a container. 3 lat temu
Dockerfile.base cfa484e1a2 Dockerfile: bump alpine to 3.16 3 lat temu
LICENSE bf6205d200 LICENSE: Reformat for Github 5 lat temu
Makefile d81a2b2ce2 Makefile: add a target for doing dev builds of the k8s operator. 3 lat temu
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 lat temu
README.md 256ba62e00 README.md: add commit message style bit 3 lat temu
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 lat temu
VERSION.txt c933b8882c VERSION.txt: this is v1.35.0 3 lat temu
api.md 3f16dec1bb api.md: change "admin panel" to "admin console" 3 lat temu
build_dist.sh c2d7940ec0 cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP 3 lat temu
build_docker.sh d81a2b2ce2 Makefile: add a target for doing dev builds of the k8s operator. 3 lat temu
go.mod 3a5fc233aa cmd/k8s-operator: use oauth credentials for API access. 3 lat temu
go.sum bc8f5a7734 cmd/k8s-operator: add a basic unit test. 3 lat temu
go.toolchain.branch e5176f572e go.toolchain.rev: switch to Go 1.19rc2+ 3 lat temu
go.toolchain.rev 7714261566 go.toolchain.rev: update to Go 1.19.2 3 lat temu
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 lat temu
shell.nix 527741d41f shell.nix: add graphviz 3 lat temu
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 lat temu
version-embed.go 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 lat temu
version_test.go 4bda41e701 Dockerfile: add test that build-env Alpine version matches go.mod 3 lat temu

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 require the latest Go release, currently Go 1.19.

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.