Interfaccia web completa per la gestione delle identità Reticulum (RNS) e il monitoraggio in tempo reale degli annunci di rete.
Questo progetto fornisce un'interfaccia web intuitiva per:
- Gestire identità RNS (creare, importare, esportare, visualizzare)
- Monitorare annunci RNS in tempo reale con filtri avanzati
- Eseguire comandi RNS (rnstatus, rnpath, rnprobe) tramite interfaccia grafica
- Cifrare/decifrare file e testo con identità RNS
- Firmare e verificare file digitalmente
- ✅ Visualizzazione di tutte le identità RNS (reticulum, nomadnet, lxmf, rnphone, meshchat)
- ✅ Importa/esporta identità in formati HEX, Base32, Base64
- ✅ Generazione nuove identità
- ✅ Verifica e analisi hash (identità pubbliche)
- ✅ Calcolo hash aspect per destinazioni RNS
- ✅ Cifratura/decifratura file e testo
- ✅ Firma digitale e verifica firme (.rsg)
- 📡 Monitoraggio in tempo reale annunci RNS via SSE (Server-Sent Events)
- 🔍 Filtri per aspect, ricerca testuale, ordinamento
- 📊 Statistiche dettagliate e analisi identità
- 🏷️ Riconoscimento automatico aspect con cache
- 💾 Cache persistente su disco (7 giorni di storico)
- 🖱️ Interfaccia interattiva con modal per comandi rnpath/rnprobe
- Python 3.7 o superiore
- Reticulum installato e configurato
- rnid, rnstatus, rnpath, rnprobe disponibili nel PATH
# Clona il repository
git clone git@github.com:argo79/RNS-Manager.git
cd RNS-Manager
# Installa le dipendenze
pip install flask
# R省i sicuro che Reticulum sia installato
pip install rns
# Avvia il server
python3 rns_manager.py
Poi apri il browser su:
Identity Manager: http://localhost:5000/
Aspect Monitor: http://localhost:5000/monitorrns-identity-manager/
├── manager.py # Server Flask principale
├── Readme.md # This file
├── modules/
│ ├── rns_monitor.py # Modulo RNS Monitor
├── static/
│ └── rns_monitor.css # Stili CSS
├── templates/
│ ├── index.html # Identity Manager
│ └── monitor.html # Aspect Monitor
└── README.mdIl programma cerca identità in:
~/.reticulum/storage/
~/.nomadnetwork/storage/
~/.lxmf/storage/
~/.rnphone/
~/.reticulum-meshchat/
~/.rns_manager/storage/Cache e downloads:
~/.rns_manager/Cache/ - Cache annunci e identità
~/.rns_manager/Downloads/ - File elaborati
~/.rns_manager/storage/ - Imported identitiesIdentity Manager
Carica identità: Premi "Carica" per visualizzare le identità trovate
Seleziona identità: Clicca su un'identità per selezionarla
Operazioni:
ℹ️ Info identità - Visualizza dettagli
📢 Annuncia - Annuncia un aspect
Import/Export - Gestisci identità in vari formati
Genera - Crea nuove identità
Aspect Monitor
Live view: Visualizza annunci in tempo reale
Filtri: Filtra per aspect, cerca testo, ordina
Identità: Analizza statistiche per identità
Statistiche: Grafici e conteggi
Clicca sugli hash per aprire il modal con comandi:
🛣️ rnpath - Visualizza percorso
📡 rnprobe - Invia probe
🕳️ rnpath -p - Controlla blackhole
Cache identità
Le identità vengono cachate per 6 ore per prestazioni ottimali. Per forzare una scansione completa, premi "Ricerca profonda". Cache annunci
Gli annunci vengono salvati automaticamente ogni 60 secondi e mantenuti per 7 giorni in ~/.rns_manager/Cache/announce_cache.json. Personalizzazione percorsi
Modifica USER_DIRECTORIES in manager.py per aggiungere/rimuovere directory di ricerca.
Identity Manager
GET /api/identities/list - Lista identità (con cache)
POST /api/identities/import/file - Importa da file
POST /api/identities/import/data - Importa da dati
POST /api/identities/export - Esporta identità
POST /api/identities/generate - Genera nuova identità
POST /api/rnid - Esegui comando rnidMonitor
GET /api/monitor/stats - Statistiche monitor
GET /api/monitor/history - Storico annunci
GET /api/monitor/stream - SSE per aggiornamenti live
GET /api/monitor/cache/stats - Statistiche cache
POST /api/monitor/cache/clear - Pulisci cacheComandi RNS
GET /api/rns/status - rnstatus
GET /api/rns/paths - rnpath
POST /api/rns/probe - rnprobe
Utilizzabile su Android via termux.
Entrare su Termux e scaricare il repo!
git clone https://github.com/argo79/RNS-Manager.git
cd RNS-Manager/
pip install -r requirements.txt --break-system-packages
python3 rns_manager.py
Aprire il browser su Android e puntare su
http://127.0.0.1:5000
Fai un fork del progetto Crea un branch per la tua feature (git checkout -b feature/AmazingFeature) Commit le tue modifiche (git commit -m 'Add AmazingFeature') Push al branch (git push origin feature/AmazingFeature) Apri una Pull Request
Distribuito sotto licenza MIT.
🙏 Ringraziamenti
Reticulum Network Stack - Il fantastico stack di rete
Flask - Framework web leggero
Reticulum Network Stack - Il fantastico stack di rete
Flask - Framework web leggero
Arg0net - arg0netds@gmail.com
Link progetto: https://github.com/argo79/RNS-Manager
La scansione iniziale delle identità può richiedere 10-30 secondi con molte identità Alcuni aspect potrebbero non essere riconosciuti correttamente Su dispositivi mobili, alcune tabelle potrebbero richiedere scorrimento orizzontale
Supporto per multiple lingue Esportazione statistiche in CSV/JSON Gestione gruppi di identità Integrazione con Nomad Network per messaggistica Autenticazione e multi-utente Dark/light mode toggle