You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
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
4 years ago
.github Rename master -> main. 5 years ago
atomicfile scripts: add a license header checker. 5 years ago
cmd cmd/tailscale: add tailscale status region name, last write, consistently star 4 years ago
control/controlclient control/controlclient, tailcfg: turn active route discovery on by default 4 years ago
derp derp: add frameClosePeer to move around clients within a region 4 years ago
disco wgengine/magicsock: bunch of misc discovery path cleanups 4 years ago
internal/deepprint internal/deepprint: update copyright header to appease license checker script 4 years ago
ipn cmd/tailscale: add tailscale status region name, last write, consistently star 4 years ago
log/logheap log/logheap: appease staticcheck 5 years ago
logpolicy smallzstd: new package that constructs zstd small encoders/decoders. 4 years ago
logtail logtail: we missed a case for the backoff timer. 5 years ago
metrics metrics: add a LabelMap type for variables with 1 label dimension. 5 years ago
net net/netcheck: send dummy packet out to help airport extreme in hairpin check 4 years ago
paths paths: use /var/db for state on BSDs, and /var/run for sockets. 5 years ago
portlist portlist: set SysProcAttr.HideWindow on Windows 5 years ago
safesocket safesocket: gofmt 5 years ago
scripts wgengine/router: split out from wgengine. 5 years ago
smallzstd smallzstd: new package that constructs zstd small encoders/decoders. 4 years ago
syncs syncs: add AtomicBool 5 years ago
tailcfg control/controlclient, tailcfg: turn active route discovery on by default 4 years ago
tempfork tempfork/registry: work around issue with Tailscale's redo build system 5 years ago
tstest go.mod: restore staticcheck module, make it stick around, go mod tidy 4 years ago
tstime tstime: hand-implement parseInt for specific needs of rfc3339 parsing. 5 years ago
tsweb tsweb: JSONHandler: supports HTTPError 5 years ago
types types/logger: add rateFreePrefix rate-limiting-exempt log format prefixes 4 years ago
version version: explicitly use 9 hex digits in git describe version number 4 years ago
wgengine wgengine/magicsock: fix data race from undocumented wireguard-go requirement 4 years ago
.gitattributes .gitattributes: add a smudge filter for go.mod. 5 years ago
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 5 years ago
AUTHORS Move Linux client & common packages into a public repo. 5 years ago
CODE_OF_CONDUCT.md Add a code of conduct. 5 years ago
Dockerfile Dockerfile: install iproute2 in the container image. 5 years ago
LICENSE Move Linux client & common packages into a public repo. 5 years ago
Makefile Fix staticcheck warning, add Makefile with staticcheck targets, lock in staticcheck version in go.mod 5 years ago
PATENTS Move Linux client & common packages into a public repo. 5 years ago
README.md Dockerfile: add some usage docs, bump to Go 1.14 5 years ago
SECURITY.md Add a SECURITY.md for vulnerability reports. 5 years ago
go.mod go.mod: bump wireguard 4 years ago
go.sum go.sum: add missing lines 4 years ago

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.