Compartición de contenidos en I2P con BitTorrent

Debido a las cada vez más restrictivas políticas en contra de la "piratería", que pueden incluir cuantiosas multas, privación de acceso a internet o censura de determinados sitios donde se comparten archivos, muchos usuarios buscan formas de seguir distribuyendo y adquiriendo contenidos sin ánimo de lucro y protegiendo su privacidad. Las VPNs de pago que permiten el protocolo BitTorrent son el método más usado, pero no todo el mundo quiere o puede permitirse pagar las cuotas. Una alternativa gratuita y libre es usar I2P.

I2P (Invisible Internet Project) es una red dentro de Internet cuyo propósito es proteger las comunicaciones de la vigilancia y monitorización masiva ejercidas por terceras partes, tanto gobiernos como ISP. Es un concepto análogo a Tor, pero funciona de diferente manera. Al contrario que en Tor, apenas existen pasarelas a la clearnet y por tanto casi todo su uso se circunscribe a una dark net. Hay disponibles clientes de la aplicación para los principales sistemas operativos: Windows, Mac, Linux (en algunas distros está disponible en el repositorio), y Android. La implementación original puede descargarse de su página oficial:

geti2p.net

Esta versión es un programa "todo en uno" que incorpora utilidades auxiliares: una libreta de direcciones (algo así como un DNS privado), un servidor de eepsites (los sitios web de la red I2P), correo electrónico seguro, y. . . un cliente BitTorrent anónimo llamado i2psnark. Todas estas utilidades, así como otras instalables como plugins en la aplicación principal, se manejan desde un navegador web, que se abrirá automáticamente en cuanto el router I2P haya arrancado:

Al margen del acceso a la consola del router, hay que configurar el navegador para usar el router I2P como proxy, de modo que nos permita navegar por la dark net I2P:

geti2p.net/es/about/browser-config

Es preferible hacerlo cambiando las opciones del navegador globalmente en lugar de usar un plugin tipo FoxyProxy. Para no tener que poner y quitar los datos del proxy para usar el navegador normalmente, se puede crear un perfil de navegador específico.

Los sitios de la red I2P se distinguen por usar direcciones terminadas en .i2p (a semejanza de los .onion de Tor). En la interfaz del router I2P encontraremos algunas direcciones útiles bajo el apartado de "servicios ocultos de interés". Es recomendable echarle un vistazo a la página de complementos de I2P, así como a la Wiki donde encontraremos información de utilidad y accesorios extra.

Finalmente llegamos a la parte que nos interesa, la compartición de archivos. La forma más sencilla e inmediata es usar el protocolo BitTorrent con i2psnark, que viene con la distribución estándar de I2P. Su aspecto es el siguiente:

El funcionamiento es fácil de entender. DifTracker y Postman son los principales trackers de la red I2P. Diftracker está especializado en contenidos en lengua francesa, aunque hay muchos contenidos en otros idiomas también. Postman es el tracker más grande y conocido. Pinchando en los botones nos abrirá una nueva pestaña con esas páginas. Postman por ejemplo:

No merece la pena explicar aquí como funciona un tracker. Sólo diré que en estos trackers no es necesario registrarse para descargar. Se puede descargar el torrent, o copiar el enlace magnet y pegarlo en el apartado de "añadir torrent" de i2psnark. También existe el enlace "maggot", que es un tipo especial de magnet (no compatible) que no hace uso de ningún tracker y por tanto se considera más resistente a ciertos ataques de censura. Este es exclusivo de I2P. Si se opta por descargar el torrent, basta con copiarlo a la carpeta de datos de i2psnark y aparecerá en la interfaz.

Para crear un torrent nuevo con i2psnark, primero habrá que copiar los archivos a compartir en su carpeta de datos. Puede ser un archivo comprimido, o una carpeta con múltiples archivos. A continuación pinchamos en "crear un torrent" en la interfaz web. En la casilla de "datos a sembrar" ponemos el nombre del archivo o carpeta (sin ruta completa, i2psnark asume que le estamos indicando datos que están en su carpeta). Después elegimos al menos un tracker principal en la lista (en mi caso suelo poner Postman como tracker principal y DifTracker como alternativo) y pinchamos en "crear torrent". El archivo torrent será creado, de nuevo, en la carpeta de datos de i2psnark. Para subirlo a un tracker si será necesario hacernos una cuenta, aunque hay una opción en el proceso de subida para no mostrar nuestro nick en la lista del tracker.

IMPORTANTE: No comencéis a sedear los archivos antes de subir el torrent. Subidlo primero al tracker, y después activad el torrent en i2psnark. Vuestro torrent no aparecerá en la lista hasta que hagáis esto.

Tened en cuenta que aunque la privacidad es estricta, las velocidades en I2P son bastante bajas, por lo que una buena configuración de vuestro router I2P (apartado de "ancho de banda" especialmente) es muy importante. Se espera que cuanto mayor sea el número de usuarios, mayores velocidades se conseguirán, así que no desesperéis al principio. Esto es más una carrera de fondo.

Y hasta aquí una introducción básica al torrent con I2P. Si este artículo tiene buena acogida, en otros posteriores podría hablar de usos más avanzados y otras alternativas al BitTorrent, así como el uso de I2P o seedboxes en microservidores tipo Raspberry Pi. Si tenéis curiosidad, podéis empezar por aquí (enlace accesible por I2P sólo):

i2pwiki.i2p/index.php?title=Filesharing_and_I2P