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 10f48087f4 net/tshttpproxy: call winhttp calls from a fixed OS thread
We often see things in logs like:

2021-03-02 17:52:45.2456258 +0800 +0800: winhttp: Open: The parameter is incorrect.
2021-03-02 17:52:45.2506261 +0800 +0800: tshttpproxy: winhttp: GetProxyForURL("https://log.tailscale.io/c/tailnode.log.tailscale.io/5037bb42f4bc330e2d6143e191a7ff7e837c6be538139231de69a439536e0d68"): ERROR_INVALID_PARAMETER [unexpected]

I have a hunch that WinHTTP has thread-local state. If so, this would fix it.
If not, this is pretty harmless.

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
4 years ago
.github Switch to Go 1.16. 4 years ago
atomicfile
client/tailscale cmd/hello: break out local HTTP client into client/tailscale 4 years ago
cmd cmd/tailscaled: don't require root on darwin with --tun=userspace-networking 4 years ago
control/controlclient tailcfg, control/controlclient: add goroutine dump debug feature 4 years ago
derp derp/derphttp: return nicer errors from Recv on Close 4 years ago
disco
health health, control/controlclient, wgengine: report when router unhealthy 4 years ago
internal all: move wgcfg from wireguard-go 4 years ago
ipn ipn/ipnserver: grant client r/w access if peer uid matches tailscaled 4 years ago
log
logpolicy logpolicy: on Windows, use tailscale-ipn log name if it already existed 4 years ago
logtail logtail: use link monitor to determine when to retry after upload failure 4 years ago
metrics
net net/tshttpproxy: call winhttp calls from a fixed OS thread 4 years ago
paths paths: update some default paths for darwin 4 years ago
portlist portlist: adjust build tags for iOS + Go 1.16 4 years ago
safesocket safesocket: add FreeBSD to PlatformUsesPeerCreds 4 years ago
scripts
smallzstd
syncs
tailcfg tailcfg: tweak documentation for map version 11 4 years ago
tempfork tempfork/wireguard-windows/firewall: add. 4 years ago
tsconst
tstest tstest/staticcheck: import the main package to fix "go mod tidy" 4 years ago
tstime
tsweb tsweb: add num_goroutines expvar 4 years ago
types net/portmapper: add NAT-PMP client, move port mapping service probing 4 years ago
util util/systemd: explicitly check for os.ErrNotExist from sdnotify 4 years ago
version tailcfg: tweak documentation for map version 11 4 years ago
wgengine freebsd: ignore IPv6 for now 4 years ago
.gitattributes
.gitignore
AUTHORS
CODE_OF_CONDUCT.md
Dockerfile Switch to Go 1.16. 4 years ago
LICENSE LICENSE: Reformat for Github 4 years ago
Makefile wgengine/netstack: fix 32-bit build broken from prior commit 4 years ago
PATENTS
README.md Switch to Go 1.16. 4 years ago
SECURITY.md
VERSION.txt VERSION.txt: this is 1.5.0. 4 years ago
api.md
build_dist.sh
build_docker.sh Add docker build script to inject version information 4 years ago
go.mod go.mod: update peercred 4 years ago
go.sum go.mod: update peercred 4 years ago
shell.nix

README.md

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}

If you're packaging Tailscale for distribution, use build_dist.sh instead, to burn commit IDs and version info into the binaries:

./build_dist.sh tailscale.com/cmd/tailscale
./build_dist.sh tailscale.com/cmd/tailscaled

If your distro has conventions that preclude the use of build_dist.sh, please do the equivalent of what it does in your distro's way, so that bug reports contain useful version information.

We only guarantee to support the latest Go release and any Go beta or release candidate builds (currently Go 1.16) 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

Tailscale is primarily developed by the people at https://github.com/orgs/tailscale/people. For other contributors, see:

WireGuard is a registered trademark of Jason A. Donenfeld.