WifiSpy

BLE provisioning Β· LAN tunnel
disconnected

Drop an ESP32 on any network β€” reach it from your server.

Pair with a freshly-flashed ESP32 over Bluetooth and hand it a WiFi network. The device then dials home over WebSocket and exposes every TCP service on its LAN through this backend's SOCKS5 proxy.

No router config. No port forwards. No static IPs.

  • πŸ“Ά Scan & join Wi-Fi
    Live signal-sorted list, sent over BLE.
  • πŸͺͺ Editable creds
    Mint a fresh device, paste your own, or rotate. You decide what gets pushed.
  • πŸ›° Pick the backend
    Set the ws:// URL the node will dial. Remembered between sessions.
ESP32 not showing up?
  • Power-cycle the device. It advertises as WifiSpy-XXXXXX when un-provisioned.
  • Hold BOOT for 5 seconds to factory-reset an already-provisioned device.
  • Web Bluetooth needs Chrome/Edge over HTTPS or localhost. Linux snap/flatpak Chrome is blocked β€” install the official .deb.

Status

β€”
Device
β€”
Label
β€”
Firmware
β€”
MAC
β€”
WiFi
β€”
SSID
β€”
IP
β€”
Backend
β€”
Claimed
β€”
Last result
β€”

Device credentials

What the ESP32 needs to dial home: a backend WS URL plus its device_id and token. Use Register to mint a fresh record on this backend, or paste your own values and push. The server address is remembered between visits.

β€”

WiFi networks

β€”

Click a network to enter its password and connect.

Connect to a hidden network

Hidden networks don't broadcast their SSID β€” enter the name manually.

Log