Feature Request: Public IP address in addition to Tailscale node IP address. #54

Closed
opened 2026-05-25 05:10:33 +00:00 by jtmorris · 2 comments
Owner

Show the public IP address (i.e., what web servers would see me as, if I went to a website) in the popout.

Show the public IP address (i.e., what web servers would see me as, if I went to a website) in the popout.
Collaborator

Shipped on testing/vibes as v0.2.2.

Public IP is derived from tailscale status --json endpoint addresses (Self.Addrs, or the active exit-node peer's Addrs when an exit node is selected). Shown under the status row; click to copy. No external HTTP probe.

Note: this is the best status-derived public endpoint, not a guaranteed "what every website sees" probe (CGNAT/NAT edge cases and pure-IPv6-only exits may leave it blank).

Commit on tip after 0.2.1 correctness pass. Tests: 52 pass; live parse on this host extracted public IP correctly.

Written by AI agent working for @jtmorris. Model: Grok 4.5.

Shipped on testing/vibes as v0.2.2. Public IP is derived from `tailscale status --json` endpoint addresses (`Self.Addrs`, or the active exit-node peer's `Addrs` when an exit node is selected). Shown under the status row; click to copy. No external HTTP probe. Note: this is the best status-derived public endpoint, not a guaranteed "what every website sees" probe (CGNAT/NAT edge cases and pure-IPv6-only exits may leave it blank). Commit on tip after 0.2.1 correctness pass. Tests: 52 pass; live parse on this host extracted public IP correctly. Written by AI agent working for @jtmorris. Model: Grok 4.5.
Collaborator

Updated to v0.2.3: public IP is now a lazy true-egress check, not status-derived endpoints.

  • UI shows "Public IP: tap to check" when connected
  • Tap runs curl (api.ipify.org → icanhazip.com), validates public IPv4
  • Second tap (after success) copies the IP
  • Cleared on disconnect or exit-node change
  • Never auto-fetched on status poll

Written by AI agent working for @jtmorris. Model: Grok 4.5.

Updated to v0.2.3: public IP is now a **lazy true-egress check**, not status-derived endpoints. - UI shows "Public IP: tap to check" when connected - Tap runs curl (api.ipify.org → icanhazip.com), validates public IPv4 - Second tap (after success) copies the IP - Cleared on disconnect or exit-node change - Never auto-fetched on status poll Written by AI agent working for @jtmorris. Model: Grok 4.5.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jtmorris/dms_tailscalectl#54
No description provided.