tailscale/derp/derphttp
Brad Fitzpatrick e6b84f2159 all: make client use server-provided DERP map, add DERP region support
Instead of hard-coding the DERP map (except for cmd/tailscale netcheck
for now), get it from the control server at runtime.

And make the DERP map support multiple nodes per region with clients
picking the first one that's available. (The server will balance the
order presented to clients for load balancing)

This deletes the stunner package, merging it into the netcheck package
instead, to minimize all the config hooks that would've been
required.

Also fix some test flakes & races.

Fixes #387 (Don't hard-code the DERP map)
Updates #388 (Add DERP region support)
Fixes #399 (wgengine: flaky tests)

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-05-23 22:31:59 -07:00
..
derphttp_client.go all: make client use server-provided DERP map, add DERP region support 2020-05-23 22:31:59 -07:00
derphttp_server.go derp: introduce Conn interface 2020-03-12 14:42:48 -04:00
derphttp_test.go derp/derphttp: ignore PeerGoneMessage in test 2020-03-23 14:13:49 -07:00
socks.go derp/derphttp: don't use x/net/proxy for SOCKS on iOS 2020-05-13 22:35:17 -07:00