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

Brad Fitzpatrick 673ff2cb0b util/groupmember: fail earlier if group doesn't exist, use slices.Contains пре 2 година
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. пре 4 година
.github b1a0caf056 .github: Bump actions/checkout from 3 to 4 пре 2 година
appc 6ad54fed00 appc,ipn/ipnlocal: add App Connector domain configuration from mapcap пре 2 година
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) пре 2 година
chirp 71029cea2d all: update copyright and license headers пре 3 година
client 7a725bb4f0 client/web: move more session logic to auth.go пре 2 година
clientupdate 7f16e000c9 clientupdate: clarify how to run update as Administrator on Windows (#10043) пре 2 година
cmd 6ad54fed00 appc,ipn/ipnlocal: add App Connector domain configuration from mapcap пре 2 година
control 5347e6a292 control/controlclient: support certstore without cgo пре 2 година
derp c3313133b9 derp/derphttp: close DERP client to avoid data race in test пре 2 година
disco 893bdd729c disco,net/tstun,wgengine/magicsock: probe peer MTU пре 2 година
docs f53c3be07c cmd/k8s-operator: use our own container image instead of busybox пре 2 година
doctor c98652c333 doctor/permissions: add new check to print process permissions пре 3 година
envknob a61caea911 tailcfg: define a type for NodeCapability пре 2 година
health dc7aa98b76 all: use set.Set consistently instead of map[T]struct{} пре 2 година
hostinfo 01604c06d2 hostinfo: fix a couple of logic simplification lints пре 2 година
internal 280255acae various: add golangci-lint, fix issues (#7905) пре 2 година
ipn 228a82f178 ipn/ipnlocal,tailcfg: add AppConnector service to HostInfo when configured пре 2 година
jsondb 71029cea2d all: update copyright and license headers пре 3 година
kube c919ff540f cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating пре 2 година
licenses e94d345e26 licenses: update android licenses пре 2 година
log 239ad57446 tailcfg: move LogHeapPprof from Debug to c2n [capver 69] пре 2 година
logpolicy e3d6236606 winutil: refactor methods to get values from registry to also return (#9536) пре 2 година
logtail d61494db68 adjust build tags for tamago пре 2 година
metrics 18b2638b07 metrics: add missing comma in histogram JSON export пре 2 година
net b48b7d82d0 appc,ipn/ipnlocal,net/dns/resolver: add App Connector wiring when enabled in prefs пре 2 година
packages eb6883bb5a go.mod: upgrade nfpm to v2 (#8786) пре 2 година
paths 6fd1961cd7 safesocket, paths: add Plan 9 support пре 2 година
portlist 52e4f24c58 portlist: populate Pid field on Linux пре 2 година
posture d0b8bdf8f7 posture: add get serial support for macOS пре 2 година
prober f314fa4a4a prober: fix data race when altering derpmap (#8397) пре 2 година
proxymap 3d37328af6 wgengine, proxymap: split out port mapping from Engine to new type пре 2 година
release e499a6bae8 release/dist/unixpkgs: revert iptables move to Recommends, make it Depends пре 2 година
safesocket b4be4f089f safesocket: make clear which net.Conns are winio types пре 2 година
scripts 535db01b3f scripts/installer: add Kaisen, Garuda, Fedora-Asahi. пре 2 година
smallzstd 71029cea2d all: update copyright and license headers пре 3 година
ssh b775a3799e util/httpm, all: add a test to make sure httpm is used consistently пре 2 година
syncs 674beabc73 syncs: add Map.LoadFunc (#9869) пре 2 година
tailcfg 228a82f178 ipn/ipnlocal,tailcfg: add AppConnector service to HostInfo when configured пре 2 година
taildrop 6ada33db77 taildrop: fix theoretical race condition in fileDeleter.Init (#9876) пре 2 година
tempfork e8551d6b40 all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} пре 2 година
tka dc7aa98b76 all: use set.Set consistently instead of map[T]struct{} пре 2 година
tool 452f900589 tool: download helm CLI (#9981) пре 2 година
tsconst 71029cea2d all: update copyright and license headers пре 3 година
tsd 18bd98d35b cmd/tailscaled,*: add start of configuration file support пре 2 година
tsnet 89953b015b ipn/ipnlocal,client/web: add web client to tailscaled пре 2 година
tstest e9de59a315 tstest/deptest: fix minor escaping error in regex пре 2 година
tstime 1a78f240b5 tstime: add DefaultClock (#9691) пре 2 година
tsweb 5ee349e075 tsweb/varz: fix exporting histograms пре 2 година
types df4b730438 types/appctype: define the nodeAttrs type for dns-driven app connectors пре 2 година
util 673ff2cb0b util/groupmember: fail earlier if group doesn't exist, use slices.Contains пре 2 година
version d3bc575f35 cmd/tailscale/cli: set Sparkle auto-update on macsys (#9952) пре 2 година
wf 71029cea2d all: update copyright and license headers пре 3 година
wgengine d0f2c0664b wgengine/netstack: standardize var names in UpdateNetstackIPs пре 2 година
words d62af8e643 words: flappy birds, but real life пре 2 година
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver пре 4 година
.gitignore d74c771fda client/web: always use new web client; remove old client пре 2 година
.golangci.yml f85dc6f97c ci: add more lints (#7909) пре 2 година
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions пре 3 година
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. пре 6 година
CODEOWNERS 0913ec023b CODEOWNERS: add the start of an owners file пре 2 година
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. пре 6 година
Dockerfile 66f27c4beb all: require Go 1.21 пре 2 година
Dockerfile.base 1302295299 Dockerfile.base: install iputils пре 2 година
LICENSE 947c14793a all: update tools that manage copyright headers пре 3 година
Makefile 35ad2aafe3 Makefile: make it possibe to pass a custom tag when building dev images (#9461) пре 2 година
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. пре 6 година
README.md 652f77d236 client/web: switch to using prebuilt web client assets пре 2 година
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. пре 6 година
VERSION.txt fde2ba5bb3 VERSION.txt: this is v1.53.0 (#10018) пре 2 година
api.md b7988b3825 api.md: remove clientConnectivity.derp field пре 2 година
build_dist.sh 652f77d236 client/web: switch to using prebuilt web client assets пре 2 година
build_docker.sh f9667e4946 Dockerfile: fix docker build пре 3 година
flake.lock fe91160775 flake.nix: use Go 1.21 to build tailscale flake пре 2 година
flake.nix 0d86eb9da5 go.mod.sri: update SRI hash for go.mod changes пре 2 година
go.mod 535cb6c3f5 build(deps): bump github.com/docker/docker пре 2 година
go.mod.sri 0d86eb9da5 go.mod.sri: update SRI hash for go.mod changes пре 2 година
go.sum 535cb6c3f5 build(deps): bump github.com/docker/docker пре 2 година
go.toolchain.branch fbacc0bd39 go.toolchain: switch to tailscale.go1.21 (#8415) пре 2 година
go.toolchain.rev e87862bce3 go.toolchain.rev: bump Tailscale Go toolchain пре 2 година
gomod_test.go aae1a28a2b go.mod: add test that replace directives aren't added in oss пре 2 година
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh пре 3 година
shell.nix 0d86eb9da5 go.mod.sri: update SRI hash for go.mod changes пре 2 година
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.21. (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.