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

Brad Fitzpatrick a4fd4fd845 ssh/tailssh: fix regression after LDAP support 2 năm trước cách đây
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 năm trước cách đây
.github 459744c9ea .github: mark bots for exemption by issuebot (#8041) 2 năm trước cách đây
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) 2 năm trước cách đây
chirp 71029cea2d all: update copyright and license headers 3 năm trước cách đây
client 4664318be2 client/tailscale: revert CreateKey API change, add Client.CreateKeyWithExpiry 2 năm trước cách đây
cmd 03e848e3b5 cmd/k8s-operator: add support for priorityClassName 2 năm trước cách đây
control 42fd964090 control/controlclient: use dnscache.Resolver for Noise client 2 năm trước cách đây
derp 5ae786988c derp: remove default logging of disconnecting clients (#8163) 2 năm trước cách đây
disco b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 năm trước cách đây
docs 71029cea2d all: update copyright and license headers 3 năm trước cách đây
doctor c98652c333 doctor/permissions: add new check to print process permissions 2 năm trước cách đây
envknob 73d128238e envknob: support tailscaled-env.txt on macOS too 2 năm trước cách đây
health 2755f3843c health, net/tlsdial: add healthcheck for self-signed cert 3 năm trước cách đây
hostinfo 0d7303b798 various: add detection and Taildrop for Unraid 2 năm trước cách đây
internal 280255acae various: add golangci-lint, fix issues (#7905) 2 năm trước cách đây
ipn 8d3d48e000 ipn/ipnlocal: add NodeKey func to return the public node NodeKey 2 năm trước cách đây
jsondb 71029cea2d all: update copyright and license headers 3 năm trước cách đây
kube e0d291ab8a ipn/store: add support for stores to hook into a custom dialer 2 năm trước cách đây
licenses d1ecb1f43b licenses: update win/apple licenses 2 năm trước cách đây
log 7330aa593e all: avoid repeated default interface lookups 2 năm trước cách đây
logpolicy 7330aa593e all: avoid repeated default interface lookups 2 năm trước cách đây
logtail 84c99fe0d9 logtail: be less aggressive about re-uploads (#8117) 2 năm trước cách đây
metrics a7eab788e4 metrics: add SetInt64 to ease using LabelMap for gauge metrics 3 năm trước cách đây
net da90fab899 net/netcheck: reenable TestBasic on Windows 2 năm trước cách đây
packages 71029cea2d all: update copyright and license headers 3 năm trước cách đây
paths 71029cea2d all: update copyright and license headers 3 năm trước cách đây
portlist 280255acae various: add golangci-lint, fix issues (#7905) 2 năm trước cách đây
prober 7330aa593e all: avoid repeated default interface lookups 2 năm trước cách đây
release 1ce08256c0 release/dist: add deb/rpm arch mappings for mipses 2 năm trước cách đây
safesocket f844791e15 safesocket: enable test to run on Windows unpriviliged 2 năm trước cách đây
scripts 787fc41fa4 scripts/installer.sh: check connectivity with pkgs.tailscale.com 2 năm trước cách đây
smallzstd 71029cea2d all: update copyright and license headers 3 năm trước cách đây
ssh a4fd4fd845 ssh/tailssh: fix regression after LDAP support 2 năm trước cách đây
syncs b3c3a9f174 syncs: add Map.Len to get the length of the Map 2 năm trước cách đây
tailcfg 024d48d9c1 tailcfg: bump capability version 2 năm trước cách đây
tempfork d1d5d52b2c net/tstun/table: add initial RoutingTable implementation 2 năm trước cách đây
tka 280255acae various: add golangci-lint, fix issues (#7905) 2 năm trước cách đây
tool d27a6e1c53 tool/gocross: fix incorrect relpath usage in bootstrap script 2 năm trước cách đây
tsconst 71029cea2d all: update copyright and license headers 3 năm trước cách đây
tsd 6e967446e4 tsd: add package with System type to unify subsystem init, discovery 2 năm trước cách đây
tsnet ca49b29582 tsnet: reenable TestLoopbackSOCKS5 on Windows 2 năm trước cách đây
tstest 6e967446e4 tsd: add package with System type to unify subsystem init, discovery 2 năm trước cách đây
tstime 87b4bbb94f tstime/rate: add Value (#7491) 3 năm trước cách đây
tsweb 5c38f0979e tsweb/promvarz: fix repeated expvar definition in test 2 năm trước cách đây
types f58751eb2b net/packet: add NAT support for DCCP and GRE 2 năm trước cách đây
util b69059334b util/set: add a basic map-based Set type 2 năm trước cách đây
version e8b06b2232 version: properly handle vcs.modified when it's "false" 2 năm trước cách đây
wf 71029cea2d all: update copyright and license headers 3 năm trước cách đây
wgengine 6e967446e4 tsd: add package with System type to unify subsystem init, discovery 2 năm trước cách đây
words e3cb982139 words: shell-ebrating crustacean chaos 2 năm trước cách đây
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 năm trước cách đây
.gitignore fc4b25d9fd release: open-source release build logic for unix packages 3 năm trước cách đây
.golangci.yml f85dc6f97c ci: add more lints (#7909) 2 năm trước cách đây
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 năm trước cách đây
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 năm trước cách đây
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 năm trước cách đây
Dockerfile f9667e4946 Dockerfile: fix docker build 3 năm trước cách đây
Dockerfile.base 71029cea2d all: update copyright and license headers 3 năm trước cách đây
LICENSE 947c14793a all: update tools that manage copyright headers 3 năm trước cách đây
Makefile 8b9ee7a558 Makefile: add help text to Makefile 3 năm trước cách đây
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 năm trước cách đây
README.md b1248442c3 all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 3 năm trước cách đây
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 năm trước cách đây
VERSION.txt 1145b9751d VERSION.txt: this is v1.41.0 2 năm trước cách đây
api.md 4ecc7fdf5f api.md: update example auth key value 2 năm trước cách đây
build_dist.sh 042f82ea32 build_dist.sh: make cross-compilation friendly for env CC specified 2 năm trước cách đây
build_docker.sh f9667e4946 Dockerfile: fix docker build 3 năm trước cách đây
flake.lock 30e0156430 nix: update nixpkgs flake, override go_1_20 for tailscale_go (#7139) 3 năm trước cách đây
flake.nix d1ce7a9b5e go.mod.sri: update SRI hash for go.mod changes 2 năm trước cách đây
go.mod 5def4f4a1c go.mod: bump goreleaser deps 2 năm trước cách đây
go.mod.sri d1ce7a9b5e go.mod.sri: update SRI hash for go.mod changes 2 năm trước cách đây
go.sum 5def4f4a1c go.mod: bump goreleaser deps 2 năm trước cách đây
go.toolchain.branch 623176ebc9 go.toolchain.branch: update to Go 1.20 3 năm trước cách đây
go.toolchain.rev 45138fcfba go.toolchain.rev: update for go 1.20.3 2 năm trước cách đây
pull-toolchain.sh 0e4f2bdd0c pull-toolchain.sh: don't run update-flake.sh 3 năm trước cách đây
shell.nix d1ce7a9b5e go.mod.sri: update SRI hash for go.mod changes 2 năm trước cách đây
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 năm trước cách đây
update-flake.sh f145c2b65b .github/workflows: add workflow to update go.mod Nix SRI hash 3 năm trước cách đây
version-embed.go da75e49223 version: return correct Meta.MajorMinorPatch in non-dev builds 3 năm trước cách đây
version_test.go 71029cea2d all: update copyright and license headers 3 năm trước cách đây

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.