16a9cfe2f4
wireguard-go uses 3 goroutines per peer (with reasonably large stacks & buffers). Rather than tell wireguard-go about all our peers, only tell it about peers we're actively communicating with. That means we need hooks into magicsock's packet receiving path and tstun's packet sending path to lazily create a wireguard peer on demand from the network map. This frees up lots of memory for iOS (where we have almost nothing left for larger domains with many users). We should ideally do this in wireguard-go itself one day, but that'd be a pretty big change. Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> |
||
---|---|---|
.github | ||
atomicfile | ||
cmd | ||
control/controlclient | ||
derp | ||
disco | ||
internal/deepprint | ||
ipn | ||
log/logheap | ||
logpolicy | ||
logtail | ||
metrics | ||
net | ||
paths | ||
portlist | ||
safesocket | ||
scripts | ||
smallzstd | ||
syncs | ||
tailcfg | ||
tempfork | ||
tstest | ||
tstime | ||
tsweb | ||
types | ||
util/lineread | ||
version | ||
wgengine | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
PATENTS | ||
README.md | ||
SECURITY.md |
Tailscale
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.