ae19703de96262d0f9853cb0c593c8b66d9a944a
ZeroCentral
Dashboard per monitorare lo stato di tutti i nodi su una rete ZeroTier.
Funzionalità:
- Interroga l'API ZeroTier per ottenere la lista dei nodi
- Effettua ping periodico (ogni 10 secondi) a ogni nodo
- Mostra dashboard web con:
- Hostname del nodo
- Indirizzo IP ZeroTier
- Stato online/offline (semaforo verde/rosso)
- Ultimo time di verifica
Setup
1. Copia il file di configurazione
cp .env.example .env
2. Configura il token ZeroTier
Modifica .env e aggiungi il tuo token ZeroTier:
ZEROTIER_TOKEN=tuoTokenQui
3. Installa dipendenze
python3 -m venv venv
source venv/bin/activate # su Windows: venv\Scripts\activate
pip install -r requirements.txt
4. Avvia l'app
python3 app.py
L'app sarà disponibile su http://localhost:5000
Come usare
- Accedi a
http://localhost:5000 - Inserisci il Network ID della rete ZeroTier (16 caratteri)
- Clicca "Connetti"
- La dashboard inizierà a monitorare i nodi e aggiornerà lo stato ogni 5 secondi
API Endpoints
GET /- Dashboard webGET /api/status- Health checkGET /api/nodes?network_id=<id>- Lista nodi con stato
Architettura
Frontend (HTML/JS/CSS)
↓
Flask REST API
↓
Background Worker (threading)
├→ ZeroTier API Client
└→ Ping Service (ogni 10s)
Files
app.py- Applicazione Flask principaleconfig.py- Configurazionezerotier_client.py- Client per API ZeroTierping_service.py- Servizio di ping periodicotemplates/dashboard.html- Dashboard webstatic/style.css- Stylingstatic/dashboard.js- Logica frontend
Description
Languages
Python
33.6%
JavaScript
29.1%
CSS
27.1%
HTML
10.2%