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
David Crawshaw 4305e0c6b6 wgengine: remove IpcSetOperation on LinkChange
This was only done occasionally, but was extremely disruptive
when done and is no longer necessary.

It used to be that when switching links, we had to immediately
generate handshakes to everyone we were communicating with to
punch a hole in any NAT we were talking through. (This ended up
not really working, because in the process we got rid of our
session keys and ended up having a futile conversation for many
seconds.)

Now we have DERP, our link change propogates to the other side
as a new list of endpoints, so they start spraying packets.
We will definitely get one thanks to DERP, which will cause us
to spray, opening any NAT we are behind.

The result is that for good connections, we don't trash session
keys and cause an interruption.

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
4 years ago
.github github: add license check to CI. 4 years ago
atomicfile scripts: add a license header checker. 4 years ago
cmd netcheck: aggregate spammy logging onto one concise line 4 years ago
control/controlclient controlclient: add auth key test 4 years ago
derp derp/derp_server: fixed unbalanced {register,unregister}Client() calls. 4 years ago
ipn ipn: add auth key 4 years ago
logpolicy logpolicy: include Go version in version log 4 years ago
logtail logtail: don't send a User-Agent 4 years ago
metrics metrics: add a LabelMap type for variables with 1 label dimension. 4 years ago
net cmd/tailscale: add status subcommand 4 years ago
netcheck netcheck: aggregate spammy logging onto one concise line 4 years ago
paths paths: use /var/db for state on BSDs, and /var/run for sockets. 4 years ago
portlist portlist: don't depend on osexec package on ios, even if it's unused 4 years ago
ratelimit Move Linux client & common packages into a public repo. 4 years ago
safesocket safesocket: gofmt 4 years ago
scripts scripts: add a license header checker. 4 years ago
stun stun, stunner: clarify an error log message more 4 years ago
stunner stunner: fix data race. 4 years ago
syncs syncs: add new package for extra sync types 4 years ago
tailcfg tailcfg: add auth key to RegisterRequest 4 years ago
tempfork/osexec Move Linux client & common packages into a public repo. 4 years ago
testy testy: make safe for concurrent use. 4 years ago
tstime tstime: change an Errorf+return to Fatalf in subtest 4 years ago
tsweb tsweb: add some Benchmarks 4 years ago
types wgengine: don't allocate so much in userspaceEngine.getStatus 4 years ago
version version: don't depend on goversion on ios 4 years ago
wgengine wgengine: remove IpcSetOperation on LinkChange 4 years ago
.gitattributes .gitattributes: add a smudge filter for go.mod. 4 years ago
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 4 years ago
AUTHORS Move Linux client & common packages into a public repo. 4 years ago
CODE_OF_CONDUCT.md Add a code of conduct. 4 years ago
Dockerfile Dockerfile: add some usage docs, bump to Go 1.14 4 years ago
LICENSE Move Linux client & common packages into a public repo. 4 years ago
PATENTS Move Linux client & common packages into a public repo. 4 years ago
README.md Dockerfile: add some usage docs, bump to Go 1.14 4 years ago
SECURITY.md Add a SECURITY.md for vulnerability reports. 4 years ago
go.mod wgengine: don't allocate so much in userspaceEngine.getStatus 4 years ago
go.sum netcheck: aggregate spammy logging onto one concise line 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.