tailscale / tailscale/tailscale
running `tailscale whois --json` against nodes running 1.96.2 no longer always returns the public IP in `.Node.Endpoints`
- Dominant language
- Go
- Stars
- 36.5k
- Forks
- 3.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 132
Description
### Bug
I noticed that running
```
tailscale whois --json | jq .Node.Endpoints
```
against nodes running 1.96.2 no longer reliably shows the public IPv4 addresses. This is in contrast to previous versions e.g. 1.92.3 or 1.94.2 where it is shown.
### Examples
this node is running 1.92.3
```
$ tailscale whois --json 100.113.0.100 | jq .Node.Endpoints
[
"172.56.162.149:7986",
"[2607:fb90:5521:xxx:74a5:f6f8:d6b4:fee5]:41641",
"25.241.166.235:41641",
"192.168.191.1:41641",
"[2607:fb90:5521:xxx::1]:41641"
]
```
this node is running 1.96.2
```
$ tailscale whois --json 100.114.101.103 | jq .Node.Endpoints
[
"[2001:470:1f07:xxx:f81d:3bf6:23e4]:41641",
"192.168.20.40:41641",
"192.168.20.41:41641",
"[2001:470:1f07:xxx:f762:6f9e:8fd5]:41641",
"[2001:470:1f07:xxx:dad5:4f00:3e5e]:41641",
"[2001:470:1f07:xxx:5222:5e9c:7198]:41641"
]
```
as is this one:
```
$ tailscale whois --json 100.114.49.92 | jq .Node.Endpoints
[
"10.0.0.1:41641",
"192.168.20.51:41641",
"192.168.40.51:41641"
]
```
Contributor guide
Research direction
Start by reproducing `tailscale whois --json | jq .Node.Endpoints` against nodes running 1.96.2, then compare with 1.92.3 and 1.94.2 using the examples in this issue. Trace the `tailscale whois --json` path and endpoint population, and confirm that public IPv4 addresses are reliably included in `.Node.Endpoints` without losing the other endpoint entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100