Descargar torrents con Transmission en Raspberry Pi desde Android

Este es uno de los capítulos del tutorial La Raspberry Pi. Primera primeros pasos.. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

Salvo que vivas en una realidad paralela o seas la protagonista de Unbreakable Kimmy Schmidt, habiendo vivido encerrada durante los últimos 15 años, sin contacto con el exterior, seguro que sabes lo que es un torrent. También es posible que hayas leído sobre Transmission aquí mismo. Pero de cualquier forma, si no lo sabes ahora te lo cuento. Porque en este artículo te voy a detallar como puedes instalar un cliente torrent como Transmission en Raspberry Pi.

Además vamos a ver dos formas de hacerlo. He estado dando vueltas al asunto de estos artículos, y entiendo que hay personas que no están interesadas en el proceso de instalar o configurar un servicio o aplicación o lo que sea. Simplemente lo que quieren es utilizarlo. Además en ocasiones, es engorroso, hay que tocar archivos de configuración, y si no estás acostumbrado a estas cosas, a lo mejor cometes un error, aquello no funciona y empiezas a pensar que esto de la Raspberry no es para ti.

Desde mi punto de vista creo que trabajar con la Raspberry, instalar servicios, etc, te hace ver este sistema operativo de otra forma. Te ayuda a comprender, el porque del sistema de permisos, porque un archivo tiene que ser propiedad de un determinado grupo o de un usuario, porque derechos de administrador, la estructura de archivos de Linux, y mucho mas.

Por estas razones, estoy implementando scripts de instalación para cada uno de los servicios. Así, si no te interesa el proceso de instalación, puedes simplemente descargar el script, ejecutar y listo, ya tienes Transmission en Raspberry Pi. A lo mejor te interesa ver el proceso, pero una vez visto, quieres ir a lo rápido y seguro, pues lo comentado, descargas el script, ejecutas y listo…

Comentado todo esto, vamos a una introducción sobre torrents y Transmission, para a continuación ver como instalar Transmission en Raspberry Pi.

Descargar torrents con Transmission en Raspberry Pi desde Android. Portada.

Transmission en Raspberry Pi

Que son los torrents y que es Transmission

Como decía en la introducción, es muy difícil que no hayas oído hablar de los torrents. Lo comento, porque en los últimos años, la industria del cine achaca el declive de su sector a la proliferación de sitios de torrents. Esto en lugar de pensar que su modelo de negocio está agotado, y que es necesario darle una nueva dirección y sentido (sobre todo esto último).

Sin embargo, y pese a lo que diga la industria del cine, los torrents son algo mucho mas que un medio para la piratería. Es una forma cómoda, rápida y sencilla de compartir archivos, y por supuesto de descargarlo.

Entonces ¿que es un torrent? Un archivo torrent, no es mas que un fichero que contiene la información sobre la descarga de un contenido. ¿Que tenemos que hacer con ese archivo torrent? Simplemente dárselo a un cliente de torrents, como Transmission, para que este comience la descarga. ¿De donde descarga el contenido nuestro cliente?. De otros usuarios que tienen el archivo que estamos buscando. Y esto lo hace a través de una red P2P.

Instalando Transmission en Raspberry Pi

Actualización del sistema

Como en cualquier proceso que hacemos para instalar en cualquier Linux, lo primero es actualizar los paquetes del sistema. Para ello ejecutaremos las siguientes órdenes,

sudo apt update
sudo apt upgrade

Además en el caso de la Raspberry, también debemos actualizar el firmware. Para esto, la orden a ejecutar es,

sudo rpi-update

Dependiendo del resultado de esto último, es posible que sea necesario reiniciar nuestra Raspberry, vía sudo reboot.

Instalación de Transmission en Raspberry Pi

Ahora, vamos a instalar Transmission. Para esto, ejecutamos la orden,

sudo apt install transmission-daemon

Deteniendo Transmission

Una vez instalado Transmission, debemos detener el demonio para modificar la configuración. Para ello, ejecutamos la orden,

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

Vamos a añadir a nuestro usuario al grupo debian-transmission. Para ello, ejecutamos la siguiente orden,

sudo usermod -aG debian-transmission pi

De esta manera tenemos acceso al directorio donde descargaremos los archivos. Y tendrá acceso cualquier usuario que pertenezca al grupo, una vez hayamos asignados los permisos adecuados al directorio.

Creando los directorios de descarga

Como mi tarjeta es de 32 GB voy a realizar las descargas en ella, pero en tu caso, puede ser que la quieras descargar en un disco duro USB que tengas montado.

En cualquier caso yo voy a utilizar los directorios /srv/torrents y /srv/torrents/tmp. Para crearlos solo tengo que ejecutar la orden,

mkdir -p /srv/torrents/tmp

Configurando permisos y propietarios

Ahora vamos a cambiar el propietario tanto el propietario de estos directorios como los permisos. Para ello, ejecutamos las siguientes órdenes,

sudo chown -R debian-transmission:debian-transmission /srv/torrents
sudo find /srv/torrents -type d -print -exec chmod 775 {} \;
sudo find /srv/torrents -type f -print -exec chmod 664 {} \;

Con estas dos últimas instrucciones hemos dado permiso para acceder a los directorios a cualquiera, pero solo puede modificar los que pertenecen al grupo debian-transmission y el propietario, por supuesto. Por otro lado, respecto a los archivos existentes, solo pueden editar el propietario y los pertenecientes al grupo, el resto solo leer.

Podríamos ser mas restrictivos, pero creo que para lo que estamos haciendo, es mas que suficiente, en lo que a medidas de seguridad se refiere.

Modificar la configuración

A continuación vamos a modificar la configuración de Transmission. Pero antes, haremos una copia de seguridad del archivo de configuración para evitar llevarnos una sorpresa desagradable en caso de cometer algún error. Para ello, ejecutamos la orden,

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

Para modificar el archivo settings.json utilizaremos nano, para ello, ejecutaremos la orden,

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

A continuación buscaremos los siguientes parámetros, y les asignaremos los valores que indico a continuación,

"download-dir":"/srv/torrents"
"incomplete-dir":"/srv/torrents/tmp"
"incomplete-dir-enabled":true
"rpc-authentication-required":true
"rpc-bind-address":"0.0.0.0"
"rpc-whitelist-enabled":false
"rpc-enabled":true
"rpc-password":"TUPASSWORD"

Es importante que modifiques tanto el directorio al que vas a realizar las descargas como el directorio donde se guarda los incompletos, y sobre todo tu contraseña.

Una vez realizados estos pasos, solo nos queda reiniciar Transmission. Para ello, ejecutar la siguiente orden en el emulador de terminal,

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

Mediante un script

Como he indicado en la introducción, he implementado un sencillo script que permite, instalar transmission y configurarlo, es decir, realizar todos los pasos descritos anteriormente, de una sola vez. Para ello, debemos descargar el archivo a nuestra Raspberry Pi, esto lo haremos ejecutando la siguiente orden,

wget https://raw.githubusercontent.com/atareao/raspberry-scritps/master/install_transmission.sh

A continuación, modificamos los directorios y la contraseña, utilizando un editor de texto como puede ser nano y por último, ejecutamos la siguiente orden,

sudo bash install_transmission.sh

Añadamos torrents a Transmission en Raspberry Pi desde nuestro PC

Una vez instalado Transmission en Raspberry Pi, vamos a añadir algún torrent. Para ello, en nuestro equipo, abrimos un navegador de internet, Firefox o Chrome, y vamos a la dirección IP de nuestra Raspberry Pi seguido del puerto configurado, 9091. Así en mi caso, la dirección es http:\192.168.1.48:9091. Lo que veremos será algo como la siguiente captura de pantalla.

Descargar torrents con Transmission en Raspberry Pi desde Android. Navegador.

Si pulsamos sobre el icono que aparece en la parte superior izquierda, que es una carpeta con una flecha en su interior, podremos agregar cualquier torrent.

Añadamos torrents a Transmission en Raspberry Pi desde nuestro Android

Cierto es que si tenemos que abrir en cada ocasión nuestro PC para añadir un torrent o ver como van las descargas, tener Transmission en Raspberry Pi, tiene poca gracia (realmente no). La ventaja que tenemos es que podemos añadirlo directamente desde Android.

Descargar torrents con Transmission en Raspberry Pi desde Android. Android.

En Google Play podemos encontrar diferentes aplicaciones que nos servirán para nuestro propósito. En particular te recomiendo Transmission Remote.

Descargar torrents con Transmission en Raspberry Pi desde Android. Google Play.

Entre otras características, esta aplicación te permite,

  • Ver la lista de torrents que se están compartiendo en el momento.
  • Filtrar, ordenar y buscar entre los torrents.
  • Parar, reanudar o borrar, tanto un torrent en particular como todos los torrents.
  • Controlar las velocidades de subida y descarga, tanto para un torrent en particular como para el servidor.
  • Por supuesto, permite añadir torrent, desde enlace, archivo o magnet.
  • Permite gestionar múltimples servidores Trasnmision.
  • Tiene notificaciones.
  • Tienen modo nocturno.

Conclusiones

La gran ventaja de Transmission en Raspberry Pi es que debido al bajo consumo de la Raspberry la puedes tener siempre funcionando sin preocuparte del gasto eléctrico. La tienes disponible, para añadir torrents y descargar en cualquier momento.

Evidentemente te estarás preguntado, que pasa cuando no estás en la misma WiFi que la Raspberry, ¿como puedes añadir torrents?. La solución a este problema, la veremos en el próximo artículo sobre como motar tu propia VPN. Con ella podrás acceder desde cualquier lugar a tu Raspberry, sin problema alguno para hacer lo que necesites, desde añadir un torrent o lo que quieras…


Más información,

14 comentarios en “Descargar torrents con Transmission en Raspberry Pi desde Android

  1. Lo he instalado ejecutando tu script y al intentar acceder via web me sale la ventana de autenticacion. Pense que era el mismo usuario del Raspberry pero no, reviso el settings.json y lo modifico, guarda los cambios (usando nano), reinicio el demonio de transmission y nada, me sigue pidiendo autenticacion. Lo raro es que al volver a revisar el settings.json tiene todo como antes, como si no lo hubiera modificado. Sí, lo estoy modificando como root (sudo). Alguna idea por que no agarra los cambios? Gracias de antemano

    1. Me respondo yo mismo por si alguien lo necesita: El comando que tienes para reiniciar el daemon de transmission (sudo service …) no funciona después de haber actualizado mi Raspberry.

      Este es el comando correcto: sudo /etc/init.d/transmission-daemon stop y sudo /etc/init.d/transmission-daemon start

      (Seguro un restart hubiera bastado pero así fue que me funcionó)

      1. Hola Jose,

        He corregido y actualizado el script. La cuestión es que lo había probado, como te puedes imaginar (varias veces) y a mi me había funcionado perfectamente. Entiendo que será una cuestión de la actualización, como tu comentas…

        Muchas gracias y un saludo

  2. Buenas, una duda muy noob :/
    En caso que quiera acceder a los contenidos descargados desde un televisor qué debo hacer? Aun no tengo claro si voy a utilizar SD o disco duro externo (creo que disco duro es una mejor opción).
    Muchas gracias por todo!

  3. ¡¡Muchas gracias por compartir tu trabajo!!
    Un detalle. Al hacer la copia de seguridad del archivo de configuración de transmission ha bailado alguna letra:

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

  4. intento acceder desde cualquier lado(pc o movil) y me dice que la autenticación no es correcta por lo que hace creer que el usuario o la contraseña están mal, vuelvo a ver el settings.json pero los datos que estoy poniendo en el programa y los que se encuentran en el archivo son iguales, no entiendo el problema… 🙁

Deja una respuesta

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