Cliente de torrent de transmisión sin cabeza Raspberry PI con interfaz gráfica de usuario web

Incluso si los servicios de transmisión han cambiado un poco los roles, las descargas de Internet han evolucionado durante los años para optimizar la carga de tráfico y simplificar el intercambio de archivos más grandes. La distribución de BitTorrent ha desempeñado (y sigue desempeñando) un gran papel en el intercambio de archivos. Raspberry PI también puede usar el cliente Trasmission para unirse a las ventajas de torrent.

En este tutorial, le mostraré cómo instalar el cliente Transmission en una Raspberry PI sin periféricos para descargar archivos desde una computadora de bajo consumo de energía y evitar tener encendidas otras PC que consumen mucha energía.

Antes de profundizar en la instalación de Transmission, analicemos un poco qué son los archivos torrent.

¿Qué son los archivos Torrent?

Un archivo torrent (también conocido como archivo de metainformación) es un archivo que contiene información sobre un determinado paquete que se distribuirá a través de la red BitTorrent (o cualquier red similar). Por lo general, también incluye una lista de rastreadores, computadoras que guardan información sobre quién está participando para descargar/compartir ese paquete. Los archivos torrent actúan como un índice para que los usuarios que deseen descargar el mismo paquete puedan ayudarse a sí mismos a encontrarse y distribuir la carga del ancho de banda. Con la ayuda de un archivo torrent, se pueden descargar pequeñas partes del archivo original de las computadoras que ya lo han descargado. Estos «pares» permiten la descarga del archivo además del servidor principal o en lugar del mismo.

Un archivo torrent no lleva ningún paquete de carga: solo contiene información sobre esos archivos, como sus nombres, estructura de carpetas y tamaños. Los archivos torrent normalmente se nombran con la extensión “.torrent”.

Para usar un archivo torrent, necesita un cliente de torrent adecuado como, en nuestro caso, Transmission. Mi computadora RPI será una Raspberry PI 3 Model B+, pero será aplicable a todas las placas RPI (excepto Raspberry PI Pico, que no es una computadora sino un microcontrolador)

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Consulta precios de hardware en los siguientes enlaces:

Procedimiento paso a paso

Preparar sistema operativo

Comience a instalar Raspberry PI OS Lite, para un sistema operativo sin periféricos y de alto rendimiento. También puedes usar Raspberry PI OS Desktop pero, en este caso, ya habrás instalado el cliente torrent en tu menú.

Por favor, asegúrese de que su sistema operativo esté actualizado. Desde terminales:

sudo apt update -y && sudo apt upgrade -y

Instalar transmisión

El demonio de transmisión se puede instalar desde el administrador de paquetes de aptitude con el siguiente comando de terminal:

sudo apt-get install transmission-daemon

Antes de usarlo, debemos configurar correctamente el acceso web desde su archivo de configuración. Demonio de transmisión de parada:

sudo systemctl stop transmission-daemon.service

Ahora puede editar settings.json;

sudo nano /etc/transmission-daemon/settings.json

Para configurar el acceso web a la GUI, puede consultar todas las configuraciones que comienzan con «rpc» (Protocolo de llamada a procedimiento remoto), siendo las principales las siguientes con mi configuración:

"rpc-bind-address": "0.0.0.0" "rpc-enabled": true "rpc-host-whitelist": "" "rpc-host-whitelist-enabled": false "rpc-port": 9091 "rpc-username": "transmission" "rpc-whitelist": "127.0.0.1" "rpc-whitelist-enabled": false

La “rpc-bind-address”: “0.0.0.0” le permite a su Raspberry PI escuchar desde conexiones externas a la interfaz web desde cualquiera de sus interfaces.

Aquí dejé el puerto de acceso por defecto (9091), deshabilitando también las listas blancas (“rpc-host-whitelist-enabled”: false y “rpc-whitelist-enabled”: false). Es por eso que mi RPI se ejecuta en una red privada, sin acceso externo.

Si necesita exponer la GUI web a Internet, es una buena práctica (cuando sea factible) limitar el acceso a algunos dominios o direcciones IP específicos. En este caso, también es una buena idea cambiar el puerto predeterminado.

La diferencia entre rpc-host-whitelist-*** y rpc-whitelist-*** es que los «host» aceptan dominios como listas separadas por comas (por ejemplo «example.com, revhardware.com»), mientras que los el segundo especifica las direcciones IP (por ejemplo, «127.0.0.1, 192.168.1.100, 10.0.0.30»). El nombre de usuario de rpc le permite configurar el usuario predeterminado para acceder a la GUI web, mientras que la contraseña se almacena en archivos cifrados a menos que cambie el parámetro de contraseña de rpc.

Otras configuraciones comunes útiles para los usuarios son las carpetas donde almacenar archivos incompletos (que tienen descarga en curso) y archivos completos (aquellos que están listos para usarse):

"download-dir": "/var/lib/transmission-daemon/downloads" "incomplete-dir": "/var/lib/transmission-daemon/Downloads"

Finalmente, con la configuración de velocidad, puede aprovechar el ancho de banda máximo utilizable, que es una práctica común para administrar conexiones de Internet bajas. Tenga en cuenta que la red BitTorrent le da menor prioridad al usuario que tiene una velocidad de carga más baja, por lo que reducir este parámetro también afectará su velocidad de descarga:

"download-limit": 100, "download-limit-enabled": 0, "upload-limit": 100, "upload-limit-enabled": 0,

Una vez que haya configurado sus ajustes, podemos iniciar de nuevo el demonio de transmisión:

sudo systemctl start transmission-daemon.service

Ahora está listo para usar su cliente Raspberry PI Transmission. Use la dirección IP de su Raspberry PI (la mía es 192.168.1.91 en las siguientes imágenes), seguida de “:9091” (o el número de puerto que establezca) como URL en un navegador. Se le pedirá que inicie sesión. El usuario/contraseña de transmisión predeterminados, si no se modifican en settings.json, son:

  • nombre de usuario: transmisión
  • contraseña: transmisión

Obtendrá el inicio de la GUI web de transmisión:

Los botones en la parte inferior izquierda de esta página le permitirán modificar la configuración disponible en el archivo settings.json.

Descarga tu primer Torrent

Desde el inicio de la GUI web de Transmission, haga clic en el botón Cargar archivo Torrent:

Esto abrirá una ventana emergente que le permitirá ingresar la ruta del archivo torrent (o enlace, si tiene un enlace web al torrent). También puede cambiar la carpeta de destino donde almacenar el archivo descargado:

Por ejemplo, usaré el enlace de torrent de la página oficial de la Fundación Raspberry PI para obtener una copia de la imagen del sistema operativo Raspberry PI. Se puede encontrar en https://www.raspberrypi.com/software/operating-systems/. Aquí, desplácese hacia abajo hasta su versión de sistema operativo favorita, haga clic con el botón derecho del mouse en el enlace «Descargar torrent» y seleccione «Copiar dirección de enlace»:

Luego pegue el enlace directamente en la página de transmisión anterior y haga clic en «Cargar». Comenzará la descarga, agregando un nuevo elemento a su hogar. Puedes consultar su estado y progreso:

Al final, encontrará su archivo disponible en su almacenamiento de Raspberry PI. Puede obtenerlo en una PC diferente (si es necesario) mediante SFTP con Filezilla, mediante acceso remoto Samba o mediante cualquier acceso remoto a Raspberry PI.