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

phirework 5c42990c2f wgengine/magicsock: add client flag and envknob to disable heartbeat (#5638) 3 yıl önce
.bencher babd163aac bencher: add config to suppress failures on benchmark regressions. 4 yıl önce
.github 6dcc6313a6 CI: add `go mod tidy` workflow 3 yıl önce
atomicfile f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
chirp e1738ea78e chirp: add a 10s timeout when communicating with BIRD (#5444) 3 yıl önce
client f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
cmd 65c24b6334 envknob: generalize Windows tailscaled-env.txt support 3 yıl önce
control 9b71008ef2 control/controlhttp: move Dial options into options struct (#5661) 3 yıl önce
derp f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
disco 8725b14056 all: migrate more code code to net/netip directly 3 yıl önce
docs 486eecc063 Switched Secret snippet to match run.sh 3 yıl önce
envknob 65c24b6334 envknob: generalize Windows tailscaled-env.txt support 3 yıl önce
health 74674b110d envknob: support changing envknobs post-init 3 yıl önce
hostinfo f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
internal 7c671b0220 .github/workflows: add gofmt (goimports) check 3 yıl önce
ipn 65c24b6334 envknob: generalize Windows tailscaled-env.txt support 3 yıl önce
jsondb 96afd1db46 jsondb: small package to load/save JSON DBs. 3 yıl önce
kube 0868329936 all: use any instead of interface{} 4 yıl önce
licenses 3ed366ee1e licenses: update android licenses 3 yıl önce
log f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
logpolicy f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
logtail f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
metrics 94fb42d4b2 all: use testingutil.MinAllocsPerRun 4 yıl önce
net f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
packages f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
paths a9f6cd41fd all: use syncs.AtomicValue 3 yıl önce
portlist f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
prober 4950fe60bd syncs, all: move to using Go's new atomic types instead of ours 3 yıl önce
safesocket f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
scripts 1c0286e98a scripts/installer.sh: add `-y` for unattended install 3 yıl önce
smallzstd f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
ssh f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
syncs b75f81ec00 syncs: add generic AtomicValue 3 yıl önce
tailcfg 5c42990c2f wgengine/magicsock: add client flag and envknob to disable heartbeat (#5638) 3 yıl önce
tempfork f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
tka f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
tool 7e4883b261 .github/workflows: add tsconnect static build to wasm GitHub action 3 yıl önce
tsconst eccc2ac6ee net/interfaces/windows: update Tailscale interface detection logic to 4 yıl önce
tsnet f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
tstest f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
tstime 0e62a7d1a2 tstime/mono: fix Before function comment 4 yıl önce
tsweb f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
types f0347e841f refactor: move from io/ioutil to io and os packages 3 yıl önce
util f3ce1e2536 util/mak: deprecate NonNil, add type-safe NonNilSliceForJSON, NonNilMapForJSON 3 yıl önce
version 1ac4a26fee ipn/localapi: send Tailscale version in ACME User-Agent (#5499) 3 yıl önce
wf a12aad6b47 all: convert more code to use net/netip directly 3 yıl önce
wgengine 5c42990c2f wgengine/magicsock: add client flag and envknob to disable heartbeat (#5638) 3 yıl önce
words 185f2e4768 words: this title should have been a pun, but I chickened out (#5506) 3 yıl önce
.gitattributes 1813c2a162 .: add .gitattributes entry to use Go hunk-header driver 4 yıl önce
.gitignore 0ada42684b Makefile: update make spk target to use the new go spk builder 4 yıl önce
ALPINE.txt 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 yıl önce
AUTHORS a8d8b8719a Move Linux client & common packages into a public repo. 6 yıl önce
CODE_OF_CONDUCT.md 452b81d56b Add a code of conduct. 6 yıl önce
Dockerfile 5623ef0271 Update Dockerfile to use golang:1.19-alpine 3 yıl önce
Dockerfile.base cfa484e1a2 Dockerfile: bump alpine to 3.16 3 yıl önce
LICENSE bf6205d200 LICENSE: Reformat for Github 5 yıl önce
Makefile c3270af52b Makefile: add target for wasm and make it part of check 3 yıl önce
PATENTS a8d8b8719a Move Linux client & common packages into a public repo. 6 yıl önce
README.md e1309e1323 all: require Go 1.19 3 yıl önce
SECURITY.md e59605595e Add a SECURITY.md for vulnerability reports. 6 yıl önce
VERSION.txt 53e08bd7ea VERSION.txt: this is 1.31 3 yıl önce
api.md f7a36dfeb1 api.md: added missing quote to POST DNS Searchpaths request body example 3 yıl önce
build_dist.sh d5fb852718 build_dist.sh: add --box and --extra-small flag to produce smaller and boxed binaries 3 yıl önce
build_docker.sh cfa484e1a2 Dockerfile: bump alpine to 3.16 3 yıl önce
go.mod 56f6fe204b go.mod, wgengine/wgint: bump wireguard-go 3 yıl önce
go.sum 56f6fe204b go.mod, wgengine/wgint: bump wireguard-go 3 yıl önce
go.toolchain.branch e5176f572e go.toolchain.rev: switch to Go 1.19rc2+ 3 yıl önce
go.toolchain.rev 2266b59446 go.toolchain.rev: bump to Go 1.19.1 3 yıl önce
pull-toolchain.sh 408522ddad go.toolchain.rev: add update script 4 yıl önce
shell.nix 7a74466998 shell.nix: update Go toolchain to 1.19 3 yıl önce
staticcheck.conf ece138ffc3 staticcheck.conf: remove unnecessary warning 4 yıl önce
version-embed.go 88133c361e Docker: add ALPINE.txt to manage alpine versions 3 yıl önce
version_test.go 4bda41e701 Dockerfile: add test that build-env Alpine version matches go.mod 3 yıl önce

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.

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.