Zero‑Config Hardware Monitor for a Remote Server Behind CGNAT
Description and use
PeekESP enables zero‑config monitoring of a remote server behind CGNAT using an ESP32 display and a Cloudflare Worker relay.
Problem
Monitoring a home server behind CGNAT without VPN or port forwarding was impossible; SSH access was unreliable and required manual checks.
Outcome
PeekESP provides instant, zero‑config monitoring of remote machines behind CGNAT, eliminating the need for VPNs or port forwarding.
Workflow
- 1. Deploy a Cloudflare Worker with a Durable Object to act as a relay.
- 2. Flash the ESP32 with PeekESP firmware (Arduino IDE/PlatformIO, LVGL 8.3).
- 3. On first boot, the device displays a 10‑character code (e.g., K7M2-P4QX-9R).
- 4. Enter the code into the desktop app; the app derives stream ID and auth tokens independently.
- 5. The server runs a lightweight Python agent (dependency‑free, DietPi) that pushes metrics to the Worker.
- 6. The ESP32 polls the Worker for updates and renders them on its display.
- 7. For multiple machines, use the same code and swipe between them via the device button.
Evidence
Both ends dial out to a Cloudflare Worker on the free tier using a Durable Object. The server pushes, the display polls, and neither needs an inbound port.
Setup takes one code. The device shows 10 characters on first boot (e.g., K7M2-P4QX-9R), you type them into the desktop app, and the stream ID and auth tokens are derived independently on each side.
- Record date: 2026-09-10T17:31:17.352Z