Mirror of tailscale/tailscale@github.com
Go to file
Avery Pennarun e7ae6a2e06 net/netns, wgengine/router: support Linux machines that don't have 'ip rule'.
We'll use SO_BINDTODEVICE instead of fancy policy routing. This has
some limitations: for example, we will route all traffic through the
interface that has the main "default" (0.0.0.0/0) route, so machines
that have multiple physical interfaces might have to go through DERP to
get to some peers. But machines with multiple physical interfaces are
very likely to have policy routing (ip rule) support anyway.

So far, the only OS I know of that needs this feature is ChromeOS
(crostini). Fixes #245.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-05-31 04:31:01 -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 Make netcheck handle v6-only interfaces better, faster. 2020-05-28 10:04:20 -07:00
control/controlclient control/controlclient: use netns package to dial connections. 2020-05-29 00:06:08 +00:00
derp net/netcheck: fix HTTPS fallback bug from earlier today 2020-05-29 22:33:08 -07:00
ipn wgengine: don't pass nil router.Config objects. 2020-05-31 02:37:22 -04:00
log/logheap tailcfg: add MapResponse.Debug mechanism to trigger logging heap pprof 2020-05-25 15:22:13 -07:00
logpolicy logpolicy: remove deprecated DualStack directive. 2020-05-29 00:04:28 +00:00
logtail filch_test: clarify the use of os.RemoveAll(). 2020-05-27 18:50:44 -04:00
metrics metrics: add a LabelMap type for variables with 1 label dimension. 2020-03-04 13:22:50 -08:00
net net/netns, wgengine/router: support Linux machines that don't have 'ip rule'. 2020-05-31 04:31:01 -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: fix "readdirent: no such file or directory" errors on Linux. 2020-05-19 01:51:21 -04: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
syncs syncs: add AtomicBool 2020-05-29 12:41:30 -07:00
tailcfg tailcfg: remove unused, unimplemented DERPNode.CertFingerprint for now 2020-05-30 20:44:18 -07:00
tempfork/osexec tempfork/internal/testenv: remove 2020-05-28 09:34:22 -07:00
tstest tstest: document PanicOnLog 2020-05-14 10:05:32 -07: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 TS_DEBUG_LOG_RATE knob to easily turn off rate limiting 2020-05-29 12:41:29 -07:00
version version: bump date 2020-04-10 08:23:36 -07:00
wgengine net/netns, wgengine/router: support Linux machines that don't have 'ip rule'. 2020-05-31 04:31:01 -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
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
go.mod Bump inet.af/netaddr dep for FromStdIP behavior change I want to depend on. 2020-05-28 09:34:41 -07:00
go.sum Bump inet.af/netaddr dep for FromStdIP behavior change I want to depend on. 2020-05-28 09:34:41 -07:00

README.md

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.