feat: resolve .numa services to LAN IP for remote clients #23

Merged
razvandimescu merged 3 commits from feat/lan-proxy-reachability into main 2026-03-30 04:15:42 +08:00
razvandimescu commented 2026-03-30 03:43:00 +08:00 (Migrated from github.com)

Summary

  • Remote DNS clients (e.g. phone on same WiFi) now receive the host's LAN IP instead of 127.0.0.1 for local .numa services
  • Proxy auto-binds to 0.0.0.0 when DNS server is already on 0.0.0.0 (default), so the reverse proxy is reachable from other devices
  • Startup banner shows a yellow warning when proxy remains on 127.0.0.1 (not LAN reachable)

Test plan

  • Set phone DNS to laptop's LAN IP, verify .numa services resolve to LAN IP (not 127.0.0.1)
  • Verify proxy serves .numa pages to the phone over HTTP/HTTPS
  • Verify local queries still resolve to 127.0.0.1
  • Verify API remains on 127.0.0.1 (not exposed to LAN)
  • Verify warning appears when proxy is explicitly set to 127.0.0.1 with DNS on non-public address
  • make all passes (111 tests, clippy, fmt, audit)

🤖 Generated with Claude Code

## Summary - Remote DNS clients (e.g. phone on same WiFi) now receive the host's LAN IP instead of `127.0.0.1` for local `.numa` services - Proxy auto-binds to `0.0.0.0` when DNS server is already on `0.0.0.0` (default), so the reverse proxy is reachable from other devices - Startup banner shows a yellow warning when proxy remains on `127.0.0.1` (not LAN reachable) ## Test plan - [x] Set phone DNS to laptop's LAN IP, verify `.numa` services resolve to LAN IP (not `127.0.0.1`) - [x] Verify proxy serves `.numa` pages to the phone over HTTP/HTTPS - [x] Verify local queries still resolve to `127.0.0.1` - [x] Verify API remains on `127.0.0.1` (not exposed to LAN) - [x] Verify warning appears when proxy is explicitly set to `127.0.0.1` with DNS on non-public address - [x] `make all` passes (111 tests, clippy, fmt, audit) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.