Skip to content
Alessandro Gubitosi edited this page May 1, 2014 · 32 revisions

Semantic Decentralized Ninuxoo

Ninuxoo claim

Abstract

Ninuxoo 2.0 è un sistema cloud decentralizzato, in grado di gestire e sincronizzare dispositivi di storage remoti o all'interno di una stessa rete. Tutte le risorse con tale software possono essere collegate fra loro in una rete di fiducia (previa autorizzazione degli amministratori), e condividere informazioni riguardo ai files in condivisione. La caratteristica principale è il livello di anonimato anche attraverso una connessione non protetta, dovuto alla completa cifratura di tutte le transazioni, che non consente l'individuazione delle risorse collegate tra loro.

Premessa

Ninuxoo è un Motore di Ricerca e di Indicizzazione originariamente creato da Clauz per la Rete Comunitaria Ninux, ed è sviluppato su un Server centrale che esplora la Wireless Community Network in cerca di NAS da scansionare.
Questo lo rende molto utile ma allo stesso tempo troppo dispendioso in termini di risorse impiegate e non sostenibile quando la Rete inizia a contare molti nodi con NAS che devono essere scansionati.
Inoltre l'utente non ha la possibilità - al di là della semplice condivisione SAMBA - di poter scegliere cosa condividere globalmente, e infine, se il server principale su cui funziona Ninuxoo presenta dei problemi tutto il servizio può decadere.
Questo repository, quindi, è un primo approccio verso la completa decentralizzazione necessaria a risolvere questi problemi, ed è anche uno spunto per estendere i servizi interni alla Rete.

Per maggiori informazioni, consultare la relativa pagina delle releases


Princìpi di funzionamento

Molti NAS hanno preinstallato un software Server, il ché li rende attivi e raggiungibili attraverso un browser qualunque presso il loro indirizzo IP.
Questo fattore può già risolvere un grande problema: la scansione dei files.
Perciò, perché non lasciare che i NAS stessi si occupino di questo compito altrimenti stressante da remto?

Seguendo questo principio, i Server locali scansionano ognuno le proprie directory condivise, quindi ne esportano una lista ad albero nella directory API, così facendo al Server Principale non resta altro che caricare e interpretare un semplice file di testo: basta ricorsività remote!
Naturalmente, i proprietari dei NAS decentralizzati sono incentivati dal fatto che hanno a disposizione un proprio Motore di Ricerca locale, oltre che una base per ospitare altri servizi molto utili e implementabili, quali un pannello di amministrazione, un'interfaccia Meteo, delle pagine personalizzate e altri plugin in corso di implementazione.


Componenti aggiuntivi

Interfaccia Meteo

Nonostante venga presentata assieme al software originale, l'interfaccia Meteo non è in sé necessaria ai fini del funzionamento di Ninuxoo, tuttavia è un servizio molto utile, che può rivelarsi uno strumento d'oro in molt casi tra i quali:

  • Si vuole comprendere le dinamiche legate ad un eventuale down di un nodo (a volte accade anche nel senso fisico del termine);
  • Nel caso in cui si dispone di una Stazione Meteorologica, si vuole fornire una motivazione valida che "giustifichi" la presenza del nodo in casi di vicinato particolarmente insofferente ("quell'antenna serve per inviare i dati al Servizio Meteorologico Nazionale");
  • Si vuole semplicemente offrire un servizio in più con un'interfaccia accattivante.

Bisogna evidenziare, che l'interfaccia Meteo funziona anche se non si è dotati di una Stazione di sensori Meteo perché di default acquisisce i dati dal servizio OpenWeatherMap.


API

Il Sistema è stato progettato per intercomunicare con altri NAS in maniera sicura e cifrata. Per questo motivo sono stati sviluppati dei meccanismi che forniscono suggerimenti di conoscenza al proprietario del NAS, e in caso affermativo avviano un processo di scambio chiavi e token tra device.
Per maggiori informazioni vedi Tokens e processo di scambio chiavi tra device.


Installazione e configurazione

Consultare la pagina dedicata: Installare Ninuxoo in locale

Licenza

Questo è un Progetto Open Source.
Sentitevi liberi di modificarlo e migliorarlo come preferite.
Per maggiori informazioni, consultare la Licenza con cui è stato rilasciato.