Bittorrent fácil con Transmission y ¡en el móvil!

En esta entrada os voy a explicar como instalar en nuestro servidor Raspberry/Odroid un servidor de descargas basado en Bittorrent, con el cliente Transmission-daemon. Se trata de un programa que correrá en nuestro sistema y lo podremos manejar desde nuestro navegador web favorito, o incluso desde el móvil, con una app que existe para ello.

Vamos al tema.

Entramos en el equipo que hará de servidor, por SSH y ejecutamos:

Una vez instalado tenemos que detener el servicio transmission-daemon para proceder a su configuración. Esto es muy importante ya que si modificamos el archivo de configuración mientras el demonio esta en funcionamiento, cuando se pare (al reiniciar el equipo por ejemplo), sobrescribirá el nuevo archivo con lo que él tuviera guardado en memoria. No me preguntéis por que, pero es así. Detenemos el servicio, modificamos, y arrancamos otra vez. Esa es la forma en la que ha decidido su programador que tenemos que trabajar:

El archivo de configuración principal esta en /etc/trasnmission, los datos de estado de las descargas en /var/lib/transmission-daemon/info y las descargas en /var/lib/transmission-daemon/downloads. Es más que recomendable cambiar la ubicación de las descargas, para ponerlas en una partición distinta a la del sistema de archivos raíz. De este modo cuando se llene esa partición, no tendremos problemas en el sistema, solo fallará el cliente de descargas y el resto seguirá funcionando como si nada hubiese pasado. Vamos a ello, editamos el fichero /etc/transmission/settings.json y cambiamos estas lineas:

Con la primera indicamos dónde se guardarán las descargas completadas, y con la segunda las descargas en progreso. Tenemos que asegurarnos de que el propietario de /mnt/Descargas es el usuario con el que se ejecutará transmission-daemon, si no, no funcionará:

Arrancamos el demonio:

Y tecleamos en nuestro navegador la dirección de nuestro servidor y el puerto por defecto 9091. Obtendremos algo así:

Error de acceso a transmission

Error de acceso a transmission

¿Qué ha pasado? Pues que inicialmente, solo se permiten accesos a la web de transmission, desde la IP de loopback del servidor, 127.0.0.1. Detenemos el servicio, y modificamos el fichero settings.json para habilitar las conexiones externas:

Tenemos dos posibilidades, o añadir a rpc-whitelist, las IPs de los equipos a los que permitiremos el acceso, o deshabilitar el control por IP. Yo deshabilito el control por IP, cambiando rpc-whitelist-enabled a false.

Reiniciamos el demonio, volvemos a intentar acceder con el navegador y obtenemos este mensaje:

Control de acceso

Control de acceso

¿Qué pasa ahora? Pues que no basta con que habilitemos el acceso, tenemos que conocer el usuario y contraseña para acceder al panel de control de las descargas… Jajajaja, se lo han currado los desarrolladores de Transmission, pero para mi uso personal, en casa no necesito tanto control, ni tanta seguridad, por tanto deshabilito el control por usuario y contraseña en el archivo settings.json (recordad: detengo el servicio, modifico, y arranco el servicio):

Accedemos otra vez con el navegador, y ¡por fin!, obtenemos lo que tanto buscábamos:

transmission web

Ventana principal de Transmission Web

El uso es muy intuitivo, en la barra superior tenemos los botones para añadir una nueva descarga, cancelarla, pausar o reanudar, y pausar todo y reanudar todo. En la barra inferior tenemos los botones para configurar la aplicación, los límites de descarga y subida, para limitar temporalmente la velocidad de subida/descarga (tortuga) y la vista compacta.

Si hacemos clic en el primer botón de la barra de iconos superior, nos aparecerá un cuadro de diálogo para seleccionar el archivo .torrent local o remoto:

descarga

iniciar nueva descarga

Al hacer clic en Upload comenzará a la descarga del archivo, podemos probar con http://releases.ubuntu.com/15.10/ubuntu-15.10-desktop-i386.iso.torrent para descargar la ISO de Ubuntu. En unos segundos estaremos descargando:

descargando

Vista de una descarga en proceso

Si hacemos clic con el botón derecho sobre una descarga, podremos ver las operaciones que podemos hacer sobre ella:

propiedades de la descarga

Propiedades de una descarga

Las dos opciones más útiles son: Remove From List (para eliminar una descarga finalizada), y Trash Data & Remove From List (para eliminar una descarga de la lista y borrar los datos físicamente del disco).

Plugin en Firefox

Bueno, con todo esto, descargas cualquier cosa con bittorrent se hace fácil, pero no lo suficientemente fácil… ¿Que es eso de tener que copiar el enlace, abrir la web del servidor, pegar en enlace en la ventana de las descargas y luego darle a ‘Upload‘… ¡NO! lo quiero más fácil, muuuuucho mas fácil, ¡lo quiero todo en un clic!… Éste está flipao estaréis pensando… pero no… Existe un complemento para Firefox que nos hace exactamente esto: nosotros hacemos clic en un enlace a un archivo .torrent, y él directamente se conecta con nuestro transmission-daemon y lo añade a la lista de descargas. Se llama Bittorrent WebUI, es de código abierto, y se puede descargar el código aquí. Si tecleáis su nombre en el administrador de complementos de Firefox, lo podréis instalar directamente.

Configurarlo es muy fácil, tan solo tenéis que ir al administrador de complementos, luego a Extensiones y en la lista buscar Bittorrent WebUI. A la derecha aparecerán tres botones: Preferencias, Desactivar y Eliminar:

bt webui

Haciendo clic en Preferencias nos aparece una pantalla para introducir los datos, principalmente la IP del servidor, y el tipo de cliente (Transmission):

btwebupconfig

Cerramos, y ya lo tenemos todo listo para descargar al vuelo. Si vamos a cualquier página, y hacemos clic sobre un enlace a un archivo .torrent, nos aparecerá algo así:

descarga auto

Notificación de nueva descarga añadida.

Jajaja, mucho mejor, ¿verdad? 🙂

App para el móvil

Y ¿si nos pilla en el sofá y queremos descargar un torrent con el móvil? Pues también existe una aplicación para ello, se llama Remote Transmission. La podéis encontrar en el Play Store de Google. La descargáis y una vez instalada, la abrimos. Lo primero que nos pide son los datos del servidor al que se conectará para enviarle los torrents para descargar:

ppScreenshot_2016-02-07-20-14-07

ppScreenshot_2016-02-07-20-17-25

Rellenamos los campos para el nombre de la cuenta (luego nos aparecerá este nombre en la lista de servidores), su IP, el puerto por defecto 9091, pulsamos en Aceptar para guardar:

ppScreenshot_2016-02-07-20-17-33

Ya tenemos la app configurada y funcionando. En cuanto estemos navegando y pulsemos sobre un .torrent, nos abrirá una pantalla como la que sigue:

ppScreenshot_2016-02-07-20-18-47Si hacemos clic en Add nos lo añadirá a la lista de descargas:

ppScreenshot_2016-02-07-20-19-08

¡Y eso es todo! Más fácil imposible. Ya podemos tener un gestor de descargas 24h al día y 7 días a la semana sin preocuparnos lo más mínimo. Además si le activáis la seguridad y redireccionáis el puerto en vuestro router, podréis acceder desde Internet (usando un servicio como No-IP) con el móvil mientras volvéis del trabajo en el autobús, y al llegar a casa ya tendréis descargado lo que sea en vuestro servidor :).

Además si la carpeta de descargas la compartís con Samba, tendréis un servidor perfecto para usar con una Raspberry y Kodi conectada a la TV 🙂

Deja un comentario

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