Mirror of tailscale/tailscale@github.com
Go to file
Andrew Lytvynov 776a05223b
ipn/ipnlocal: support c2n updates with old systemd versions (#12296)
The `--wait` flag for `systemd-run` was added in systemd 232. While it
is quite old, it doesn't hurt to special-case them and skip the `--wait`
flag. The consequence is that we lose the update command output in logs,
but at least auto-updates will work.

Fixes #12136

Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2024-05-30 16:55:02 -07:00
.bencher
.github scripts/installer.sh: remove unnecessary escaping in grep (#11950) 2024-05-01 11:09:10 -06:00
appc appc: setting AdvertiseRoutes explicitly discards app connector routes 2024-04-29 11:40:04 -07:00
atomicfile
chirp
client all: do not depend on the testing package 2024-05-24 05:23:36 -07:00
clientupdate clientupdate: exec systemctl instead of using dbus to restart (#11923) 2024-04-29 13:16:40 -06:00
cmd cmd/tailscaled, ipn/conffile: support ec2 user-data config file 2024-05-30 09:49:18 -07:00
control control/controlclient: delete unused Client.Login Oauth2Token field 2024-05-17 19:51:18 -07:00
derp derp: remove stats goroutine, use a timer 2024-05-14 11:05:11 -06:00
disco
docs
doctor net/{interfaces,netmon}, all: merge net/interfaces package into net/netmon 2024-04-28 07:34:52 -07:00
drive drive: rewrite LOCK paths 2024-05-16 13:42:45 -05:00
envknob
health health, ipn/ipnlocal: move more health warning code into health.Tracker 2024-05-01 15:03:21 -07:00
hostinfo
internal/tooldeps
ipn ipn/ipnlocal: support c2n updates with old systemd versions (#12296) 2024-05-30 16:55:02 -07:00
jsondb
k8s-operator cmd/k8s-operator,cmd/containerboot,ipn,k8s-operator: turn off stateful filter for egress proxies. (#12075) 2024-05-10 16:32:37 +01:00
kube cmd/containerboot,kube,ipn/store/kubestore: allow interactive login on kube, check Secret create perms, allow empty state Secret (#11326) 2024-04-29 17:03:48 +01:00
licenses licenses: update license notices 2024-05-20 08:40:52 -07:00
log net/netns, net/dns/resolver, etc: make netmon required in most places 2024-04-27 12:17:45 -07:00
logpolicy net/netns, net/dns/resolver, etc: make netmon required in most places 2024-04-27 12:17:45 -07:00
logtail logtail/backoff: update Backoff.BackOff docs (#12229) 2024-05-23 09:53:05 -07:00
metrics
net xcode/iOS: set MatchDomains when no route requires a custom DNS resolver (#10576) 2024-05-29 12:11:02 -07:00
omit cmd/tailscaled, ipn/conffile: support ec2 user-data config file 2024-05-30 09:49:18 -07:00
packages/deb
paths
portlist
posture
prober prober: plumb a now-required netmon to derphttp 2024-05-15 10:35:26 -04:00
proxymap
publicapi api.md: direct TOC links to new publicapi docs location 2024-05-20 11:15:44 -04:00
release
safesocket
safeweb
scripts scripts/installer.sh: remove unnecessary escaping in grep (#11950) 2024-05-01 11:09:10 -06:00
smallzstd
ssh/tailssh ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
syncs syncs: fix AtomicValue for interface kinds (#11943) 2024-04-30 14:27:58 -07:00
tailcfg ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
taildrop
tempfork
tka
tool tool/gocross: add debug data to CGO builds 2024-05-22 20:47:28 -07:00
tsconst
tsd health, all: remove health.Global, finish plumbing health.Tracker 2024-04-26 12:03:11 -07:00
tsnet serve.go, tsnet.go: Fix "in in" typo (#12279) 2024-05-29 14:11:00 -07:00
tstest all: do not depend on the testing package 2024-05-24 05:23:36 -07:00
tstime
tsweb tsweb: remove redundant bumpStartIfNeeded func 2024-05-05 18:04:58 -07:00
types ipn,wgengine: remove vestigial Prefs.AllowSingleHosts 2024-05-17 20:50:19 -07:00
util util/linuxfw: don't try cleaning iptables on gokrazy 2024-05-29 21:02:45 -07:00
version version: add GitCommitTime to Meta 2024-05-16 10:53:50 -04:00
wf
wgengine wgengine/router: probe generally-unused "ip" command style lazily 2024-05-29 21:02:45 -07:00
words words: add some fruit with scales (#8460) 2024-05-13 09:26:24 -07:00
.gitattributes
.gitignore ssh/tailssh: add integration test 2024-05-01 11:19:36 -05:00
.golangci.yml
ALPINE.txt
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md
Dockerfile
Dockerfile.base
LICENSE
Makefile ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
PATENTS
README.md
SECURITY.md
VERSION.txt VERSION.txt: this is v1.67.0 (#12063) 2024-05-08 14:00:17 -07:00
api.md api.md: direct TOC links to new publicapi docs location 2024-05-20 11:15:44 -04:00
build_dist.sh
build_docker.sh cmd/{k8s-nameserver,k8s-operator},k8s-operator: add a kube nameserver, make operator deploy it (#11919) 2024-04-30 20:18:23 +01:00
flake.lock
flake.nix
go.mod ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
go.mod.sri
go.sum ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
go.toolchain.branch
go.toolchain.rev go.toolchain.rev: update to Go 1.22.3 2024-05-07 13:32:51 -07:00
gomod_test.go
header.txt
pull-toolchain.sh
shell.nix
staticcheck.conf
update-flake.sh
version-embed.go
version_test.go

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.

Other Tailscale repos of note:

For background on which parts of Tailscale are open source and why, see https://tailscale.com/opensource/.

Using

We serve packages for a variety of distros and platforms 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. The GUI wrappers on non-open source platforms are themselves not open source.

Building

We always require the latest Go release, currently Go 1.22. (While we build releases with our Go fork, its use is not required.)

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.

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.

See git log for our commit message style. It's basically the same as Go's style.

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.