Mirror of tailscale/tailscale@github.com
Go to file
Brad Fitzpatrick 0a5ab533c1 net/netcheck: send dummy packet out to help airport extreme in hairpin check
At least the Apple Airport Extreme doesn't allow hairpin
sends from a private socket until it's seen traffic from
that src IP:port to something else out on the internet.

See https://github.com/tailscale/tailscale/issues/188#issuecomment-600728643

And it seems that even sending to a likely-filtered RFC 5737
documentation-only IPv4 range is enough to set up the mapping.
So do that for now. In the future we might want to classify networks
that do and don't require this separately. But for now help it.

I've confirmed that this is enough to fix the hairpin check on Avery's
home network, even using the RFC 5737 IP.

Fixes #188
2020-07-06 08:24:22 -07:00
.github Rename master -> main. 2020-06-15 13:47:11 -04:00
atomicfile scripts: add a license header checker. 2020-03-17 21:34:44 -07:00
cmd cmd/tailscale: add tailscale status region name, last write, consistently star 2020-07-03 13:44:22 -07:00
control/controlclient control/controlclient, tailcfg: turn active route discovery on by default 2020-07-03 13:55:33 -07:00
derp derp: add frameClosePeer to move around clients within a region 2020-06-25 09:33:10 -07:00
disco wgengine/magicsock: bunch of misc discovery path cleanups 2020-07-03 11:26:22 -07:00
internal/deepprint internal/deepprint: update copyright header to appease license checker script 2020-06-29 22:22:44 -07:00
ipn cmd/tailscale: add tailscale status region name, last write, consistently star 2020-07-03 13:44:22 -07:00
log/logheap log/logheap: appease staticcheck 2020-06-12 10:31:42 -07:00
logpolicy smallzstd: new package that constructs zstd small encoders/decoders. 2020-07-02 16:13:06 -07:00
logtail logtail: we missed a case for the backoff timer. 2020-06-05 03:55:45 -04:00
metrics metrics: add a LabelMap type for variables with 1 label dimension. 2020-03-04 13:22:50 -08:00
net net/netcheck: send dummy packet out to help airport extreme in hairpin check 2020-07-06 08:24:22 -07: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: set SysProcAttr.HideWindow on Windows 2020-06-08 09:04:31 -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
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 control/controlclient, tailcfg: turn active route discovery on by default 2020-07-03 13:55:33 -07:00
tempfork tempfork/registry: work around issue with Tailscale's redo build system 2020-06-05 10:46:15 -07:00
tstest go.mod: restore staticcheck module, make it stick around, go mod tidy 2020-07-02 22:55:14 -07:00
tstime tstime: hand-implement parseInt for specific needs of rfc3339 parsing. 2020-04-14 12:36:55 -07:00
tsweb tsweb: JSONHandler: supports HTTPError 2020-06-09 17:40:45 -04:00
types types/logger: add rateFreePrefix rate-limiting-exempt log format prefixes 2020-07-03 13:09:32 -07:00
version version: explicitly use 9 hex digits in git describe version number 2020-07-03 22:28:45 -07:00
wgengine wgengine/magicsock: fix data race from undocumented wireguard-go requirement 2020-07-03 22:27:52 -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
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
go.mod go.mod: bump wireguard 2020-07-03 14:09:29 -07:00
go.sum go.sum: add missing lines 2020-07-06 08:23:44 -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.