Internet-wide device search and monitoring.
| Path | Description |
|---|---|
backend/ |
Rust REST API (Axum + SQLite) |
frontend/ |
Web console (Vite + React + TypeScript) |
scripts/ |
Discovery / DB population (discover.py) |
openapi.json |
OpenAPI specification |
API (default http://127.0.0.1:8080):
cd backend
cp .env.example .env # first time
cargo runThe API starts with an empty hosts corpus (migrations + alert trigger catalog only). To scan a range into the DB:
# deps: zmap, nmap, whois — see scripts/README.md (zmap usually needs root)
sudo ./scripts/discover.py --check-deps
sudo ./scripts/discover.py --db backend/lukidis.db 203.0.113.0/24UI (default http://127.0.0.1:5173):
cd frontend
npm install
npm run devOpen http://127.0.0.1:5173. The dev server proxies API calls to the backend
(http://127.0.0.1:8080), so the UI works with no API key. See
frontend/README.md for details.
This project is licensed under the MIT License. Copyright (c) 2026 Javier L. Cacenave.