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

Andrew Lytvynov 955e2fcbfb ipn/ipnlocal: run "tailscale update" via systemd-run on Linux (#10229) 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 1a143963ec appc: prevent duplication of wildcard entries on map updates 2 سال پیش
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) 2 سال پیش
chirp 71029cea2d all: update copyright and license headers 3 سال پیش
client c9bfb7c683 client/web: add Tailscale SSH view 2 سال پیش
clientupdate 955e2fcbfb ipn/ipnlocal: run "tailscale update" via systemd-run on Linux (#10229) 2 سال پیش
cmd 90a0aafdca cmd/tailscale: warn if app-connector is enabled without ip forwarding 2 سال پیش
control e848736927 control/controlknobs,wgengine/magicsock: implement SilentDisco toggle (#10195) 2 سال پیش
derp ef6a6e94f1 derp/derphttp: use a getter method to read server key 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 2 سال پیش
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 955e2fcbfb ipn/ipnlocal: run "tailscale update" via systemd-run on Linux (#10229) 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 a97ead9ce4 licenses: update win/apple 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 d852c616c6 logtail: fix Logger.Write return result 2 سال پیش
metrics 18b2638b07 metrics: add missing comma in histogram JSON export 2 سال پیش
net 12d5c99b04 client/tailscale,ipn/{ipnlocal,localapi}: check UDP GRO config (#10071) 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 fe7f7bff4f posture: ignore not found serial errors 2 سال پیش
prober 96a80fcce3 Add support for custom DERP port in TLS prober 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 53c4adc982 ssh/tailssh: add envknobs to force override forwarding, sftp, pty 2 سال پیش
syncs 674beabc73 syncs: add Map.LoadFunc (#9869) 2 سال پیش
tailcfg e848736927 control/controlknobs,wgengine/magicsock: implement SilentDisco toggle (#10195) 2 سال پیش
taildrop 975c5f7684 taildrop: lazily perform full deletion scan after first taildrop use (#10137) 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 d36a0d42aa tsnet: check a bit harder for https in Server.ListenFunnel 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 46fd488a6d types/dnstype: update the usage documentation on dnstype.Resolver 2 سال پیش
util 1fc1077052 ssh/tailssh,util: extract new osuser package from ssh code (#10170) 2 سال پیش
version d3bc575f35 cmd/tailscale/cli: set Sparkle auto-update on macsys (#9952) 2 سال پیش
wf 71029cea2d all: update copyright and license headers 3 سال پیش
wgengine c99488ea19 wgengine/magicsock: fix typo in endpoint.sendDiscoPing() docs (#10232) 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 8dc6de6f58 go.mod.sri: update SRI hash for go.mod changes 2 سال پیش
go.mod ce46d92ed2 go.{mod,sum}: update inet.af/tcpproxy to fix flaking test 2 سال پیش
go.mod.sri 8dc6de6f58 go.mod.sri: update SRI hash for go.mod changes 2 سال پیش
go.sum ce46d92ed2 go.{mod,sum}: update inet.af/tcpproxy to fix flaking test 2 سال پیش
go.toolchain.branch fbacc0bd39 go.toolchain: switch to tailscale.go1.21 (#8415) 2 سال پیش
go.toolchain.rev 6cce5fe001 go.toolchain.rev: bump to Go 1.21.4 (#10189) 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 8dc6de6f58 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.