Brad Fitzpatrick 1fd9958e9d ipn: wait for initial portpoll result before starting controlclient
We were creating the controlclient and starting the portpoll concurrently,
which frequently resulted in the first controlclient connection being canceled
by the firsdt portpoll result ~milliseconds later, resulting in another
HTTP request.

Instead, wait a bit for the first portpoll result so it's much less likely to
interrupt our controlclient connection.

Updates tailscale/corp#557
2020-10-14 14:07:40 -07:00
2020-09-30 17:13:41 -07:00
2020-10-02 20:31:31 -07:00
2020-07-19 12:31:12 -07:00
2020-07-20 14:40:19 -07:00
2020-10-02 20:31:31 -07:00
2020-09-14 16:28:49 -07:00
2020-10-02 11:00:56 -07:00
2020-02-10 22:16:30 -08:00
2020-09-11 11:09:32 -07:00
2020-08-18 15:48:30 -07:00

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale client code and the tailscaled daemon and tailscale CLI tool. The tailscaled daemon runs primarily on Linux; it also works to varying degrees on FreeBSD, OpenBSD, Darwin, and Windows.

The Android app is at https://github.com/tailscale/tailscale-android

Using

We serve packages for a variety of distros at https://pkgs.tailscale.com .

Other clients

The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers that are not open source.

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.15) 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

PRs welcome! But please file bugs. Commit messages should reference bugs.

We require Developer Certificate of Origin Signed-off-by lines in commits.

About Us

We are apenwarr, bradfitz, crawshaw, danderson, dfcarney, josharian from Tailscale Inc. You can learn more about us from our website.

WireGuard is a registered trademark of Jason A. Donenfeld.

Description
The easiest, most secure way to use WireGuard and 2FA.
Readme BSD-3-Clause 110 MiB
Languages
Go 94.9%
C 2.1%
TypeScript 1.3%
Shell 0.7%
Swift 0.3%
Other 0.3%