GSoc 2018: GNUnet WebUI (Interfaz de usuario basada en la web GNUnet)


Martes, 14/08/2018 - 07:55, Phil Buschmann

What was done?

En el contexto de Google Summer of Code 2018, mi mentor (Martin Schazenbach) y yo trabajamos en la creación y expansión del REST API de GNUnet. Actualmente reflejamos la funcionalidad de los siguientes comandos:

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

Adicionalmente, desarrollamos un sitio web con el marco de Javascript Angular 6 y el diseño de marco iotaCSS para usar el nuevo REST API. El REST API de GNUnet está documentado ahora con Sphinx.

Why did we create a REST API?

... Cuándo podrá usar las herramientas de línea de comando? Necesitamos tener en cuenta que todos tienen el derecho a permanecer seguros y privados, pero no todos se sienten seguros al usar una terminal. El acceso restante desarrollado a REST a GNUnet APIs además de la nueva aplicación web permite a los usuarios nuevos interactuar con GNUnet por medio de una herramienta de amplio conocimiento: sus navegadores. Esta adición a la API C y las herramientas de línea de comando pueden atraer nuevos usuarios y desarrolladores.

How can we use it?

  1. The REST API developed in GNUnet
    The REST API is already merged into the gnunet.git repository (GNUnet Main Git).
    To use the new features, clone the repository and follow the Installation on gnunet.org. Then, start the rest service with "gnunet-arm -i rest".
  2. The Web Application
    The web application is available under the gnunet-webui.git repository (GNUnet WebUI Git).
    You need to install the newest version of 'node' and 'yarn'. Dependent on your system, you may need to download newer versions and install them manually and not over your packet manager. After the installation succeeded, you need to clone the repository. Then, you need to run "yarn install" and "yarn start" for testing purposes. To deploy the website (keep in mind, that this website communicates with another localhost instance) use "yarn build" for building the web application and use the output in the 'dist' directory.
  3. The Documentation
    The documentation is available under the gnunet-rest-api.git repository (GNUnet REST API Docmentation Git).
    Clone the repository and "make html". Then open the 'index.html' under 'build/html/'.

Por favor, pruébelo y contácteme si encuentra bugs o características no intencionadas. ;)

What can be improved?

Right now, the build process of the web application may be a little too complex for a casual user. We may be able to solve this by using docker.
Additionally, the web application does not prevent wrong inputs but responds with error messages. Adding GNUnet Records is currently only usable for people, who know how a GNS Record looks like. This can be adapted to each record type.
Last but not least, additional features, design changes, etc...

Gracias por leer.