Mirror of tailscale/tailscale@github.com
Go to file
Tom Proctor 83efadee9f
kube/egressservices: improve egress ports config readability (#13722)
Instead of converting our PortMap struct to a string during marshalling
for use as a key, convert the whole collection of PortMaps to a list of
PortMap objects, which improves the readability of the JSON config while
still keeping the data structure we need in the code.

Updates #13406

Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
2024-10-08 19:48:18 +01:00
.bencher
.github .github: Bump github/codeql-action from 3.26.9 to 3.26.11 (#13710) 2024-10-07 22:15:40 -06:00
appc
atomicfile
chirp
client client/web: use tsaddr helpers 2024-09-26 12:17:31 +02:00
clientupdate
cmd cmd/{k8s-operator,containerboot},kube/egressservices: fix Pod IP check for dual stack clusters (#13721) 2024-10-08 18:35:23 +01:00
control control/controlclient: include HTTP status string in error message too 2024-10-03 08:37:16 -07:00
derp derp: fix omitted word in comment 2024-10-07 12:21:10 -07:00
disco
docs docs/windows/policy: add ADMX policy setting to configure the AuthKey 2024-10-02 09:19:19 -05:00
doctor
drive drive/driveimpl: use su instead of sudo 2024-08-29 16:23:03 -05:00
envknob envknob: support disk-based envknobs on the macsys build 2024-10-04 17:12:27 -04:00
gokrazy gokrazy, various: use point versions of Go and update Nix deps 2024-09-16 16:06:43 -04:00
health control/controlhttp: fix connectivity on Alaska Air wifi 2024-10-01 11:58:20 -05:00
hostinfo hostinfo: update SetPackage doc with new Android values (#13537) 2024-10-04 16:35:19 +00:00
internal
ipn ipn/ipnlocal: don't run portlist code unless service collection is on 2024-10-02 18:08:31 -07:00
jsondb
k8s-operator cmd/k8s-operator,k8s-operator: use default ProxyClass if set for ProxyGroup (#13720) 2024-10-08 17:34:34 +01:00
kube kube/egressservices: improve egress ports config readability (#13722) 2024-10-08 19:48:18 +01:00
licenses licenses: update license notices 2024-09-16 15:21:37 -07:00
log
logpolicy logpolicy: force TLS 1.3 handshake 2024-10-03 09:16:23 -07:00
logtail
metrics metrics: revert changes to MultiLabelMap's String method 2024-09-25 19:20:50 -04:00
net net/sockstats: quiet some log spam in release builds 2024-10-08 11:02:46 -07:00
omit
packages/deb
paths
portlist
posture control/controlclient,posture,util/syspolicy: use predefined syspolicy keys instead of string literals 2024-09-04 15:25:19 -05:00
prober
proxymap ipnlocal,proxymap,wgengine/netstack: add optional WhoIs/proxymap debug 2024-09-10 14:23:33 -07:00
release {release,version}: add DSM7.2 specific synology builds (#13405) 2024-09-24 15:00:37 -06:00
safesocket all: fix new lint warnings from bumping staticcheck 2024-08-22 12:31:08 -07:00
safeweb safeweb: allow passing http.Server in safeweb.Config (#13688) 2024-10-04 11:57:00 -07:00
scripts
sessionrecording sessionrecording,ssh/tailssh,k8s-operator: log connected recorder address (#13382) 2024-09-07 06:11:33 +01:00
smallzstd
ssh/tailssh ssh/tailssh: pass window size pixels in IoctlSetWinsize events 2024-10-03 09:24:28 -07:00
syncs
tailcfg tailcfg: add func to check for known valid ServiceProtos (#13668) 2024-10-02 22:54:02 -04:00
taildrop
tempfork
tka tka: truncate long rotation signature chains 2024-09-04 22:17:21 +01:00
tool tool/gocross: fix argument order to find 2024-10-07 08:07:03 -07:00
tsconst
tsd util/usermetrics: make usermetrics non-global 2024-09-25 15:57:00 +02:00
tsnet ipn/ipnlocal: add advertised and primary route metrics 2024-09-27 16:05:14 +02:00
tstest wf/firewall: allow link-local multicast for permitted local routes when the killswitch is on on Windows 2024-10-02 18:36:01 -05:00
tstime
tsweb usermetric: add initial user-facing metrics 2024-08-27 11:21:35 +02:00
types types/lazy: add DeferredInit type 2024-10-07 15:43:22 -05:00
util cmd/containerboot,util/linuxfw: create a SNAT rule for dst/src only once, clean up if needed (#13658) 2024-10-03 20:15:00 +01:00
version {release,version}: add DSM7.2 specific synology builds (#13405) 2024-09-24 15:00:37 -06:00
wf wf/firewall: allow link-local multicast for permitted local routes when the killswitch is on on Windows 2024-10-02 18:36:01 -05:00
wgengine wgengine: stop conntrack log spam about Canonical net probes 2024-10-05 12:51:55 -07:00
words
.gitattributes
.gitignore tstest/tailmac: add customized macOS virtualization tooling (#13146) 2024-08-19 15:01:19 -04:00
.golangci.yml
ALPINE.txt
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md
Dockerfile all: switch to and require Go 1.23 2024-08-22 12:31:08 -07:00
Dockerfile.base
LICENSE
Makefile ssh/tailssh: fix SSH on busybox systems 2024-08-21 11:44:41 -05:00
PATENTS
README.md all: switch to and require Go 1.23 2024-08-22 12:31:08 -07:00
SECURITY.md
VERSION.txt VERSION.txt: this is v1.75.0 (#13454) 2024-09-12 20:19:46 +00:00
api.md {api.md,publicapi}: remove old API docs (#13468) 2024-09-13 14:10:33 -06:00
assert_ts_toolchain_match.go tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 2024-10-06 15:22:04 -07:00
build_dist.sh
build_docker.sh
flake.lock nix: update nix and use go 1.23 2024-08-29 17:25:13 +02:00
flake.nix gokrazy, various: use point versions of Go and update Nix deps 2024-09-16 16:06:43 -04:00
go.mod cmd/{k8s-operator,containerboot},k8s-operator,kube: reconcile ExternalName Services for ProxyGroup (#13635) 2024-10-04 13:11:35 +01:00
go.mod.sri go.mod.sri: update SRI hash for go.mod changes 2024-09-05 10:06:02 -07:00
go.sum go.mod: upgrade golangci-lint 2024-09-26 17:08:54 -04:00
go.toolchain.branch all: switch to and require Go 1.23 2024-08-22 12:31:08 -07:00
go.toolchain.rev go.toolchain.rev: bump oss, test toolchain matches go.toolchain.rev 2024-09-19 20:27:59 -07:00
gomod_test.go
header.txt
pkgdoc_test.go
pull-toolchain.sh
shell.nix go.mod.sri: update SRI hash for go.mod changes 2024-09-05 10:06:02 -07:00
staticcheck.conf
update-flake.sh
version-embed.go tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 2024-10-06 15:22:04 -07:00
version_tailscale_test.go tailscaleroot: panic if tailscale_go build tag but Go toolchain mismatch 2024-10-06 15:22:04 -07:00
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.23. (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.