DISCLAIMER
L'applicazione Android ed il firmware Darkmesh sono forniti senza alcuna garanzia di funzionamento o affidabilità, né espressa né implicita.
L’utilizzo avviene a totale responsabilità dell’utente.
L'autore del software declina ogni responsabilità per eventuali violazioni di normative, danni diretti, indiretti, accidentali o consequenziali derivanti dall’uso, dall'uso improprio o dall’impossibilità di utilizzo del software.
L’utilizzo del software comporta l’accettazione implicita delle condizioni sopra indicate.
Se prevedi di usare MQTT o di controllare il nodo da remoto tramite Wi-Fi, questo progetto non è adatto al tuo caso d’uso.
NO SUPPORT POLICY
L’autore del progetto DarkMesh non fornisce supporto tecnico individuale, assistenza personalizzata, debug remoto o consulenza diretta tramite Telegram, email o messaggi privati.
Il progetto è destinato esclusivamente a utenti con competenze tecniche avanzate, in grado di operare in autonomia su firmware embedded, flashing manuale, diagnostica tramite log e risoluzione di problemi hardware e software. Il comportamento dell'applicazione si trova nel codice sorgente, pubblico, chiunque può leggerlo, analizzarlo staticamente e avere le risposte a ogni domanda.
Eventuali segnalazioni di malfunzionamenti possono essere effettuate esclusivamente tramite i repository GitHub, sottomettendo una dettagliata issue , corredata da informazioni tecniche complete (versione firmware, hardware utilizzato, log, configurazione, come riprodurre l'errore in tutti i suoi dettagli).
Segnalazioni generiche del tipo “non funziona”, richieste di assistenza di base o domande poste al di fuori di questi canali non verranno prese in considerazione.
MESH NETIQUETTE
La rete mesh in Italia sta crescendo rapidamente. Questa netiquette nasce come riferimento condiviso per promuovere comportamenti responsabili e costruire insieme uno spazio libero, aperto e rispettoso. Qui trovi le linee guida per contribuire al buon funzionamento della rete.
MESH ROLES
I ruoli definiscono il comportamento dei nodi nella rete Meshtastic: scegliere correttamente tra dispositivi mobili (CLIENT_MUTE) e nodi fissi (CLIENT_BASE) è fondamentale per evitare flooding, ridurre le collisioni radio e garantire una mesh stabile ed efficiente. Leggi i consigli sui ruoli.
DARKMESH
DarkMesh è un fork indipendente e uno sviluppo autonomo Android/Firmware del progetto Meshtastic, con un focus su messaggi schedulati, affidabilità e inoltro metadati su mappe online (non di default ma configurabile).
Progettato per utenti avanzati e operatori sul campo, DarkMesh introduce una serie di funzioni inedite che migliorano l’esperienza di rete decentralizzata e l’interazione tra nodi.
// DarkMesh Android Notes
- Hunting Mode — invia in tempo reale le telemetrie dei nodi a un server remoto per la visualizzazione su mappa dinamica. Breve guida qui!
- Message Scheduling — pianifica l’invio di messaggi privati o di gruppo a orari specifici.
- Beaconing — consente l’invio periodico di beacon con testo personalizzato, utile per segnalazione o identificazione automatica.
- Gateway Detection — l'applicazione è in grado di rilevare quale nodo più vicino ci permette di comunicare con la mesh combinando 3 logiche separate per aumentare la precisione della rilevazione.
- Reply Messages — è possibile fare swipe to reply su ogni messaggio invece che onetap al contrario della release ufficiale.
- Traceroute Visualization — è possibile visualizzare il traceroute di andata e ritorno sulla mappa con colori distinti e la distanza totale percorsa.
- Efficient Plus Codes — è possibile configurare il distress beacon utilizzando Plus Codes brevi all’interno dei messaggi di testo, codificati tipicamente in ~8–9 caratteri ASCII. Questo riduce significativamente la dimensione del payload sulla mesh, diminuendo l’airtime e migliorando l’affidabilità della comunicazione.
- NodeDb import/export — Feature che permette l'esportazione e l'importazione di nodi in formato .dmdb per poi poterlo reimportare successivamente. Utile per salvare ad esempio una lista di nodi comprendente una zona specifica. La feature permette di poter salvare anche solo i nodi preferiti.
- Compressione messaggi Unicode DarkMesh introduce la compressione dei messaggi, riducendo il payload (es. da ~30 a ~20 caratteri), con conseguente traffico radio più leggero, migliore efficienza su LoRa e maggiore probabilità di consegna, è supportata solo da firmware DarkMesh.
DarkMesh Android è inoltre più verbosa: l’app notifica con toast ogni volta che un messaggio viene ritrasmesso o viene eseguito un trace verso il proprio nodo, offrendo piena trasparenza sugli eventi di rete.
// DarkMesh Firmware Notes
- Sleep recovery Patch — il firmware è stato patchato per evitare il blocco in sleep infinito quando la batteria di un nodo si scarica completamente, garantendo il corretto riavvio al ripristino dell’alimentazione.
- Auto Zero Cost Hop — automazione che permette l'inserimento automatico dei nodi infrastruttura come preferiti se il nodo stesso è un nodo infrastruttura.
- Console Module — funzionalità che permette di poter dialogare con un nodo opportunamente configurato per ricevere telemetrie istantanee.
- Silent Mode (INTERNAL - ESP32 Only)
- Probe Mode (INTERNAL)
// DarkMesh Android Repository
Il codice sorgente di DarkMesh è disponibile pubblicamente su GitHub. Chiunque può scaricarlo, modificarlo o contribuire al progetto nel rispetto della licenza open source.
Ultima release disponibile:🔗 https://github.com/emp3r0r7/DarkMesh/releases
Rilasciato sotto licenza GNU General Public License v3.0 (GPL-3.0).
// DarkMesh Firmware Precompiled Bins & Repository
Firmware Repository:
🔗 https://github.com/emp3r0r7/DarkMesh-Firmware
Ogni branch del repository corrisponde a una specifica versione del firmware (forkata dal repo di Meshtastic); per questo motivo è necessario utilizzare Git per navigare tra i vari branch e selezionare quello associato alla versione di interesse.
Binari precompilati di DarkMesh-Firmware disponibili pubblicamente su Google Drive.
Il nome della cartella versionata corrisponde alla funzionalità principale rilasciata. Eg. 2.7.15-PowerPatch corrisponde al firmware che risolverà la problematica di sleep infinito quando la batteria viene scaricata completamente più funzioni presenti cross-feature.🔗 https://drive.google.com/drive/darkmesh-firmware
// PowerPatch Notes:
- Threshold a 3.4V con deepsleep per protezione batteria con conseguente retry ogni 12ore e check batteria, se è carica (>3.4V) il dispositivo torna a funzionare, altrimenti sleep di nuovo fino alla prossima iterazione dopo altre 12ore.
- Traceroute con cooldown a 5 secondi di default.
- TX EU868 sbloccato lato FW potenza in uscita fino a 30dbm in base alle capabilities dell'hardware (le regole le sai, se qualcuno ti viene a cercare la responsabilità è tua.). La potenza in uscita è comunque regolabile, è stato solo tolto il blocco a 27dbm.
// DarkMesh Telegram Channel
È disponibile un canale Telegram ufficiale dedicato a DarkMesh, utilizzato esclusivamente per aggiornamenti, annunci e comunicazioni importanti relative allo sviluppo del progetto.
⚠️ Il canale non è un gruppo di supporto: non è possibile inviare messaggi, fare domande o richiedere assistenza diretta.
Tutte le informazioni tecniche, guide e aggiornamenti vengono pubblicati direttamente nel canale.
// DarkMesh LoRa Channel
Il nome del canale è case sensitive, copiatelo tutto maiuscolo esattamente così com'è. Questa chat è pensata principalmente per utenti che utilizzano l'app DarkMesh, ma può essere utilizzata anche da chi usa l'app ufficiale.
CHAN NAME
DARKMESH
PSK
0aENg6+cdWcRyOeUO7H5rjJ1DteO+6I+wCMDYYfuSTc=
// DarkMesh LoRa COMPRESSED
Usate solo messaggi compressi in questo canale per sperimentazione, dovete usare l'APP e il FW di DarkMesh all'ultima versione.
CHAN NAME
DARKMESH.7z
PSK
LX6ANkFYWN5CZh5Di06jdP4AfzULkC3XE5LUHSVE4cU=
// DarkMesh Database Nodi
// Materiali Testati
// Guide
DarkMesh è cresciuto nel tempo ed è oggi adottato da numerosi utenti. La sua evoluzione richiede manutenzione continua, aggiornamenti costanti e nuove funzionalità (sviluppato e manutenuto solamente da me). Un supporto volontario contribuisce a sostenere lo sviluppo e a garantirne la continuità nel lungo periodo.