The easiest, most secure way to use WireGuard and 2FA.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Adrian Dewhurst 4da559d7cc control/controlclient: update machine certificate signature version 12 hours ago
.github .github/workflows: remove separate "build stringer" step 2 days ago
atomicfile atomicfile: don't Chmod on windows 1 year ago
chirp wgengine/userspace: add support to automatically enable/disable the tailscale 3 weeks ago
client/tailscale cmd/tailscale: provide a better error message when tailscaled isn't running 3 days ago
cmd cmd/tailscale: make status show health check problems 1 day ago
control control/controlclient: update machine certificate signature version 7 hours ago
derp derp: throttle client sends if server advertises rate limits 2 days ago
disco net/tstun: block looped disco traffic 4 days ago
docs ipn/store: add ability to store data as k8s secrets. 2 weeks ago
health cmd/tailscale: make status show health check problems 1 day ago
hostinfo hostinfo: add FreeBSD support. 2 weeks ago
internal/tooldeps util/deephash: move internal/deephash to util/deephash 3 months ago
ipn ipn/ipnlocal: do not shut down the backend halfway through TestStateMachine 12 hours ago
kube ipn/store: add ability to store data as k8s secrets. 2 weeks ago
log log/filelogger: move our Windows disk file writing+rotation package here 11 months ago
logpolicy logpolicy: only log panics when running under systemd 2 months ago
logtail logtail: add a re-usable buffer for uploads 1 month ago
metrics metrics: use SYS_OPENAT 2 weeks ago
net net/dns: fix error wrapping for SetLinkDefaultRoute in resolved 2 days ago
packages/deb packages/deb: add package to extract metadata from .deb files. 3 months ago
paths all: gofmt with Go 1.17 1 month ago
portlist portlist: add debug knob to disable portlist collection 1 day ago
safesocket safesocket: add connect retry loop to wait for tailscaled 2 weeks ago
scripts scripts/installer: work on Oracle Linux (#2604) 1 month ago
smallzstd smallzstd: new package that constructs zstd small encoders/decoders. 1 year ago
syncs syncs: bump known good version to include Go 1.17 1 month ago
tailcfg control/controlclient: update machine certificate signature version 7 hours ago
tempfork/pprof tempfork/wireguard-windows: remove the old windows firewall code now that we are no 3 weeks ago
tsconst net/netns: add windows support. 1 year ago
tsnet tsnet: fix typo in comment 2 weeks ago
tstest cmd/tailscaled: disable netns in userspace-networking mode 1 week ago
tstime all: add (*testing.B).ReportAllocs() to every benchmark 3 weeks ago
tsweb tsweb: restore CPU profiling handler 2 weeks ago
types cmd/cloner: reduce diff noise when changing command 2 days ago
util wgengine/wgcfg: use just the hexlified node key as the WireGuard endpoint. 2 weeks ago
version version: bump date 1 week ago
wf wf: loopback condition should use MatchTypeFlagsAllSet. 3 months ago
wgengine wgengine/magicsock: skip alloc test with -race 12 hours ago
words words: remove two plurals, one with a typo 1 week ago
.gitattributes .gitattributes: add a smudge filter for go.mod. 2 years ago
.gitignore Revert "cmd/tailscaled: split package main into main shim + package" 6 months ago
AUTHORS Move Linux client & common packages into a public repo. 2 years ago
CODE_OF_CONDUCT.md Add a code of conduct. 2 years ago
Dockerfile all: bump minimum Go to 1.17 2 weeks ago
LICENSE LICENSE: Reformat for Github 8 months ago
Makefile Makefile: add a linux/arm check 1 month ago
PATENTS Move Linux client & common packages into a public repo. 2 years ago
README.md all: bump minimum Go to 1.17 2 weeks ago
SECURITY.md Add a SECURITY.md for vulnerability reports. 2 years ago
VERSION.txt VERSION.txt: new unstable v1.15.0 4 weeks ago
api.md api: document new API to authorize a device (#2825) 1 week ago
build_dist.sh build_dist.sh: add a command to output the shell vars. 3 months ago
build_docker.sh build_docker.sh: use build_dist.sh to inject version information 2 months ago
go.mod cmd: upgrade to ffcli v3 3 days ago
go.sum cmd: upgrade to ffcli v3 3 days ago
shell.nix add nix-shell boilerplate (#1028) 9 months ago
staticcheck.conf staticcheck.conf: remove unnecessary warning 3 months ago

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