Mirror of tailscale/tailscale@github.com
Go to file
Sonia Appasamy c6a274611e client/web: use Tailscale IP known by peer node
Throughout the web UI, we present the tailscale addresses for the
self node. In the case of the node being shared out with a user
from another tailnet, the peer viewer may actually know the node
by a different IP than the node knows itself as (Tailscale IPs
can be configured as desired on a tailnet level). This change
includes two fixes:

1. Present the self node's addresses in the frontend as the addresses
   the viewing node knows it as (i.e. the addresses the viewing node
   uses to access the web client).

2. We currently redirect the viewer to the Tailscale IPv4 address if
   viewing it by MagicDNS name, or any other name that maps to the
   Tailscale node. When doing this redirect, which is primarily added
   for DNS rebinding protection, we now check the address the peer
   knows this node as, and redirect to specifically that IP.

Fixes tailscale/corp#16402

Signed-off-by: Sonia Appasamy <sonia@tailscale.com>
2023-12-14 16:36:33 -05:00
.bencher
.github cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
appc
atomicfile
chirp
client client/web: use Tailscale IP known by peer node 2023-12-14 16:36:33 -05:00
clientupdate clientupdate: add explicit Track to Arguments (#10548) 2023-12-11 09:20:42 -08:00
cmd cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
control
derp
disco
docs
doctor
envknob
health net/netcheck: use DERP frames as a signal for home region liveness 2023-12-13 16:33:46 -05:00
hostinfo
internal/tooldeps
ipn ipn/ipnlocal: fix usage of slices.Compact 2023-12-14 14:11:21 -05:00
jsondb
k8s-operator cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
kube
licenses
log
logpolicy
logtail
metrics
net net/netcheck: use DERP frames as a signal for home region liveness 2023-12-13 16:33:46 -05:00
packages/deb
paths
portlist
posture
prober prober: log HTTP response body on failure 2023-12-13 14:30:16 +00:00
proxymap
release
safesocket
scripts cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
smallzstd
ssh/tailssh
syncs
tailcfg
taildrop
tempfork
tka
tool
tsconst
tsd
tsnet
tstest cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
tstime
tsweb
types
util util/linuxfw: return created chain (#10563) 2023-12-12 15:55:02 +00:00
version
wf
wgengine wgengine/magicsock: fix handling of derp.PeerGoneMessage (#10589) 2023-12-14 12:54:19 -08:00
words words: some stellar additions 2023-12-12 17:35:48 -08:00
.gitattributes
.gitignore
.golangci.yml
ALPINE.txt
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md
Dockerfile
Dockerfile.base
LICENSE
Makefile cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
PATENTS
README.md
SECURITY.md
VERSION.txt VERSION.txt: this is v1.57.0 2023-12-13 15:30:30 -05:00
api.md
build_dist.sh
build_docker.sh
flake.lock
flake.nix go.mod.sri: update SRI hash for go.mod changes 2023-12-13 11:30:42 -08:00
go.mod cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
go.mod.sri go.mod.sri: update SRI hash for go.mod changes 2023-12-13 11:30:42 -08:00
go.sum cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
go.toolchain.branch
go.toolchain.rev
gomod_test.go
header.txt cmd/k8s-operator: operator can create subnetrouter (#9505) 2023-12-14 13:51:59 +00:00
pull-toolchain.sh
shell.nix go.mod.sri: update SRI hash for go.mod changes 2023-12-13 11:30:42 -08:00
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.21. (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.