The easiest, most secure way to use WireGuard and 2FA.
Go to file
Brad Fitzpatrick d06ceffd02 wgengine/magicsock: add disabled failing (deadlocking) test for #1282
The fix can make this test run unconditionally.

This moves code from 5c619882bc for
testability but doesn't fix it yet. The #1282 problem remains (when I
wrote its wake-up mechanism, I forgot there were N DERP readers
funneling into 1 UDP reader, and the code just isn't correct at all
for that case).

Also factor out some test helper code from BenchmarkReceiveFrom.

The refactoring in magicsock.go for testability should have no
behavior change.

(cherry picked from commit 6d2b8df06d)
2021-02-08 14:38:37 -08:00
.github Cache go modules. 2021-01-07 21:34:43 -08:00
atomicfile atomicfile: don't Chmod on windows 2020-07-15 12:31:40 -07:00
cmd cmd/tailscale: fix IPN message reading stall in tailscale status -web 2021-02-02 14:58:47 -08:00
control/controlclient control/controlclient: don't call lite endpoint update path when logged out 2021-02-05 10:04:04 -08:00
derp net/dnscache: work on IPv6-only hosts (again) 2021-01-06 19:53:13 -08:00
disco wgengine/magicsock: send, use endpoints in CallMeMaybe messages 2021-01-20 14:59:41 -08:00
internal all: convert from []wgcfg.Endpoint to string 2021-01-14 13:54:07 -08:00
ipn cmd/tailscale/cli: recommend sudo for 'tailscale up' on failure 2021-02-01 13:54:48 -08:00
log log/filelogger: move our Windows disk file writing+rotation package here 2020-10-29 14:59:44 -07:00
logpolicy cmd/tailscaled, logpolicy, logtail: support log levels 2020-12-21 12:59:33 -08:00
logtail logtail: add tests 2021-01-15 19:11:40 -08:00
metrics metrics: add LabelMap.GetFloat 2020-07-19 12:31:12 -07:00
net net/packet: add some more TSMP packet reject reasons and MaybeBroken bit 2021-02-04 10:59:17 -08:00
paths paths, cmd/tailscaled: on Windows, don't try to migrate from legacy relay.conf 2020-07-13 08:59:54 -07:00
portlist portlist: add a test for SameInodes 2021-01-12 04:29:28 -08:00
safesocket safesocket: on Linux, make /var/run/tailscale be 0755 2021-01-21 13:23:14 -08:00
scripts Allow 2021 in LICENSE header. 2021-01-08 10:23:32 -08:00
smallzstd smallzstd: new package that constructs zstd small encoders/decoders. 2020-07-02 16:13:06 -07:00
syncs Fix receiver in order to be consistent: syncs.WaitGroupChan 2020-11-24 17:20:34 -08:00
tailcfg tailcfg: update node display name fields and methods (#1207) 2021-01-27 11:50:31 -05:00
tempfork/pprof go.mod: upgrade staticcheck to 0.1.0 2020-12-14 14:01:29 -08:00
tsconst net/netns: add windows support. 2020-09-14 16:28:49 -07:00
tstest ipn: close logger at the end of TestLocalLogLines 2021-01-08 17:10:48 -08:00
tstime tstime: add RandomDurationBetween helper 2021-01-21 07:54:14 -08:00
tsweb net/interfaces: remove IsTailscaleIP, make callers use tsaddr. 2021-01-26 15:10:51 -08:00
types types/logger: fix rateFree interaction with verbosity prefixes 2021-01-28 10:22:09 -08:00
util tailcfg: update node display name fields and methods (#1207) 2021-01-27 11:50:31 -05:00
version version: new version for a new year 2021-01-04 08:58:05 -08:00
wgengine wgengine/magicsock: add disabled failing (deadlocking) test for #1282 2021-02-08 14:38:37 -08:00
.gitattributes .gitattributes: add a smudge filter for go.mod. 2020-02-19 20:02:02 -05:00
.gitignore add nix-shell boilerplate (#1028) 2020-12-29 12:17:03 -05:00
api.md api.md: add TOC 2021-01-19 12:35:09 -08:00
AUTHORS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
build_dist.sh build_dist: fix after version refactor. 2020-11-03 14:40:09 -08:00
build_docker.sh Add docker build script to inject version information 2021-01-21 12:42:53 -08:00
CODE_OF_CONDUCT.md Add a code of conduct. 2020-02-10 22:16:30 -08:00
Dockerfile Add docker build script to inject version information 2021-01-21 12:42:53 -08:00
go.mod go.mod: bump wireguard-go 2021-01-21 20:03:35 -08:00
go.sum go.mod: bump wireguard-go 2021-01-21 20:03:35 -08:00
LICENSE LICENSE: Reformat for Github 2021-01-24 16:20:22 -08:00
Makefile Makefile: remove tsshd from depaware 2020-09-11 11:09:32 -07:00
PATENTS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
README.md README: names of contributors, link to them instead 2021-01-12 08:24:32 -08:00
SECURITY.md Add a SECURITY.md for vulnerability reports. 2020-02-11 10:26:41 -08:00
shell.nix add nix-shell boilerplate (#1028) 2020-12-29 12:17:03 -05:00
VERSION.txt VERSION.txt: this is v1.4.2 2021-02-01 16:24:43 -08:00

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 primarily on Linux; it also works to varying degrees on FreeBSD, OpenBSD, Darwin, and Windows.

The Android app is at https://github.com/tailscale/tailscale-android

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 only guarantee to support the latest Go release and any Go beta or release candidate builds (currently Go 1.15) in module mode. It might work in earlier Go versions or in GOPATH mode, but we're making no effort to keep those working.

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:

WireGuard is a registered trademark of Jason A. Donenfeld.