Cómo descargar torrents con tu Raspberry Pi usando Transmission

Icono de Transmission sobre fondo que representa las conexiones de los paises por internet

Cuando pensamos en los usos que podemos darle a una Raspberry Pi, uno de los que más se nos vienen a la cabeza es de servidor para nuestras descargas. Podemos dejar la Raspberry Pi enchufada todo el tiempo descargando cosas por torrent, con un aparato que no consume casi electricidad para tener siempre nuestras cosas listas para usar. Esto se conoce normalmente como una torrentbox.

Normalmente, solemos acceder remotamente a nuestra Raspberry Pi para configurar el servidor. Una vez hemos configurado la Raspberry Pi para descargar torrents con Transmission, u otro tipo de servidor que queramos, la dejamos conectada al router y a la luz, y nos olvidamos de que está, excepto para añadir más descargas y poco más.

En este tutorial os voy a explicar todo. Desde como preparar un disco duro USB para que funcione correctamente en vuestra Raspberry Pi, hasta la instalación de Transmission y la configuración que tenemos que hacer después para que todo funcione perfecto. Así qué vamos a ponernos manos a la obra.

Lo primero, recordaros actualizar Raspbian para tener todos los paquetes y los repositorios listos para instalar. Lo que haremos con el siguiente comando en la terminal.

sudo apt update && sudo apt upgrade -y

Preparando el disco duro USB

Si vamos a descargar muchas cosas, hay que tener un disco duro USB grande para poder guardarlo todo. En un ordenador contamos con puertos SATA, M.2 y PCI Express para colocar esos discos duros dentro de la caja. En la Raspberry Pi nos tendremos que conformar con conectar un disco duro por USB para almacenar nuestras descargas.

Oferta
Seagate Portable, 5 TB, Disco duro externo, HDD, USB 3.0 para PC, ordenador portátil y Mac (STGX5000400)
9.556 Opiniones
Seagate Portable, 5 TB, Disco duro externo, HDD, USB 3.0 para PC, ordenador portátil y Mac (STGX5000400)
  • Esta unidad de disco duro externa, diseñada para trabajar con ordenadores...
  • Para configurarla, conecte la unidad de disco duro portátil a un ordenador para...

Si estamos pensando en conectar más de un disco duro, tendremos que recurrir a un hub USB o a discos duros alimentados por corriente externa, ya que la Raspberry Pi no tiene suficiente potencia para alimentar esos discos duros.

AmazonBasics - Hub USB 3.0 de 4 puertos (enchufe europeo), color negro
999 Opiniones
AmazonBasics - Hub USB 3.0 de 4 puertos (enchufe europeo), color negro
  • Hub USB 3.0 con 4 puertos
  • Velocidad de transferencia de datos de hasta 5 Gbps

Y ahora que tenemos todo lo necesario, vamos a preparar el disco duro para usarlo con la Raspberry Pi. Hace tiempo hice un tutorial para montar unidades NTFS en la Raspberry Pi, pero en este caso necesitamos el mejor rendimiento si vamos a descargar muchas cosas a la vez, por lo que usaremos el sistema de archivos EXT4 de Linux.

Esto quiere decir que no podremos acceder a los archivos del disco duro si luego queremos conectarlo a un ordenador con Windows, pero si montamos el disco duro como una carpeta de red compartida, no tendremos problemas para usarlo. Así que, vamos a formatear el disco duro y a prepararlo para que se monte cuando iniciemos la Raspberry Pi.

Formateando el disco duro para usarlo con Transmission

Para formatear el disco duro vamos a usar en esta ocasión Gparted. Este programa está disponible en cualquier distribución Linux, incluido Raspbian, y lo podemos instalar con el siguiente comando en la terminal.

sudo apt install gparted

Una vez tenemos instalado y abierto el programa, en la parte derecha tendremos un menú desplegable donde podemos elegir la unidad de almacenamiento que queramos para administrar las particiones que tiene.

Eligiendo el disco duro que vamos a formatear en Gparted

Normalmente los discos duros aparecen como /dev/sdX donde X es una letra, viendo el espacio que tienen podemos hacernos una idea de que disco duro vamos a preparar. Una vez que lo tenemos seleccionado, procedemos a borrar todas las particiones de ese disco duro pulsando con el botón derecho y dándole a Eliminar. Haciendo esto también borraremos todos los datos que había en el disco duro, por lo que recomiendo hacer esto solo con unidades con datos de los que tenemos copia de seguridad o discos duros vacíos.

Eliminando una partición con Gparted

Una vez tenemos todas las particiones del disco duro borradas, vamos a crear una nueva partición EXT4. Esto lo hacemos pulsando con el botón derecho donde pone Sin asignar y haciendo clic en Nueva.

En la ventana que nos aparece tenemos que comprobar que el Espacio libre precedente es 1 (ya que no se puede menos), el Espacio libre a continuación es 0 (ya que queremos usar todo el disco duro) y que el Sistema de archivos es ext4 (ya que es la que mejor rendimiento nos va a dar en la Raspberry Pi). Si todo está correcto, pulsamos en Añadir para crear la partición.

Ventana de creación de una partición nueva con Gparted

Ahora que lo tenemos todo listo, tenemos que aplicar los cambios. Una vez hacemos esto no hay vuelta atrás y perderemos todos los archivos que teníamos antes en ese disco duro, por lo que es recomendable asegurarse de que vas a formatear el disco duro adecuado. Una vez hemos hecho esto, pulsamos en el ✔️ que hay en la barra superior de Gparted. En la siguiente ventana nos pedirá confirmación de lo que vamos a hacer. Hacemos clic en Aplicar y esperamos a que se apliquen todos los cambios.

Una vez hecho esto, solo nos queda preparar el sistema operativo para que monte el disco duro cada vez que arranca.

Montando el disco duro USB cada vez que arranque la Raspberry Pi

Esta tarea es muy sencilla y nos permitirá tener siempre disponible el disco duro USB para el Torrent o lo que nos haga falta. Para ello vamos a crear un punto de montaje en fstab, que hará que siempre que se inicie la Raspberry Pi con el disco duro, o cada vez que lo enchufemos, se monte en la misma carpeta.

Lo primero que vamos a hacer es crear una carpeta como punto de montaje para nuestro disco duro USB. Esto quiere decir que si accedemos a esa carpeta, veremos todo el contenido del disco duro. Para crear esta carpeta usaremos los siguientes comandos en la terminal. Con estos comandos, ademas cambiaremos el dueño de la carpeta para que no tengamos problemas a la hora de acceder a ella y usarla.

sudo mkdir -p /media/torrent
sudo chown pi:pi /media/torrent

Con la carpeta creada, necesitamos es saber la identificación de la partición del disco duro que vamos a montar, que podemos verla con el siguiente comando en la terminal.

sudo blkid
Viendo los identificadores de las particiones en una Raspberry Pi

Con este comando aparecen todas las particiones disponibles en la Raspberry Pi y los identificadores de las mismas. En mi caso al tener solo un disco duro conectado, se que /dev/sda1 pertenece a la partición que quiero usar para las descargas de torrent. En caso de tener varias unidades USB conectadas a la Raspberry Pi, estas apareceran como /dev/sdXY donde X es una letra de la A a la Z, que representa al disco duro, e Y es un número, que representa el número de la partición. Nosotros nos tenemos que quedar con lo que aparece despues de UUID, que es el identificador de la partición que queremos usar, que en mi caso seria el siguiente.

a318133b-1906-4759-a294-33dee5fd99be

Ahora que tenemos todo lo necesario, vamos a modificar el archivo /etc/fstab, donde indicaremos la partición que queremos montar, donde la vamos a montar y algunos parametros para que todo funcione correctamente. Esto lo haremos usando nano con el siguiente comando de la terminal.

sudo nano /etc/fstab

Aquí tendremos que añadir una linea al final del archivo con lo siguiente.

UUID=TU_UUID /media/torrent ext4 defaults,auto,users,rw,nofail 0 0
Modificando el archivo fstab para montar el disco duro USB

Ahora guardamos el archivo con Ctrl+S y salimos de nano con Ctrl+X. Después reiniciamos la Raspberry Pi y ya tendremos nuestro disco duro listo para usar. Para reiniciar podemos usar el siguiente comando.

sudo reboot

Para comprobar si todo está correcto, podemos usar el siguente comando en la terminal. Si vemos que aparece nuestro disco duro y el punto de montaje es el que el hemos asignado, todo estará correcto.

df -h
Comprobando que el disco duro USB se ha montado correctamente en la Raspberry Pi

Para compartir ese disco duro por red y poder acceder desde otros ordenadores, podemos seguir este tutorial donde explico como compartir una carpeta entre la Raspberry Pi y un ordenador por red.

Instalando Transmission para descargar torrents con tu Raspberry Pi

Ya tenemos el almacenamiento preparado para descargar lo que queramos por torrent con nuestra Raspberry Pi. Ahora falta lo más importante, que es instalar el programa que nos permita descargar los torrents y que este funcione correctamente. Para ello, empezaremos instalando Transmission, lo que haremos poniendo lo siguente en la terminal.

sudo apt install transmission-daemon

Con esto ya tendremos instalado el programa, pero ahora hay que configurarlo para poder acceder a su interfaz web y poder añadir los torrents. Para que no haya ningun error, lo primero que tenemos que hacer es detener el servicio de Transmssion, con el siguiente comando en la terminal.

sudo /etc/init.d/transmission-daemon stop

Con el servicio detenido, ya podemos modificar la configuración y asegurarnos de que se aplica cuando volvamos a iniciar el servicio de Transmission.

Lo primero que vamos a hacer ahora es añadir nuestro usuario al grupo de usuarios de Transmission. Esto es necesario para asegurarnos de que luego vamos a tener acceso a los archivos que crea este programa para descargar torrents. Esto lo haremos poniendo lo siguiente en la terminal.

sudo usermod -aG debian-transmission pi

Ahora vamos a crear una carpeta de descargas en el disco duro USB para que se almacene ahí todo lo que descargamos. Además, tenemos que cambiar los permisos de esta carpeta y de todo lo que haya dentro. Lo cual haremos con los siguientes comandos en la terminal.

mkdir -p /media/torrent/descargas
sudo chown -R debian-transmission:debian-transmission /media/torrent/descargas
sudo find /media/torrent/descargas -type d -print -exec chmod 775 {} \;
sudo find /media/torrent/descargas -type f -print -exec chmod 664 {} \;

Con la carpeta de descargas creada, ahora tenemos que configurar Transmission para que funcione correctamente y descargue los archivos en esa carpeta. Además, también necesitaremos acceso remoto al Transmission para poder añadir los torrents desde cualquier ordenador.

Lo primero que haremos será copiar la configuración original de Transmission, por si algo falla, para poder recuperarla. Lo haremos con este comando en la terminal.

sudo cp /etc/transmission-daemon/settings.json /etc/transmission.daemon/settings.json.backup

Una vez hecho esto, procederemos a modificar el archivo de configuración de Transmission para dejarlo perfecto. Lo abriremos poniendo lo siguiente en la terminal.

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

Con el archivo abierto, tendremos que modificar unas pocas cosas. Basicamente tenemos que cambiar donde vamos a guardar las descargas, vamos a ponerle un usuario y una contraseña al administrador web de Transmission y vamos a activarlo para que podamos acceder desde todos los ordenadores de nuestra red. Os dejo aquí los parametros que tenemos que modificar y lo que podemos ponerle. En este caso no debeis copiar los comentarios, ya que el archivo está en formato json y este formato no admite comentarios.

"download-dir":"/media/torrent/descargas"
# Este parametro especifica en que carpeta se descargarán los
# torrent que añadamos a Transmission. Pondremos la que hemos
# creado en los pasos anteriores.

"rpc-authentication-required":true
# Aquí indicamos que queremos que se pida un usuario y una
# contraseña para iniciar la sesion al acceder a Transmission.

"rpc-enabled":true
# Con este parametro indicaremos que queremos habilitar el 
# acceso remoto a Transmission.

"rpc-password":"TU_CONTRASEÑA"
# Aquí pondremos la contraseña del usuario para acceder a 
# Transmission. Escribiremos la contraseña con datos normales
# y al iniciar Transmission, este la codificará para que no 
# se pueda ver al abrir el archivo.

"rpc-username":"TU_USUARIO"
# En este parametro pondremos el usuario con el que iniciaremos
# sesion en el acceso remoto de Transmission.

"rpc-whitelist-enabled":false
# Con este parametro desactivaremos la lista de IPs permitidas
# para acceder a Transmission, de esta forma todos los ordenadores
# de nuestra red podran acceder al administrador remoto del
# programa.

Una vez hemos modificado el archivo de configuración de Transmission, guardamos con Ctrl+S y salimos de nano con Ctrl+X. Ahora solo nos falta iniciar el serivicio del programa y, si está todo correcto, acceder al acceso remoto desde otro ordenador con nuestro navegador.

Añadiendo torrents para descargar a Transmission

Para acceder al administrador webs para poder descargar torrents en nuestra Raspberry Pi tenemos que poner la IP de la Raspberry Pi seguido del puerto de Transmission. Si no hemos tocado nada el puerto seria el 9091. Para saber la IP de nuestra Raspberry Pi podemos ejecutar el siguiente comando en la terminal.

ip addr

Si estamos conectados por cable a nuestro router, encontraremos la IP en la interfaz eth0. En cambio, si estamos conectados por WiFi, la interfaz sera la wlan0. Tendremos que coger los 4 números que aparecen donde pone inet separados por puntos. En mi caso seria 192.168.1.250, sin el /24 de después.

Comprobando la IP de la Raspberry Pi con ip addr

En mi caso, para acceder al administrador remoto de Transmission, tendria que poner lo siguiente en el navegador.

http://192.168.1.250:9091

Y ahora que ya estamos dentro, solo nos queda ponernos a descargar torrents en la Raspberry Pi. Esto lo hacemos pulsando en el icono de la carpeta azul con la flecha que encontramos arriba a la izquieda. En el cuadro que nos aparece podemos buscar un archivo .torrent que tengamos en el ordenador pulsando en Examinar, o bien podemos introducir la URL de ese archivo o un enlace magnet. Para terminar hacemos clic en Upload y nuestro torrent empezará a descargarse en la Raspberry Pi sin problemas.

Como descargar torrents con Transmision en la Raspberry Pi

Si todo ha salido bien, solo queda descargar los archivos que quieras mediante este protocolo que hace las descargas más comodas y seguras, ya que permite parar las descargas y comprueba tambien los archivos conforme te los vayas descargando para evitar errores. En archive.org podemos encontrar cientos de cosas para descargar por torrent que seguro que nos resultarán muy interesantes.

Descargando un torrent en la Raspberry Pi con Transmission

Para terminar, solo me queda comentarios que podemos encontrar varias aplicaciones para Android capaces de acceder a Transmision. De esta forma tambien podemos controlar nuestra Raspberry Pi para descargar torrents. Para iOS nos tendremos que conformar con acceder desde el navegador que tengamos instalado.

Más información:

Artículos Relacionados

Cómo descargar torrents con tu Raspberry Pi usando Transmission

Última actualización el 2020-08-05 / Enlaces de afiliados / Imágenes de la API para Afiliados

7 pensamientos en “Cómo descargar torrents con tu Raspberry Pi usando Transmission

  1. Hola
    Gracias por el tutorial.
    Al hacer la partición de un usb de 64G, no me deja en Ext4 ni en NFTS, dándome un error en el GParted, sale un icono de peligro al lado del nombre de la partición y el sistema no lo reconoce, pero no pasa en caso de formatear en FAT32. Es posible que al ser un USB en lugar de un disco duro no se pueda hacer igual?
    Gracias
    Un saludo

    1. Buenas Carlos.

      Si te fijas en las imágenes, lo hago con un USB de 16GB, por lo que no habría problema ninguno en hacerlo en el pendrive que me comentas. Entre los problemas que puedes encontrar a la hora de usar FAT32 en la unidad de almacenamiento, te encontraras con que no podrás escribir archivos de más de 4GB. Si usas EXT4 solo podrás leer el USB en una distribución Linux fácilmente, pero no tendrás tantos problemas ni de rendimiento, ni de tamaño de los archivos. Prueba primero a borrar todas las particiones del pendrive, aplica los cambios y luego crea la partición nueva, a ver si tienes suerte con eso.

    1. Buenas Christian.

      ¿Qué error te da? ¿Te llega a mostrar alguna página? ¿Has comprobado que el archivo settings.json se ha modificado y cargado en Transmission?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll hacia arriba