The easiest, most secure way to use WireGuard and 2FA.
Go to file
Josh Bleecher Snyder a16a793605 net/interfaces: use syscalls to find private gateway IP address
iOS doesn't let you run subprocesses,
which means we can't use netstat to get routing information.
Instead, use syscalls and grub around in the results.
We keep the old netstat version around,
both for use in non-cgo builds,
and for use testing the syscall-based version.

Note that iOS doesn't ship route.h,
so we include a copy here from the macOS 10.15 SDK
(which is itself unchanged from the 10.14 SDK).

I have tested manually that this yields the correct
gateway IP address on my own macOS and iOS devices.
More coverage would be most welcome.

Signed-off-by: Josh Bleecher Snyder <josharian@gmail.com>
2020-08-04 15:45:56 -07:00
.github github/workflows: add go vet ./... step 2020-07-16 09:15:09 -07:00
atomicfile atomicfile: don't Chmod on windows 2020-07-15 12:31:40 -07:00
cmd --advertise-routes option enabled in Mac tailscale CLI; it checks for IP forwarding enabled 2020-08-04 10:49:34 -07:00
control/controlclient control/controlclient: print disco keys NetworkMap diffs (debug change only) 2020-08-03 10:03:01 -07:00
derp derp: remove OnlyDisco option. 2020-07-27 14:09:54 -07:00
disco wgengine/magicsock: run test DERP in mode where only disco packets allowed 2020-07-16 12:58:35 -07:00
internal/deepprint all: dns refactor, add Proxied and PerDomain flags from control (#615) 2020-07-31 16:27:09 -04:00
ipn Revert "cmd/tailscaled: exit gracefully on SIGPIPE" 2020-07-31 19:12:45 -07:00
log/logheap log/logheap: appease staticcheck 2020-06-12 10:31:42 -07:00
logpolicy logpolicy: remove inaccurate comment, conditional tryFixLogStateLocation call 2020-07-30 07:47:19 -07:00
logtail logtail: return correct write size from logger.Write 2020-07-27 11:06:41 -07:00
metrics metrics: add LabelMap.GetFloat 2020-07-19 12:31:12 -07:00
net net/interfaces: use syscalls to find private gateway IP address 2020-08-04 15:45:56 -07: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: avoid syscall audit violation logspam on Android 2020-07-28 13:21:42 -07:00
safesocket safesocket: gofmt 2020-07-20 14:40:19 -07:00
scripts wgengine/router: split out from wgengine. 2020-04-30 13:31:24 -07:00
smallzstd smallzstd: new package that constructs zstd small encoders/decoders. 2020-07-02 16:13:06 -07:00
syncs syncs: add AtomicBool 2020-05-29 12:41:30 -07:00
tailcfg all: dns refactor, add Proxied and PerDomain flags from control (#615) 2020-07-31 16:27:09 -04:00
tempfork tempfork: add lite fork of net/http/pprof w/o html/template or reflect 2020-07-21 16:17:03 -07:00
tstest wgengine/magicsock: explicitly check path discovery, add a firewall test. 2020-07-27 14:09:54 -07:00
tstime tstime: hand-implement parseInt for specific needs of rfc3339 parsing. 2020-04-14 12:36:55 -07:00
tsweb tsweb: jsonhandler: fix content type 2020-07-14 15:27:26 -04:00
types types/logger: fix go test vet error 2020-07-14 09:28:45 -07:00
util/lineread util/lineread: add little package to read lines from files/Readers 2020-07-06 10:34:33 -07:00
version version: adjust to a pure semver version number, per bradfitz's proposal. 2020-08-03 12:49:42 -07:00
wgengine wgengine/magicsock: when hard NAT, add stun-ipv4:static-port as candidate 2020-08-04 09:48:34 -07: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 go mod tidy 2020-07-27 10:20:30 -07:00
go.sum go.sum: update 2020-07-28 11:49:56 -07:00
LICENSE Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
Makefile Fix staticcheck warning, add Makefile with staticcheck targets, lock in staticcheck version in go.mod 2020-06-15 11:05:46 -07: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.