The easiest, most secure way to use WireGuard and 2FA.
Go to file
Avery Pennarun 08acb502e5 Add tstest.PanicOnLog(), and fix various problems detected by this.
If a test calls log.Printf, 'go test' horrifyingly rearranges the
output to no longer be in chronological order, which makes debugging
virtually impossible. Let's stop that from happening by making
log.Printf panic if called from any module, no matter how deep, during
tests.

This required us to change the default error handler in at least one
http.Server, as well as plumbing a bunch of logf functions around,
especially in magicsock and wgengine, but also in logtail and backoff.

To add insult to injury, 'go test' also rearranges the output when a
parent test has multiple sub-tests (all the sub-test's t.Logf is always
printed after all the parent tests t.Logf), so we need to screw around
with a special Logf that can point at the "current" t (current_t.Logf)
in some places. Probably our entire way of using subtests is wrong,
since 'go test' would probably like to run them all in parallel if you
called t.Parallel(), but it definitely can't because the're all
manipulating the shared state created by the parent test. They should
probably all be separate toplevel tests instead, with common
setup/teardown logic. But that's a job for another time.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-05-13 23:12:35 -04:00
.github Disable staticcheck for tempfork packages. 2020-04-24 20:46:06 -07:00
atomicfile scripts: add a license header checker. 2020-03-17 21:34:44 -07:00
cmd wgengine/router: add a setting to disable SNAT for subnet routes. 2020-05-11 20:17:13 +00:00
control/controlclient Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
derp derp/derphttp: use SOCKS/etc proxies for derphttp dials 2020-05-12 14:38:15 -07:00
ipn Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
logpolicy Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
logtail Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
metrics metrics: add a LabelMap type for variables with 1 label dimension. 2020-03-04 13:22:50 -08:00
net net/dnscache: remove unnecessary lint warning. 2020-04-30 20:31:44 -07:00
netcheck netcheck: DERP latency over HTTPS when UDP is blocked 2020-05-11 11:23:09 -04:00
paths paths: use /var/db for state on BSDs, and /var/run for sockets. 2020-03-03 17:49:31 -08:00
portlist portlist: reduce log spam/scariness for portlist in mac sandbox 2020-05-11 16:13:29 -07:00
safesocket safesocket: gofmt 2020-03-30 11:23:18 -07:00
scripts wgengine/router: split out from wgengine. 2020-04-30 13:31:24 -07:00
stun stun, stunner: clarify an error log message more 2020-03-15 22:19:45 -07:00
stunner stunner: add Stunner.MaxTries option 2020-05-04 23:37:01 -07:00
syncs syncs: add new package for extra sync types 2020-03-12 11:13:33 -07:00
tailcfg types/structs: add structs.Incomparable annotation, use it where applicable 2020-05-03 14:05:32 -07:00
tempfork tempfork/x509: moved to tailscale/go's crypto/x509 instead 2020-04-27 08:14:54 -07:00
tstest Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
tstime tstime: hand-implement parseInt for specific needs of rfc3339 parsing. 2020-04-14 12:36:55 -07:00
tsweb tstest: rename from testy. 2020-04-28 20:45:12 -07:00
types types/logger: add ArgWriter 2020-05-13 14:47:13 -07:00
version version: bump date 2020-04-10 08:23:36 -07:00
wgengine Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
.gitattributes .gitattributes: add a smudge filter for go.mod. 2020-02-19 20:02:02 -05:00
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 2020-02-20 00:15:43 -05:00
AUTHORS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
CODE_OF_CONDUCT.md Add a code of conduct. 2020-02-10 22:16:30 -08:00
Dockerfile Dockerfile: install iproute2 in the container image. 2020-05-10 17:12:17 -07:00
go.mod derp/derphttp: use SOCKS/etc proxies for derphttp dials 2020-05-12 14:38:15 -07:00
go.sum netcheck: DERP latency over HTTPS when UDP is blocked 2020-05-11 11:23:09 -04:00
LICENSE Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
PATENTS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
README.md Dockerfile: add some usage docs, bump to Go 1.14 2020-04-06 07:57:47 -07:00
SECURITY.md Add a SECURITY.md for vulnerability reports. 2020-02-11 10:26:41 -08:00

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale code. It currently includes the Linux client.

The Linux client is currently cmd/relaynode, but will soon be replaced by cmd/tailscaled.

Using

We serve packages for a variety of distros at https://pkgs.tailscale.com .

Building

go install tailscale.com/cmd/tailscale{,d}

We only guarantee to support the latest Go release and any Go beta or release candidate builds (currently Go 1.14) 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

under_construction.gif

PRs welcome, but we are still working out our contribution process and tooling.

We require Developer Certificate of Origin Signed-off-by lines in commits.

About Us

We are apenwarr, bradfitz, crawshaw, danderson, dfcarney, from Tailscale Inc. You can learn more about us from our website.

WireGuard is a registered trademark of Jason A. Donenfeld.