Pedido lo nuevo de ステーション♪ ^^! https://t.co/kXzDxMaMCV

FlexGet

FlexGet en un pequeño pero útil programa que nos permite programar la descarga de torrents para evitar tener que hacerlo manualmente. Esto supone una comodidad pues simplemente le indicamos de donde conseguimos los torrents, que series queremos y él se encarga de todo.

Esta pequeña guía requiere tener el bootstrap instalado (para usar el ipkg) y utiliza el programador de tareas de la nueva versión 4.2 del Synology DSM. También utiliza las “user home” para mayor comodidad.

Procedimiento de instalación:

0. Actualizaciones del procedimiento

– 27/03/2013: Se sustituye Python 2.6 por Python 2.7
– 24/06/2013: Interfaz web

1. Instalamos los requisitos previos.

Esto lo hacemos vía telnet/ssh con el usuario root.

ipkg update
ipkg install python27 py27-setuptools sqlite

2. Corregimos un pequeño error de configuración

Editamos el fichero /opt/lib/python2.7/distutils/distutils.cfg modificando la última línea cambiando 2.5 por 2.7

3. Instalamos FlexGet.

También con usuario root. El binario quedará instalado en /opt/local/bin/flexget

easy_install-2.7 flexget

Podemos verificar su correcta instalación con este comando:

/opt/local/bin/flexget -V

4. Creamos una nueva cuenta de usuario.

Esta tendrá permisos limitados y será la que ejecutará el programa. Esto lo hacemos desde el panel web del NAS, yo he creado un usuario con el nombre “flexget”.

5. Preparamos la configuración.

Dentro del home del usuario \\NAS\homes\flexget deberemos guardar el fichero de configuración, en este ejemplo llamado config.yml. Este fichero lo podéis configurar a vuestro gusto pero a continuación os muestro una pequeña configuración de ejemplo que:

– descarga de nyaa.eu los torrents de Tamako Market subtitulados por el fansub Commie

– guarda dichos torrents en /volume1/homes/flexget/torrents/ o \\NAS\homes\flexget\torrents

config.yml

En la creación de este fichero son muy importantes los espacios que escalonan cada línea. Leed la documentación oficial para ver cómo realizar configuraciones más complejas y potentes.

6. Configuramos Transmission.

Hay un plugin que nos permite enviar vía RPC los torrents directamente al Transmission, pero en mis pruebas he visto que al descargar muchos torrents de golpes daba errores, por eso lo que hago es guardar los torrents en el disco duro y el propio Transmission monitoriza esa ubicación añadiéndolos automáticamente.

Para que Transmission monitorice un directorio debemos modificar su configuración editando /usr/local/transmission/var/settings.json añadiendo/editando estas dos líneas. Recordad parar el servicio antes de modificar la configuración.

“watch-dir”: “/volume1/homes/flexget/torrents”,
“watch-dir-enabled”: true

7. Realizamos prueba de funcionamiento.

Esto lo hacemos desde telnet/ssh conectamos como root y lanzando este comando:

/opt/local/bin/flexget –logfile /volume1/homes/flexget/flexget.log -c /volume1/homes/flexget/config.yml –check

En caso de que nos devuelva errores, debemos ir corrigiendo el fichero de configuración hasta que nos dé un “passed” en todas las tareas que hayamos configurado.

8. Programamos la ejecución.

Por comodidad, yo he utilizado el nuevo programador de tareas de la versión 4.2 configurando una tarea programada como muestran estas imágenes. El comando nos creara el fichero \\NAS\homes\flexget\flexget.log donde podremos analizar los posibles errores durante la ejecución en caso de problemas.

tarea1

tarea2

9. Actualización del programa.

Con el paso del tiempo van a ir saliendo nuevas versiones de FlexGet que añadan funcionalidades nuevas o corrijan errores detectados.

Para actualizar a la última versión disponible basta con ejecutar este comando (podemos programar su ejecución si queremos).

easy_install-2.7 -U flexget

Si queremos comprobar si hay alguna versión actualizada antes de actualizar, podemos ejecutar este comando el cual nos mostrará la versión instalada y la más reciente en caso de haberla.

/opt/local/bin/flexget -V

10. Interfaz web.

Aunque actualmente está un poco verde, si lo deseamos podemos utilizar la interfaz web para gestionar la ejecución del programa así como realizar la configuración del mismo.

En este caso podemos omitir los pasos 7 y 8 de esta guía. La actualización del programa se realiza igual que el paso 9 pero debemos recordar de cerrar la interfaz web antes de actualizar (se hace desde la propia interfaz) y una vez actualizado el programa volverla a ejecutar.

Dicho esto, para lanzar la interfaz web tan solo debemos ejecutar este comando:

/opt/local/bin/flexget-webui -c /volume1/homes/flexget/config.yml -d –username flexget –password PASSWORDQUEQUEREMOS

Esto dejará funcionando la interfaz web aunque cerremos la conexión de consola. Para acceder a dicha interfaz debemos acceder a esta url en nuestro navegador:

http://IP_de_nuestro_NAS:5050/home/

En la interfaz tenemos diversos apartados:

– Configure: para modificar la configuración. Los cambios se aplican al fichero config.yml.
– Execute: para ejecutar manualmente comandos. Por ejemplo “–now” ejecutaría manualmente la comprobación de nuestros feeds.
– Schedule: aquí definimos cada cuanto tiempo queremos que se realice cada comprobación de nuestros feeds.
– Series/Movies: para gestionar las series y películas a descargar.
– History/Log: los registros de ejecución del programa.
– Shutdown: para cerrar la interfaz web.

Recordad que esta interfaz esta aún en desarrollo y es posible que alguna funcionalidad no funcione o deje de hacerlo en alguna actualización.

Por último, si queréis que la interfaz se ejecute automáticamente cada vez que reiniciemos el NAS, tan solo tenemos que añadir al final del fichero /etc/rc.local el comando para lanzar la interfaz web.

11. Enlace via RPC con transmission

Otra opción para pasar los torrents a nuestro Transmission es conectar via RPC. Para hacerlo debemos instalar un complemento adicional:

easy_install-2.7 transmissionrpc

Y a continuación basta reemplazar en nuestro config.yml el punto “download:” por algo asi:

    transmission:
      enabled: true
      host: ip_nuestro_cliente_transmission
      username: usuario_del_transmission
      password: password_del_usuario_del_transmission
      port: puerto_del_cliente_transmission
A %d blogueros les gusta esto:

Licencia Creative Commons
Este obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.