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

Marwan Sulaiman 2dc0645368 ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 2 лет назад
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 лет назад
.github 33147c4591 .github: build gocross using regular GOPROXY settings 2 лет назад
appc 245ddb157b appc: fix DomainRoutes copy 2 лет назад
atomicfile 280255acae various: add golangci-lint, fix issues (#7905) 2 лет назад
chirp 71029cea2d all: update copyright and license headers 3 лет назад
client e75be017e4 client/web: add exit node selector 2 лет назад
clientupdate c3f1bd4c0a clientupdate: fix auto-update on Windows over RDP (#10242) 2 лет назад
cmd 2dc0645368 ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 2 лет назад
control fb829ea7f1 control/controlclient: support incremental packet filter updates [capver 81] 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 4d196c12d9 health: don't report a warning in DERP homeless mode 2 лет назад
hostinfo 01604c06d2 hostinfo: fix a couple of logic simplification lints 2 лет назад
internal 280255acae various: add golangci-lint, fix issues (#7905) 2 лет назад
ipn 2dc0645368 ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 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 0e27ec2cd9 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 d852c616c6 logtail: fix Logger.Write return result 2 лет назад
metrics 18b2638b07 metrics: add missing comma in histogram JSON export 2 лет назад
net e33bc64cff net/dnsfallback: add singleflight to recursive resolver 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 05d4210dbe adjust build tags for tamago 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 719ee4415e ssh/tailssh: use control server time instead of local time 2 лет назад
syncs 674beabc73 syncs: add Map.LoadFunc (#9869) 2 лет назад
tailcfg fb829ea7f1 control/controlclient: support incremental packet filter updates [capver 81] 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 5aa22ff3eb tsnet: add option to run integrated web client 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 2dc0645368 ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 2 лет назад
util b8a2aedccd util/syspolicy: add caching handler (#10288) 2 лет назад
version d3bc575f35 cmd/tailscale/cli: set Sparkle auto-update on macsys (#9952) 2 лет назад
wf 71029cea2d all: update copyright and license headers 3 лет назад
wgengine 4d196c12d9 health: don't report a warning in DERP homeless mode 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 a40e918d63 VERSION.txt: this is v1.55.0 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 a3c11b87c6 go.mod.sri: update SRI hash for go.mod changes 2 лет назад
go.mod 146c4bacde go.mod: update web-client-prebuilt module 2 лет назад
go.mod.sri a3c11b87c6 go.mod.sri: update SRI hash for go.mod changes 2 лет назад
go.sum 146c4bacde go.mod: update web-client-prebuilt module 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 a3c11b87c6 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.