Hola a todos.
Os voy a dejar aquí de la mejor manera posible cómo he conseguido que con varias herramientas en nuestro
QNAP sea posible las descargas automatizadas en castellano a través de
transmission y
flexget.
Lo primero que necesitamos saber es que lo que vamos a hacer es descargar torrents a través de un RSS que pueden tener distintas páginas españolas.
El primer paso debería ser instalar Python desde el APP center. Debéis buscar la version 3.
Seguidamente hay que instalar
setuptools de python. Para ello:
Instalación de SetupToolsSeguidamente debemos instalar PIP.
Instalación de PIPPara cualquier error buscad por aquí:
https://www.pixxis.be/2014/04/29/instal ... _qnap_nas/ Ahora debemos instalar
flexget en nuestro
QNAP. Para ello debemos acceder mediante alguna herramienta SSH a nuestro QNAP.
pip install flexget
Con ese comando debería ser suficiente.
No desesperéis si no sale a la primera o si os da errores de conexión SSL, buscad en google los errores encontrados. Hay muchos enlaces con posibles soluciones. He de reconocer que a mi me costó un triunfo conseguir que flexget funcionara y se instalara.
Doy por hecho que tenéis transmission instalado a través del app center.
Para comprobar si flexget está instalado ejecutamos lo siguiente:
flexget -V
Si esto os pinta en la pantalla el número de versión, es que vamos bien.
Ahora necesitamos configurar cómo va a funcionar flexget. Necesitamos crear un fichero que se llame "config.yml".
Además necesitamos guardar ese fichero en la siguiente ruta:
/share/CACHEDEV1_DATA/.flexget/config.yml
El programa os pedirá que creeis este fichero en /root/flexget o /root/.flexget
Podéis hacerlo pero cada vez que reiniciéis el NAS estos ficheros SE BORRAN TODOS. En cambio, si lo guardamos en la ruta anterior, no tendremos problemas con los reinicios del NAS.
El contenido de este fichero puede ser INFINITO y tiene mil millones de opciones.
Yo os voy a dejar un ejemplo parecido al cómo lo tengo yo con unos comentarios de lo que hace cada línea.
Para poner vuestras configuraciones buscad en google o metéos aquí
http://flexget.com/wiki/Configuration y en las mil páginas de configuración que tienen.
Es muy importante que el fichero de configuración esté perfectamente indentado. La indentación se hace con espacios y cada nueva linea incluye 2 espacios extra (si es un atributo dentro de otro)
A continuación, mi fichero de configuración:
Os recuerdo que el fichero está preparado para series en español. Por ello necesitamos los RSS de webs con torrent en español. Yo he elegido
newpct1/newpct y Divxtotal
Newpct =
http://feeds2.feedburner.com/newpctorrentDivxtotal =
http://www.divxtotal.com/rss.phpEl fichero está compuesto por "plantillas" que hacen operaciones y por "tareas".
Las plantillas actúan sobre las entradas que se leen del RSS.
Mis comentarios serán de la siguiente forma:
LINEA ---> COMENTARIO
- Código: Seleccionar todo
templates: --> Empezamos definiendo las "plantillas"
templateSeries:
regexp: --> con expresiones regulares
reject: --> rechazo todo lo que contenga lo siguiente
- SUB
- WEB
- CENSORED: {from: title} --> Si está CENSORED en el título, lo rechazamos
- SCREENER: {from: title}
- LATINO: {from: title}
- VOS: {from: title}
- V.O: {from: title}
- SUBT: {from: title}
- SUBS: {from: title}
- INGLES: {from: title}
- SUBTITUL: {from: title}
# accept: --> También podéis aceptar entradas que contengan justo lo que está debajo, yo esta parte la tengo ANULADA/COMENTADA (por ello tiene un "#" delante)
# - NEWPCT
# - ELITETORRENT
# - DIVXTOTAL
# - SPANISH
# - TEMPORADA
# - CASTELLANO
private_torrents: no --> No quiero torrents privados
thetvdb_lookup: yes --> Quiero que la gran web THETVDB tagee mis episodios
metainfo_series: yes --> Quiero añadir datos en los ficheros descargados (nombre, título, argumento...)
require_field: --> Todo fichero descargado debe encontrar en la base de datos de THETVDB los siguientes parámentros
- tvdb_series_name --> nombre
- tvdb_ep_name --> numero de episodio
- tvdb_season --> temporada
- tvdb_episode --> nombre del episodio
set:
content_filename: "{{ tvdb_series_name }} - {{ series_id }} {% if quality %} {{ quality|upper }} {% else %} HDTV {% endif %}" --> renombramos el fichero a NOMBRE - TEMPORADA-EPISODIO - CALIDAD (si no existe, decimos que es HDTV)
content-disposition: no
series: --> Parámetro imprescindible, series nos da la posibilidad de configurar qué series queremos descargar
settings: --> Opciones
seriesespanol: --> Nombre de las opciones
set:
content_filename: "{{ series_name }} - {{ series_id }}" --> Renombrar
propers: 30 days --> Ficheros de más de 30 días
qualities: --> Quiero, por este orden, las siguientes calidades de fichero.
- 720p+
- hdtv
seriesespanol: --> Las series que quiero, son:
- Homeland: --> Nombre de serie
begin: S05E04 --> Si queréis que empiece a descargar desde algún episodio en concreto.
set:
tvdb_id: 247897 --> el id de la series en THETVDB, ayuda a flexget a ahorrar la búsqueda de la serie para taggear. Podéis buscar el id en la web oficial de THETVDB
templateTransmission: --> Nueva plantilla, para transmision, esto va así, tal cual, modificad el user y la password
transmission:
enabled: yes
host: localhost
port: 9091
username: tuuser
password: tupassword
clean_transmission:
enabled: yes
host: localhost
port: 9091
username: tuuser
password: tupassword
finished_for: 1 hours --> Borrar los completados si llevan mínimo 1h completados
templateRenameDivxtotal: --> Nueva plantilla
urlrewrite: --> Vamos a reescribir las url de divxtotal de una manera en que flexget pueda obtener el archivo torrent.
divxtotal.com:
regexp: 'https?:\/\/(?:www.)?divxtotal.com\/series\/torrent\/(?P<torrent>[0-9]+)\/.+'
format: 'http://www.divxtotal.com/download.php?id=\g<torrent>'
templateExisteYa: --> Nueva plantilla
exists_series: --> Si la serie existe en la carpeta "PATH" entonces no descargará el torrent.
path: /share/CACHEDEV1_DATA/Multimedia/Videos/Series/{{series_name}} --> Aquí tienen que estar los episodios (es mi biblioteca, podéis poner vuestro path)
allow_different_qualities: better --> Permitimos episodios de distintas calidades
templateEtiquetas: --> Nueva plantilla, etiquetas que queremos de nuestros episodios, si cualquiera de estas etiquetas no está el episodio no se descargará.
thetvdb_lookup: yes
metainfo_series: yes
imdb_lookup: yes
all_series:
parse_only: yes
require_field:
- tvdb_series_name
- tvdb_ep_name
- tvdb_season
- tvdb_episode
set:
content_filename: "{{ tvdb_series_name }} - {{ series_id }} - {{ tvdb_ep_name|default('') }} "
content-disposition: no
tasks: --> Comienzan las tareas
download-newpct: --> titulo de tarea
priority: 1 --> orden
rss: --> cuál es la url del rss que vamos a mirar
url: http://feeds2.feedburner.com/newpctorrent
template: --> plantillas que se aplican
- templateSeries
- templateTransmission
- templateExisteYa
download-divxtotal: --> titulo de tarea2
priority: 2 --> orden
rss: --> url de rss que se mira
url: http://www.divxtotal.com/rss.php
template: --> Plantillas que se aplican
- templateSeries
- templateRenameDivxtotal
- templateTransmission
- templateExisteYa
ordenar: --> Nueva tarea, en esta vamos a mover DESDE nuestra carpeta de descargas de tranmission HASTA nuestras carpetas en la biblioteca de series si quisiéramos ordenarlas automáticamente.
priority: 3 --> orden
filesystem: --> Buscar en esta carpeta todo fichero mkv, mp4 o avi y moverlo con los atributos de las templates a donde diga el parámetro "move".
path: /share/CACHEDEV1_DATA/Download/transmission/completed/
regexp: '.*\.(mkv|mp4|avi)$'
recursive: yes
seen: local
template:
- templateSeries
- templateExisteYa
- templateEtiquetas
accept_all: yes
move:
to: /share/CACHEDEV1_DATA/Multimedia/Videos/Series/{{ tvdb_series_name }}/Season{{ tvdb_season }}/
filename: '{{ tvdb_series_name }} - {{ series_id }} {{ location | pathext }}'
along:
- mkv
- mp4
- avi
----------------------------------------------------------------
Y eso es todo. Sé que puede ser mucha información de primeras, pero con paciencia, googleleando, leyendo foros y preguntando es posible montar un buen sistema.
Espero que os haya servido.
Saludos!