Skip to content

feat: WAN exposure awareness (#96) - #105

Merged
reloadfast merged 1 commit into
mainfrom
feat/wan-exposure-96
Mar 2, 2026
Merged

reloadfast merged 1 commit into
mainfrom
feat/wan-exposure-96

Conversation

@reloadfast

Copy link
Copy Markdown
Owner

Closes #96

Detects and displays the public WAN IP in the dashboard.

Backend

  • _fetch_wan_ip() calls checkip.amazonaws.com (3s timeout, graceful fallback)
  • WAN IP stored as AppSettings (wan_ip, wan_ip_detected_at) on each scan
  • GET /api/network/wan returns { wan_ip, detected_at }

Frontend

  • useWanInfo hook in DashboardPage
  • WAN IP chip below page header; hidden when null
  • Tooltip: what the internet sees as your network address

Tests: 53 backend (↑2), 146 frontend (↑2)

- _fetch_wan_ip() in scan_runner calls checkip.amazonaws.com (3s timeout)
- _update_wan_ip() stores wan_ip + wan_ip_detected_at as AppSettings each scan
- GET /api/network/wan returns { wan_ip, detected_at } from AppSettings
- Dashboard: useWanInfo hook fetches /api/network/wan on mount
- Dashboard: WAN IP chip rendered below page header (hidden when null)
- Tooltip: 'This is what the internet sees as your network address'
- 2 new backend tests (53 total), 2 new frontend tests (146 total)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@reloadfast
reloadfast merged commit 2054980 into main Mar 2, 2026
7 checks passed
@reloadfast
reloadfast deleted the feat/wan-exposure-96 branch March 2, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: WAN exposure awareness (public IP detection + externally-reachable services)

1 participant