Cómo conectarnos a la red IPFS y navegar de forma segura y descentralizada

Escrito por Rubén Velasco

Ayer mismo os hablamos de Torrent-Paradise, un buscador de archivos torrent que copiaba la base de datos de The Pirate Bay para poder funcionar como una copia de seguridad de dicho portal, y además lo hacía a través de la red IPFS de manera que fuera imposible de cerrar gracias a la tecnología P2P. Sin embargo, de forma similar a la red Tor, las webs y los archivos IPFS no están disponibles a través de las conexiones estándar a Internet, sino que necesitamos de una pequeña configuración adicional para conectarnos a ella, configuración que nos explicamos en este manual.

Antes de entrar con la configuración, ¿sabemos realmente qué es IPFS? IPFS es un sistema distribuido a través del cual es posible compartir archivos, páginas web, aplicaciones y cualquier tipo de dato. Gracias a su naturaleza P2P, este sistema hace que sea muy complicado, casi imposible, cerrar una página web o afectarla por la censura. Además, es posible acelerar la conexión con los recursos que estén muy lejos.

IPFS nos va a permitir acceder a cualquier tipo de contenido, desde páginas web hasta canciones en MP3 o documentos. Cuando accedemos a este contenido automáticamente se indexa en nuestro ordenador, por lo que pasamos a ser un nodo de la red y, cuando una persona intenta acceder al mismo recurso, lo obtiene directamente de nosotros en vez de hacerlo desde un servidor centralizado. Lo mismo ocurre cuando vamos a visitar nosotros una web a través de esta red, y es que nos conectaremos al nodo más cercano.

Cómo instalar IPFS en nuestro ordenador

Hay varias formas de instalar esta red en nuestro ordenador, desde las más complicadas que pasan por crear nuestro propio binario hasta la más sencilla, que se resume en descargar ya una implementación de esta red, llamada go-ipfs, y ejecutar un par de comandos en la consola.

Nosotros vamos a utilizar este segundo método, y para ello accederemos al siguiente enlace y descargaremos el binario correspondiente a nuestro sistema operativo, ya sea Windows, macOS, Linux o FreeBSD.

Nosotros vamos a seguir los pasos en Windows, aunque para el resto de sistemas son exactamente idénticos. Una vez descargado go-ipfs, descomprimimos la carpeta y, desde una ventana de CMD, nos desplazamos hasta ella con el comando cd. Una vez dentro, simplemente ejecutaremos el siguiente comando para inicializar el repositorio y generar todos los ajustes y datos internos necesarios para el funcionamiento de esta herramienta.

  • ipfs init

IPFS - Configuración en Windows 1

Ya tenemos IPFS inicializado en nuestro sistema. Podemos ver que está funcionando ejecutando el comando de ejemplo que nos aparece en la página de bienvenida, que tendrá una estructura como la siguiente:

  • ipfs cat /ipfs/<HASH>/readme

IPFS - Configuración en Windows 2

Ya tenemos todo listo. Ahora ya podemos iniciar el servicio de IPFS para empezar a navegar por esta red ejecutando el siguiente comando:

  • ipfs daemon

IPFS - Configuración en Windows 3

Cuando veamos el mensaje «Daemon is ready» ya estaremos conectados a esta red y podremos navegar por ella, eso sí, sin cerrar la ventana de CMD que tenemos abierta. Si abrimos otra ventana de CMD podremos ver una lista de pares cercanos ejecutando el comando «ipfs swarm peers» o descarga archivos de esta red mediante «ipfs cat /ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg >cat.jpg», por ejemplo.

Cómo visitar webs alojadas en IPFS

Si queremos visitar una página web que se encuentre alojada en esta red, como es el caso de Torrent-Paradise, lo único que debemos hacer es, con el servicio iniciado, introducir su URL en el navegador.

Concretamente, la URL de Torrent-Paradise es la siguiente:

  • http://localhost:8080/ipns/torrent-paradise.ml/

IPFS - Web a través de este protocolo

Además, si queremos, también podemos ver una interfaz web con el estado de nuestra conexión IPFS. Para ello simplemente debemos introducir la siguiente URL en el navegador desde la cual podremos ver el estado de la conexión, la velocidad de bajada y subida, los pares conectados, el archivo de configuración y, además, tener una interfaz muy sencilla para compartir archivos a través de esta red de forma segura.

  • http://localhost:5001/webui

¿Conoces alguna otra página web que funcione de manera descentralizada a través de IPFS?