user dfbd2a2196 feat: v0.1.4 — device intelligence dashboard
Add tabbed dashboard at /dashboard/ with three D3.js visualizations:
- Vendor treemap (devices grouped by type and vendor)
- SSID social graph (force-directed, shared probed SSIDs as edges)
- Fingerprint clusters (packed circles by device behavior)

Intelligence API endpoints at /api/v1/intelligence/ with param
validation. Dashboard built on htmx + Pico CSS dark theme + D3 v7,
all vendored locally (make vendor). 13 new tests (59 total).
2026-02-06 18:59:53 +01:00
2026-02-05 20:56:52 +01:00
2026-02-05 20:56:52 +01:00
2026-02-05 21:06:05 +01:00
2026-02-05 21:06:05 +01:00

ESP32-Web

REST API backend for ESP32 sensor fleet (OPSEC/OSINT/Purple team).

Quick Start

# Clone and install
cd ~/git/esp32-web
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

# Initialize database
flask --app src/esp32_web db init
flask --app src/esp32_web db migrate -m "initial"
flask --app src/esp32_web db upgrade

# Start server
make start
make status

Server Management

make start    # Start server (0.0.0.0:5500)
make stop     # Stop server
make restart  # Restart server
make status   # Show PID + uptime
make logs     # Tail log file

API Endpoints

Base URL: http://localhost:5500

Method Endpoint Description
GET /health Health check with uptime
GET /api/v1/sensors List sensors
GET /api/v1/sensors/<hostname> Get sensor
POST /api/v1/sensors/<hostname>/command Send command
GET /api/v1/devices List devices
GET /api/v1/devices/<mac> Get device + sightings
GET /api/v1/alerts List alerts
GET /api/v1/events List events
GET /api/v1/probes List probe requests
GET /api/v1/probes/ssids List SSIDs with counts
GET /api/v1/stats Aggregate statistics

Network Ports

Port Protocol Description
5500 TCP HTTP REST API
5500 UDP Sensor data collector
5501 UDP Sensor commands (outbound)

Documentation

License

MIT

Description
No description provided
Readme 220 KiB
Languages
Python 82.8%
JavaScript 9.6%
Makefile 2.8%
CSS 2.1%
HTML 2%
Other 0.7%