Raspberry PI – Servidor de descarga (Torrent)

Transmission es un cliente P2P liviano, gratuito y de código abierto para la red BitTorrent.

Me he visto en la necesidad de disponer de este servicio, con la que decidido montarlo en una Raspberry Pi, debido a su bajo consumo eléctrico y su gran eficiencia baja el SO Raspbian. Se configurar este servicio para que sea gestionado por web, opción que nos brinda el paquete Tramission.

1.- Requerimientos mínimos

  • Raspberry Pi
  • Fuente de alimentación, para la Raspberry PI
  • SD 8GB, para instalar el SO Raspbian
  • Pendrive 16

2.- Instalar Raspbian

Fuente: https://www.raspberrypi.org/documentation/installation/installing-images/

Linux: https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
MAC OS: https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
Windows: https://www.raspberrypi.org/documentation/installation/installing-images/windows.md

*Recomendación: Todos los datos de la SD se borran, con lo que es recomendable hacer copia de seguridad de la misma si dispones de información de interes

3.- Habilitar SSH(Opcional)

Si deseas configurar remotamente este servicio es necesario habilitar el ServerSSH
Para habilitar este servicio lo podemos realizar desde la configuracion de herramientas de la Raspberry Pi, para acceder a ella introducir el siguiente instrucción

sudo raspi-config

Habra que ir a: 5 Interfacing Options >> P2 SSH >> Yes, para habilitarlo

4.- Instalación y configuración de Transmission

Fuente: https://help.ubuntu.com/community/TransmissionHowTo

sudo apt-get install transmission-cli transmission-common transmission-daemon

Una vez instalado Transmission en nuestro servidor, podemos comprobar que está ejecutándose en segundo plano correctamente:

sudo service transmission-daemon status

Para poder acceder al cliente web desde otro equipo, tenemos que realizar una pequeña configuración… Primero editamos el fichero “/etc/transmission-daemon/settings.json” (con permisos de root).

vim /etc/transmission-daemon/settings.json

Y en este fichero nos aseguraremos de incluir nuestra IP en la siguiente línea:

“rpc-whitelist”: “127.0.0.1, 192.168.1.123”,

Tambień podemos utilizar comodines de esta forma:

“rpc-whitelist”: “127.0.0.1, 192.168.1.*”,

Hecho ésto, recargamos el demonio de Transmission para aplicar la nueva configuración:

sudo service transmission-daemon reload

Y ya podemos abrir el cliente web para manejar Transmission en nuestro servidor:

http://ip-servidor:9091/

El usuario y contraseña por defecto es: transmission/transmission

Tener en cuenta la siguiente configuración en el archivo “/etc/transmission-daemon/settings.json”

rpc-password, es la contraseña cifrada. Por defecto es transmission. Podemos cambiarla simplemente borrando toda la contraseña actual (lo que hay entre las comillas) y escribiendo la contraseña en texto plano. Al iniciar transmission se cifrará automáticamente. Para mayor seguridad habra que generar un password SHA1
Fuente: http://albertech.blogspot.com.es/2011/08/generate-sha1-hash-from-command-line-in.html

$ echo -n password | sha1sum

5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 -

rpc-username, es el nombre de usuario que se nos requerirá para acceder (con la contraseña anterior) también transmission por defecto.

rpc-whitelist, son las direcciones desde las que podremos acceder, por defecto viene la local, podemos añadir más poniendo una coma seguido de la IP que queremos, por ejemplo: “rpc-whitelist”: “127.0.0.1, 192.168.1.2”

download-dir, es el directorio dónde se guardaran los torrents descargados

5.- Formatear Pendrive

Fuente: https://www.howtogeek.com/235655/how-to-mount-and-use-an-exfat-drive-on-linux/

*Recomendación: Todos los datos de la SD se borran, con lo que es recomendable hacer copia de seguridad de la misma si dispones de información de interés

Para que este dispositivo de almancenamiento sea soportado por Windows y por Linux, he decidido formatear con el sistema de archivos ExFat que soporte archivos con tamaños de mas de 4GB, dado que las peliculas descargadas pueden llegar a tener un tamaño superior a 4GB dependiendo de su calidad.

Instalar los siguientes paquetes
$ sudo apt-get install exfat-fuse exfat-utils

podemos comprobar la unidad de disco con los comandos
fdisk -l o df -h, posiblemente solicite credenciales de administrador, con lo que habra que utilizar sudo (sudo fdisk -l). En mi caso la unidad del pendrive la ha identificado como /dev/sda1

Se crear el directorio exfat, donde se ha de montar la unidad de almacenamiento
$ sudo mkdir /media/exfat

a continuación montamos el dispositivo
$ sudo mount -t exfat /dev/sda1 /media/exfat

Si se desea desmontar la unidad de almacenamiento para extraer el pendrive de manera segura habra que ejecutar la siguiente instrucción

$ sudo umount /dev/sda1