A mí es uno de los gestores que más me gustan, precisamente por la versatilidad y funciones que tiene. Esta vez verás cómo mantener actualizado el blocklist de transmission de forma automática.
De por sí, una vez que sabes como instalar y configurar transmission en linux, puede parecer que ya está todo listo. Nada más lejos de la realidad, pues aunque sepas configurar la lista de bloqueos, esta no se pondrá en marcha sola si lo instalas como servicio en linux.
Cómo auto actualizar la blocklist de Transmission
Una lista de bloqueo o blocklist, es una lista en un formato determinado pensada para bloquear la conexión con ciertos pares. Normalmente lo que se quiere evitar es conectar con pares peligrosos, o que puedan enviar partes de archivos con el fín de infectar tu equipo.
La blocklist de transmission es muy fácil de configurar, pues bastará con poner la dirección en la configuración de este, pero al final siempre te toca actualizarla a mano. A pesar de no tener que hacerlo muchas veces, es bastante fácil que se te olvide.
En transmission funciona de una manera bastante sencilla. Basta con dejar la lista en la carpeta blocklists, y al ejecutarse transmission este la volcará a un archivo .bin preparado. Este archivo transmission lo codifica de tal forma que es mucho más rápido encontrando las coincidencias, y por tanto también consume menos recursos.
Pero vamos al tema que nos ocupa.
Cómo descargar un blocklist para transmision manualmente
En este caso ya debes tener la dirección del blocklist que mejor te convenga, hay varios en github así que dependiendo para qué lo vayas a usar puedes escoger uno u otro (por ejemplo la de wael o bitsurge).
Lo primero será acceder a la carpeta del blocklist (una vez conectados por ssh o abriendo un terminal).
cd /var/lib/transmission-daemon/info/blocklists/
Ahora toca descargar la lista de la url que tienes:
wget
La descomprimirás para que la pueda interpretar transmission
gunzip list.gz
Y por último solo queda reiniciar el servidor
/etc/init.d/transmission-daemon reload
Una vez terminado si haces un ls -l, verás que se ha generado el archivo .bin, que será el que utiliza transmission para saber con quién conectar y con quién no.
Cómo automatizar el blocklist de transmission
Pero esto sería un coñazo si lo tienes que hacer cada vez que quieres actualizar las listas de bloqueo, por lo que vas a optar por la opción B. En este caso simplemente creamos un archivo ejecutable, con unas líneas que se encargarán de descargar, descomprimir el archivo y reiniciar el servidor.
Dependiendo de la frecuencia con la que quieras actualizar puedes crearlo en uno de los directorios del cron en lugar de en home:
- /etc/cron.daily
- /etc/cron.weekly
- /etc/cron.monthly
Aunque yo prefiero crear el archivo actualizar-listas.sh en la home y luego automatizarla:
nano /home/actualizar-listas.sh ---->contenido #!/bin/bash # carpeta de los blocklist BLOCKLISTDIR=/var/lib/transmission-daemon/info/blocklists cd ${BLOCKLISTDIR} if [ $? -eq 0 ]; then if [ -f list ]; then rm level1 fi # if no blocklist file exist update blocklist if [ ! -f list ]; then # descargamos la lista en formato .gz wget -q -O list.gz # si se descarga lo descomprimimos if [ -f list.gz ]; then gunzip list.gz # si se ha descomprimido bien, reinicia transmission if [ $? -eq 0 ]; then chmod go+r list /etc/init.d/transmission-daemon reload else rm -f list* fi fi fi cd - 2>&1 >/dev/null fi
Hazlo ejecutable para evitar problemas con este comando:
chmod +x /home/actualizar-listas.sh
Y ahora lo añadiremos a la tabla con con
crontab -e
Añade esta línea al final:
1 1 * * 0 /home/actualizar-listas.sh
En este caso se ejecutaría a la 1 de la madrugada los domingos, pero los asteriscos indican cuando ejecutarlo por orden de izquierda a derecha de esta forma:
- minuto (0-59)
- hora (0-23)
- día del mes (1-31)
- mes (1-12)
- día de la semana (0-6)
Si quieres que se ejecute cada vez que inicies el equipo o raspberry, basta con sustituir los asteriscos por @reboot:
@reboot /home/actualizar-listas.sh
Y una vez configurado basta con que reinicies el cron:
/etc/init.d/crontab restart
¿Puedo tener varios blocklist en transmission?
Por supuesto, basta con que te busques varias listas y te crees un script para cada una de ellas. También puedes añadir las líneas de descarga y descompresión en uno solo y los descargará todos a la vez.
De esta forma tendrías un poco menos de control sobre cuando se ejecutan, ya que no todos se actualizan con la misma frecuencia. Yo prefiero tener una lista en cada uno.
Si te ha quedado alguna duda, o no consigues hacer que te funcione, no te lo pienses y déjame un comentario, te echaré un cable encantado.
¿Usas transmission? ¿En qué sistema operativo? Comenta y comparte