Cómo descargar archivos usando BitTorrent

Los medios digitales se han usado históricamente para facilitar el almacenamiento de información y su evolución ha sido impulsada por la necesidad de guardar cada vez más datos, en menos espacio y más rápido.
Sin embargo, es tangible que existe una pérdida del tejido digital a causa de las nuevas dinámicas de Internet: la concentración del tráfico en unas pocas plataformas, el abandono de páginas webs personales, el desmantelamiento de los servidores en los que estaban alojadas, el cambio de modelo comercial hacia servicios de streaming donde se obtiene una licencia temporal, la captura comercial de plataformas por otras más grandes o por limitaciones legales, entre otros.
Unas semanas después de mi llegada al mundo comenzó sus andadas The Internet Archive, una organización sin ánimo de lucro que, precisamente, tiene como objetivo preservar todo ese contenido digital y que continúe siendo accesible. Gracias a ellos pude conseguir una primera edición escaneada del Diccionario de uso del español de María Moliner, una de las mayores obras lexicográficas de nuestra Historia y que está completamente abandonada por las instituciones. Usando esas imágenes he extraído los datos y el DUE tiene por fin su propia página web y es descargable como base de datos desde Zenodo para que todo el mundo tenga acceso de forma gratuita a una obra descatalogada.
El protocolo detrás de Stremio o PopcornTime, BitTorrent, que cumple 25 años, se postula —al igual que pasa con RSS— como una herramienta “del pasado” para solucionar un problema del presente, permitiendo obtener y compartir archivos con el resto de Internet de forma rápida y relativamente sencilla. Al tener una arquitectura completamente descentralizada, no hay un único servidor que almacene los archivos, convirtiéndolo en una herramienta difícil de perseguir.

Cómo funciona

BitTorrent es un protocolo de intercambio de archivos basado en redes peer-to-peer (P2P1) en las que no se requiere un servidor central para distribuir los datos porque la comunicación se realiza entre usuarios. En este modelo, cada usuario puede actuar como cliente y como servidor, dando lugar a un sistema descentralizado.

Comparativa entre la arquitectura tradicional cliente-servidor y la red P2P descentralizada
Comparativa entre la arquitectura tradicional cliente-servidor y la red P2P descentralizada

En los modelos tradicionales basados en un único servidor, si este deja de estar disponible —por fallo o porque se decida dar de baja— los archivos almacenados en él dejan de estar disponibles para el resto de la red. En una arquitectura peer to peer esto no ocurre porque los nodos se comunican entre sí, sin depender de ningún elemento central.

Los archivos

BitTorrent divide los archivos en múltiples fragmentos más pequeños que se distribuyen entre los usuarios, y estos actúan como nodos de la red. Este diseño tiene varias implicaciones: permite descargar distintos fragmentos desde varios nodos de forma simultánea, facilitando el intercambio de archivos grandes; y, además, se mantiene la integridad de la red incluso si uno de los nodos falla.
Un archivo .torrent contiene metadatos con la información necesaria para reconstruir y descargar un archivo completo dentro de una red P2P, pero no almacena el contenido en sí. Dentro de estos metadatos se incluye, entre otras cosas, la siguiente información:

  • Nombre del archivo (o lista de archivos si es una carpeta), tamaño total y estructura.
  • Número y tamaño de cada trozo que lo compone.
  • Un identificador global del torrent.
  • Información del tracker.

Trackers

Los trackers son servidores intermedios que no almacenan los archivos, simplemente mantienen una lista de usuarios conectados a un torrent para facilitar que se encuentren entre ellos y puedan intercambiar directamente los trozos del archivo.

Además de los trackers públicos, existen también los trackers privados: comunidades —a las que casi siempre se accede por invitación— donde generalmente se exige compartir tanto como se descarga para que los archivos no mueran con el tiempo. Sobre cómo funcionan por dentro y la filosofía que las sostiene puedes leer mucho más en este artículo de Viernes en Kiribati.

Peers, seeders y leechers

Distribución de partes de un archivo entre seeders (semillas) y leechers (sanguijuelas) en la red BitTorrent
Distribución de partes de un archivo entre seeders (semillas) y leechers (sanguijuelas) en la red BitTorrent

En este protocolo se denomina peer (par) a cada usuario que se encuentre conectado a la red. Los peers pueden descargar y compartir archivos, pudiendo desempeñar dos roles para cada uno de ellos:

  • Si se encuentra descargando el archivo, actúa como un leecher. A medida que el archivo se va descargando, comparte los trozos que ya tiene con el resto de la red.
  • Si ya tiene el archivo completo descargado (y continúa conectado a la red), lo comparte con el resto, pasando a ser un seeder.

Por tanto, el número de seeders y leechers es crucial para poder descargar un archivo, ya que necesitamos que haya como mínimo una copia completa del archivo en la red: o bien en un seeder o distribuida por varios leechers.
La velocidad de descarga también depende de los actores de la red. Cuantos más usuarios con el archivo completo existan, más rápido podrá descargarse. Los leechers, al tener partes del archivo, también pueden contribuir a la descarga, pero esta se ralentiza si muchos de ellos necesitan las mismas partes.

Flujo completo

Cuando un usuario descarga un archivo .torrent desde alguna de las fuentes disponibles en Internet y lo abre con un cliente BitTorrent, este se comunica con el tracker, que le facilita una lista de otros equipos conectados a ese mismo torrent. El usuario se conecta directamente con esos peers (pares), que le indican qué fragmentos poseen, y comienza así la descarga de los segmentos que le faltan. A medida que el usuario obtiene partes del archivo —o una vez que lo tiene por completo— puede compartirlo con otros usuarios de la red, convirtiéndose en un peer y contribuyendo a la distribución del contenido.

Diagrama del flujo completo de una descarga en BitTorrent
Versión simplificada del flujo completo: Consulta a trackers para obtener una lista de peers activos. Intercambio de IPs y puertos de los usuarios conectados. Conexión directa P2P entre clientes e intercambio de información para saber qué trozos tiene cada peer. Descarga y subida simultánea de fragmentos. El usuario pasa a ser seeder al compartir las partes de las que dispone.

qBittorrent

Hay muchísimos clientes de BitTorrent —y todos funcionan de forma parecida— pero me voy a centrar en qBittorrent. Es multiplataforma, libre y de código abierto. No tiene anuncios y dispone de un motor de búsqueda integrado para no tener que estar trasteando por webs de dudosa fiabilidad. Igualmente, es necesario andar con cierta cautela cuando descargamos archivos; no es raro encontrar con nombres de series algún que otro .exe.

Instalación

Para descargar qBittorrent hay que ir aquí y seleccionar nuestro sistema operativo. Generalmente hay dos opciones, una estable (la primera) y la de desarrollo. Nos redirigirá a una página en SourceForge, una plataforma legítima para almacenar software gratuito. Al abrir el instalador, nos guiará por todo el proceso, con las opciones básicas ya marcadas (pero no instala ninguna otra herramienta de terceros, como ocurre con otros clientes, así que no es necesario modificarlas).

Interfaz principal del cliente de descargas qBittorrent
Interfaz principal del cliente de descargas qBittorrent

Una vez tengamos qBittorrent instalado, podremos usarlo para descargar archivos mediante enlaces magnet2 o usando archivos .torrent. Si quieres probar cómo funciona, este es un magnet link para descargar El Quijote.

Motor de búsqueda

Si no queremos estar navegando por las páginas que contienen los torrents, que esas sí suelen estar perseguidas y por tanto van cambiando de dominio de vez en cuando, podemos usar el buscador integrado de qBittorrent. Para activar la pestaña —si no sale por defecto o desaparece—, hay que abrir el programa e ir al menú superior y seleccionar View → Search engine.

Pestaña de búsqueda integrada activa en qBittorrent
Pestaña de búsqueda integrada activa en qBittorrent

Para que el motor de búsqueda funcione, qBittorrent requiere tener Python 3 instalado en el sistema. Aunque es probable que ya lo esté por defecto, en caso contrario hay que proceder de la siguiente manera:

  • Windows: La descarga es posible desde python.org, asegúrate de marcar la opción “Add python.exe to PATH” en el asistente de instalación.
  • macOS y Linux: Se puede instalar desde la terminal con brew install python en Mac o mediante el gestor de paquetes correspondiente en Linux.

Plugins de búsqueda

Además de los plugins que se instalan por defecto y que son mantenidos por qBittorrent, existe un listado de complementos comunitarios con más fuentes de descarga, como por ejemplo Academic Torrents, que da acceso a bases de datos para investigación.

Para instalar un nuevo plugin de búsqueda los pasos son los siguientes:

  1. Haz clic sobre el icono de descarga () para abrir el script en el navegador.
  2. Se abre una nueva pestaña/ventana en el navegador con código. Copia la dirección web que acaba en .py.
  3. En la pestaña Buscar de qBittorrent, haz clic en Search plugins… (abajo a la derecha), selecciona Install a new one, elige Link Web y pega la URL.
    Ventana de gestión e instalación de plugins de búsqueda en qBittorrent

Con la configuración anterior es posible buscar y con un doble click descargar prácticamente cualquier cosa: libros, películas, modelos abiertos de IA, bases de datos, papers, juegos… Como ya he dicho en alguna entrada: cada uno que haga lo que considere oportuno, pero que al menos tenga conocimiento de las herramientas que dispone.

Referencias

  1. 1. P2P (“peer to peer”) es un modelo de comunicación en redes en el que los dispositivos se conectan directamente entre sí para compartir información o recursos, sin depender de un servidor central. ↩

  2. 2. Un magnet link permite abrir directamente el cliente BitTorrent y empezar la descarga, sin tener que descargar previamente un archivo .torrent. La primera vez que abres uno el navegador solicita permisos para abrir el cliente. ↩

17me gusta