Instalar y configurar Transmission en IPFire

Voy a explicar como configurar Transmission para que corra desde nuestro IPFire. Descargue directamente todo a unas carpetas compartidas en nuestro Nas por red y, por si se cae el nas o la red ,compruebe mediante un script si puede acceder a las carpetas compartidas y en caso de que no pueda pare el servicio de transmission para evitar que descargue contenido en nuestro firewall / raspberry.

El paquete se puede instalar desde pakfire y actualmente esta en la version 2.84.

Accedemos desde un navegador al frontend de Ipfire y nos vamos a Pakfire

Screenshot_1

Y seleccionamos en paquetes disponibles Transmission y lo instalamos, en mi caso ya lo tengo instalado como podeis ver.

Importante tambien instalar cifs-utils si no lo teneis todavia.

Screenshot_2

Una vez instalado vamos a configurar lo primero de todo las reglas del firewall. En el menu nos vamos a:

Firewall>FireWall Groups y seleccionamos Services

Creamos estos 3 servicios

Screenshot_3

Ahora otra vez

Firewall>FireWall Groups y seleccionamos Services Groups

Y creamos un nuevo grupo de servicios tal que asi
Screenshot_4

Ahora nos vamos Firewall>Firewall Rules

Y seleccionamos New rule y creamos una regla como esta.

Screenshot_5

Guardamos la regla y aplicamos los cambios en el firewall
Screenshot_6

¡¡¡¡No te olvides de abrir esos mismos puertos en tu router!!!!

Bien ahora vamos a entrar por ssh a nuestro ipfire y vamos a pulirlo para que sea mas fino que un reloj suizo 🙂

 

Entramos por ssh a nuestro IPFire

Lo primero es crear una carpeta en /mnt para montar el Share del Nas

cd /mnt

mkdir transmission

Ahora editamos el fichero fstab para que monte las unidades automaticamente cada vez que se inicie el sistema.

nano /etc/fstab

y agregamos la linea para montar nuestro share modificando lo que esta marcado en rojo segun sea vuestro caso

//192.168.0.198/Share/Descargas/transmission /mnt/transmission cifs guest,uid=1000,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

Con esto ya queda montado el Share de nuestro Nas en el firewall con permisos de escritura.

Ahora vamos a configurar el script que se encarga de iniciar o parar el servicio de transmission en caso de que no este accesible la unidad del Nas.

cd /etc/transmission

nano checkshares.sh

Pegamos el siguiente codigo y guardamos

#!/bin/bash

#Vamos a definir que fichero tiene que detectar y en que ruta esta

mount -a

if [ ! -f /mnt/transmission/check.txt ]; then
/etc/init.d/transmission stop

killall transmission-daemon

else

/etc/init.d/transmission start
fi
exit 0

 

El script lo que hace es comprobar que el archivo check.txt existe en /mnt/transmission. De no ser asi, para el servicio. Muy sencillo.

Le damos permisos de ejecucion

chmod +x checkshares.sh

Creamos el archivo check.txt

nano /mnt/transmission/check.txt

guardamos y salimos.

Por ultimo, agregamos el script al crontab para que se ejecute cada minuto

en el caso de ipfire

fcrontab -e

o en las distros estandar de raspberry y linux

crontab -e

y se mete esta linea para que se ejecute cada 1 minuto:

#Comprobar que el Share del NAS sea accesible para ipfire
*/1 * * * * /etc/transmission/checkshares.sh

Ahora por ultimo vamos a configurar las settings de Transmission.

Paramos el servicio de Transmission, si no los cambios no se nos guardaran.

/etc/init.d/transmission stop

Y editamos el archivo de opciones dejando las opciones que resalto en rojo exactamente igual, el resto de opciones son recomendables:

nano /etc/transmission/settings.json

{
“alt-speed-down”: 50,
“alt-speed-enabled”: false,
“alt-speed-time-begin”: 435,
“alt-speed-time-day”: 127,
“alt-speed-time-enabled”: false,
“alt-speed-time-end”: 1425,
“alt-speed-up”: 50,
“bind-address-ipv4”: “0.0.0.0”,
“bind-address-ipv6”: “::”,
“blocklist-enabled”: false,
“blocklist-url”: “http://www.example.com/blocklist”,
“cache-size-mb”: 4,
“dht-enabled”: true,
“download-dir”: “/mnt/downloads”,
“download-limit”: 100,
“download-limit-enabled”: 0,
“download-queue-enabled”: true,
“download-queue-size”: 5,
“encryption”: 0,
“idle-seeding-limit”: 30,
“idle-seeding-limit-enabled”: false,
“incomplete-dir”: “/mnt/torrents”,
“incomplete-dir-enabled”: true,
“lpd-enabled”: true,
“max-peers-global”: 200,
“message-level”: 2,
“peer-congestion-algorithm”: “”,
“peer-id-ttl-hours”: 6,
“peer-limit-global”: 240,
“peer-limit-per-torrent”: 60,
“peer-port”: 51413,
“peer-port-random-high”: 65535,
“peer-port-random-low”: 49152,
“peer-port-random-on-start”: false,
“peer-socket-tos”: “default”,
“pex-enabled”: true,
“port-forwarding-enabled”: true,
“preallocation”: 1,
“prefetch-enabled”: 1,
“queue-stalled-enabled”: true,
“queue-stalled-minutes”: 30,
“ratio-limit”: 2,
“ratio-limit-enabled”: false,
“rename-partial-files”: true,
“rpc-authentication-required”: true,
“rpc-bind-address”: “0.0.0.0”,
“rpc-enabled”: true,
“rpc-password”: “esto definelo desde el front end”,
“rpc-port”: 9091,
“rpc-url”: “/transmission/”,
“rpc-username”: “admin”,
“rpc-whitelist”: “127.0.0.1”,
“rpc-whitelist-enabled”: false,
“scrape-paused-torrents-enabled”: true,
“script-torrent-done-enabled”: false,
“script-torrent-done-filename”: “”,
“seed-queue-enabled”: false,
“seed-queue-size”: 10,
“speed-limit-down”: 100,
“speed-limit-down-enabled”: false,
“speed-limit-up”: 100,
“speed-limit-up-enabled”: false,
“start-added-torrents”: true,
“trash-original-torrent-files”: false,
“umask”: 2,
“upload-limit”: 100,
“upload-limit-enabled”: 0,
“upload-slots-per-torrent”: 14,
“utp-enabled”: true
}

Guarda el archivo con los cambios.

Vuelve a arrancar el servicio de transmission

/etc/init.d/transmission start

y revisa de nuevo el archivo settings.json para que los cambios realizados se hayan guardado ok.

Si todo funciona bien realiza una copia de seguridad de la tarjeta con el sistema operativo tal y como explicamos en Grabar IMG en una SD

Por ultimo te recomiendo descargar Transmission Remote GUI  para gestionar transmission con un entorno de cliente mas amigable. Ademas permite asociar la aplicacion con las extensiones .torrent

 



Si te gustó la entrada puedes utilizarla siempre y cuando compartas la web y nos menciones como fuente de la información.

Deja un comentario

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

*