GSoC 2018: GNUnet WebUI (Interfaccia Utente GNUnet basata sul Web)


Martedì, 14/08/2018 - 07:55, Phil Buschmann

What was done?

Nel contesto del Google Summer of Code 2018, ho lavorato con il mio mentore (Martin Schanzenbach) alla creazione e ampliamento dell'API REST di GNUnet. Ad oggi, abbiamo rispecchiato le funzionalità dei seguenti comandi:

  • gnunet-identity
  • gnunet-namestore
  • gnunet-gns
  • gnunet-peerinfo

Inoltre, abbiamo sviluppato un sito web con il framework Javascript Angular 6 e il framework di progettazione iotaCSS per usare il nuovo API REST. Ora, l'API REST di GNUnet è documentato con Sphinx.

Why did we create a REST API?

... quando è possibile usare gli strumenti da riga di comando? È necessario ricordare che tutti hanno il diritto alla sicurezza e alla privacy, ma non tutti si trovano bene ad usare un terminale. L'accesso REST agli API GNUnet sviluppato ulteriormente, in aggiunta alla nuova applicazione web, permette ai nuovi utenti di interagire con GNUnet tramite uno strumento che conoscono bene: il loro browser. Questa aggiunta all'API C e gli strumenti da riga di comando potrebbero far avvicinare nuovi utenti e sviluppatori.

How can we use it?

  1. L'API REST sviluppato in GNUnet
    L'API REST è già incorporato nell'archivio gnunet.git (Git Principale GNUnet).
    Per usare le nuove funzionalità, clonare l'archivio e seguire l'Installazione su gnunet.org. Poi, avviare il servizio rest tramite "gnunet-arm -i rest".
  2. Applicazione Web
    L'applicazione web è disponibile nell'archivio gnunet-webui.git (Git Interfaccia Utente Web GNUnet).
    È necessario installare la versione più recente di "nodo" e "yarn". A seconda del sistema operativo, potrebbe essere necessario scaricare versioni più recenti e installarle manualmente e non tramite il gestore di pacchetti. Quando l'installazione è andata a buon fine, è necessario clonare l'archivio. Poi, è necessario eseguire "installazione yarn" e "avvio yarn" per fare un test. Per distribuire il sito web (ricorda che questo sito comunica con un'altra istanza localhost) usa "compilazione yarn" per compilare l'applicazione web e usare l'output nella directory "dist".
  3. Documentazione
    La documentazione è disponibile nell'archivio gnunet-rest-api.git (Documentazione Git API REST GNUnet ).
    Clonare l'archivio e "creare html". Poi aprire "index.html" in "build/html/".

Per favore, provate a contattarmi se trovate bug o funzionalità non intenzionali. ;)

What can be improved?

Al momento, il processo di compilazione dell'applicazione web potrebbe essere un po' troppo complesso per un utente occasionale. Potremmo riuscire a risolvere il problema usando docker.
Inoltre, l'applicazione web non impedisce input sbagliati, ma risponde con messaggi di errore. Attualmente, l'aggiunta di Record GNUnet è utilizzabile solo da chi conosce il funzionamento dei Record GNS. Lo stesso vale per qualsiasi tipo di record.
Ultimo, ma non meno importante, funzionalità aggiuntive, modifiche di progettazione, ecc...

Grazie per aver letto.