con tu RaspberryPi y un poco de magia linuxera
Buenas tardes, aprovechando que me han baneado injustamente del tracker privado donde estaba apuntado (lo siento Xesco), comparto con vosotros mi último script. Sirve básicamente para descargar via torrent los capítulos de tus series preferidas, desde Pirate Bay. En mi caso las bajo en inglés y luego me bajo los subtítulos, esta parte aun no la e terminado, así que los subtítulos a mano y los capítulos automáticos.Bueno bueno bueno, Pirate Bay seguramente no es lo mejor de lo mejor para cualquier otro idioma que no sea inglés, pero como mi señora y yo somos un poco agonías y no podemos esperar a que salga la serie en español, la vemos en inglés subtitulado, además tiene más gracia. Así que como os decía, este script made in Juanmol, busca las series y las descarga, y ya que estamos me manda un whatsapp avisándome de que se lo está bajando. Lo llamaremos /usr/local/bin/busca_torrents.sh :
#/bin/bash # programado por Juanmol para http://rsppi.blogspot.com listado=/root/seriesdescargadas/listado.txt tmp=/tmp/salida series="once upon a time,fringe,how i met your mother,big bang theory,bones,grey anatomy" IFS=','; for n in $series; do serie=$n; wget "http://thepiratebay.se/search/$serie/0/7/0" -O $tmp ; magnet=$(cat $tmp | grep magnet | head -1 | cut -f2 -d\"); capitulo=$(echo $magnet | sed 's/\ /\n/g' | sed 's/\./\n/g' | sed 's/\+/\n/g' | grep S | grep E if [ $(cat $listado | grep "$serie" | grep $capitulo | wc -l) = 1 ]; then echo ya se descargo; else echo no existe, se descarga; echo $serie $capitulo >> $listado; transmission-remote -a "$magnet"; /usr/local/bin/encola_whatsapp.sh 666777888 "descargando automaticamente $serie $capitulo"; fi doney que no se te olvide crear antes de nada el archivo con el log:
mkdir -p /root/seriesdescargadas/ touch /root/seriesdescargadas/listado.txtes perro perro, pero funciona de maravilla. Tienes que poner las series en ese formato, separadas por comas, por supuesto pon tu número de móvil en lugar de 666777888. Funciona con algo de lógica, se supone que ya as visto los capítulos anteriores y se baja el que mas semillas tiene, que suele ser el nuevo. Si ya lo ha bajado, no lo vuelve a bajar. Para descargar los torrents usa el transmission, que ya lo hemos configurado en otros posts. Yo lo llevo usando unos días y no ha fallado. Ahora añadimos la siguiente línea al archivo /etc/crontab para que se ejecute cada 20 minutos:
*/20 * * * * root /bin/bash /usr/local/bin/busca_torrents.shA ver si termino la parte de que se baje también los subtítulos de forma automática ... si alguien se ofrece voluntario y comparte sus conocimientos, le estaré eternamente agradecido.
Añado una captura de los avisos via whatsapp, los dos primeros indican que el torrent ya se ha descargado, esto lo configuras en el transmission-daemon, como ya he explicado en otros posts:
ACTUALIZACIÓN:
como no tengo narices de poner en marcha el FleshGet (gracias Xesco), le he puesto unas mejoras a mi script, ahora además se descarga los subtítulos, aquí lo tenéis:
#/bin/bash listado=/root/seriesdescargadas/listado.txt tmp=/tmp/salida series_vip="once upon a time,fringe,how i met your mother,big bang theory,bones s08*,modern family,game of thrones s03*,the walking dead" IFS=','; for n in $series_vip; do serie=$n; wget "http://thepiratebay.se/search/$serie/0/7/0" -t 2 -T 2 -O $tmp ; magnet=$(cat $tmp | grep VIP | grep magnet | head -1 | cut -f2 -d\"); if [ "$(echo $magnet | wc -c)" -gt "10" ]; then capitulo=$(echo $magnet | sed 's/\ /\n/g' | sed 's/\./\n/g' | sed 's/\+/\n/g' | grep S | grep E); serie=$(echo $serie | sed 's/\*//g'); if [ $(cat $listado | grep "$serie" | grep $capitulo | wc -l) = 1 ]; then echo ya se descargo; else capitulo_sub=$(echo $capitulo | sed 's/S0//g' | sed 's/S//g' | sed 's/E/x/g'); serie_sub=$(echo $serie | sed 's/\ /-/g'); sub_url=http://www.subtitulos.es/$serie_sub/$capitulo_sub ; wget $sub_url -O /tmp/buscame.down ; url_final=$(cat /tmp/buscame.down | grep "/5/" | head -1 | cut -f2 -d\") ; echo $serie $capitulo >> $listado; wget --referer $sub_url $url_final -O "/mnt/porver/$serie $capitulo.srt"; transmission-remote -a "$magnet"; /usr/local/bin/encola_whatsapp.sh 666555444 "descargando automaticamente $serie $capitulo"; fi fi done series="grey anatomy" IFS=','; for n in $series; do serie=$n; wget "http://thepiratebay.se/search/$serie/0/7/0" -t 2 -T 2 -O $tmp ; magnet=$(cat $tmp | grep magnet | head -1 | cut -f2 -d\"); if [ "$(echo $magnet | wc -c)" -gt "10" ]; then capitulo=$(echo $magnet | sed 's/\ /\n/g' | sed 's/\./\n/g' | sed 's/\+/\n/g' | grep S | grep E); serie=$(echo $serie | sed 's/\*//g'); if [ $(cat $listado | grep "$serie" | grep $capitulo | wc -l) = 1 ]; then echo ya se descargo; else capitulo_sub=$(echo $capitulo | sed 's/S0//g' | sed 's/S//g' | sed 's/E/x/g'); serie_sub=$(echo $serie | sed 's/\ /-/g'); sub_url=http://www.subtitulos.es/$serie_sub/$capitulo_sub ; wget $sub_url -O /tmp/buscame.down ; url_final=$(cat /tmp/buscame.down | grep "/5/" | head -1 | cut -f2 -d\") ; echo $serie $capitulo >> $listado; wget --referer $sub_url $url_final -O "/mnt/porver/$serie $capitulo.srt"; transmission-remote -a "$magnet"; /usr/local/bin/encola_whatsapp.sh 666555444 "descargando automaticamente $serie $capitulo"; fi fi done
si os fijáis ahora esta como dividido en dos "series" y "series_vip" es para minimizar los falsos positivos, hace referencia a esto:
por supuesto no está exento de fallos, pero por ahora va de maravilla ;)
Dios !! que envidia y yo sin sacarle punta a nada!!!
ResponderEliminarSe me ocurre esto para los subtitulos, pero no se si es factible:
ResponderEliminarYo las series que bajo siempre las busco en del mismo usuario que las sube, y las suele subir con los subtitulos incorporados. Si se puede buscar la serie subida por "x" usuario ya se bajaria con subtitulos.
Buenas aqui mi sistema:
ResponderEliminar- Para dar de alta que series quiero ver uso http://trakt.tv/ Puedes crear tantas listas como quieras. Tambien vale para pelis. La ventaja es que no tienes que tocar ficheros para añadir / borrar series. Y que lo puede hacer cualquiera (WAF certified)
- Luego, uso Flexget: http://flexget.com/ con diversas fuentes (isohunt, piratebay etc). Flexget tiene un módulo que permite filtrar los rss usando la info de trakt. Es fascinante la cantidad de cosas que se puede hacer con flexget. Te recomiendo que le eches un vistazo. Si interesa puedo poner mi configuración.
- Flexget alimenta con los ficheros que cumplen los criterios un cliente de torrent. Está perfectamente integrado con deluge http://dev.deluge-torrent.org/ (si no lo has probado lo recomiendo)
- Cuando deluge acaba de descargar un torrent, puede ejecutar algún script. El mio lo que hace es llamar a:
- Filebot http://filebot.sourceforge.net/ Que si lo configuras bien, te ordena y renombra las series / pelis y te baja los subtitulos. La unica que pega es que es java :)
- Filebot me manda un mail cada vez que "ordena" algo.
Luego todo esto lo veo con un xbmc, que cuando lo enciendo escanea la libreria y me dice que cosas nuevas hay para ver.
Si quieres información sobre algun paso intermedio lo cuento :)
Anonimo, podias currarte un tuto de esto ultimo que acabas de comentar ;) interesa mucho.
EliminarFdo. Otro usuario de XBMC
En cuanto saque algo de tiempo detallo un poco mas cada cosa.
Eliminarla parte de configuracion del flexget con trakt ... me esta consumiendo la vida! ¿podrias poner por aquí tu configuración? si no es mucho pedir ...
EliminarHola.
EliminarConfiguración de flexget. Simplemente hay que ir despacio, añadiendo funcionalidad. Un buen editor de linea de comando (nano jeje) y ya esta.
Esta es mas o menos mi configuración. Sirve para descargar pelis y series. Hay muchos mas ajustes que se pueden hacer.
presets:
movies:
regexp:
reject:
- 3D: {from: title}# Bloquea todos los torrent con la palabra 3D en su tÃÂtulo. (no tengo 3D)
- R5: {from: title}# Las siguientes expresiones intentan detectar torrents que tengan una calidad pobre.
- WEBSCR: {from: title}
- Cam: {from: title}
content_size:
max: 16000
min: 4000
imdb_required: no
deluge:
path: /media/data/deluge/temp
movedone: "/media/data/deluge/seeding/Movies/"
ratio: 1
removeatratio: yes
label: Movies
tv:
import_series:
from:
trakt_list:
username: username
password: password
api_key: apikey
custom: following shows #lista personalizada del trak
strip_dates: no
settings:
quality: 720p
identified_by: ep
regexp:
reject:
- 3gp
thetvdb_lookup: yes
set:
path: /media/data/deluge/temp
movedone: "/media/data/deluge/seeding/Series/"
ratio: 1
removeatratio: yes
label: TVShows
deluge:
main_file_only: yes
tasks:
seed_watchlist:
# priority plugin is used so that this feed runs before the actual download feed
priority: 10
interval: 2 hours
trakt_list:
api_key: apikey
username: username
movies: watchlist #En este caso es la lista publica del trakt
accept_all: yes
queue_movies:
quality: 1080p bluray
force: no
isohuntmovies search:
priority: 12
preset: movies
torrent_alive: 5
discover:
what:
- emit_movie_queue: yes
from:
- piratebay: yes
- isohunt: movies
- torrentz
type: movies
movie_queue: yes
thepiratebayfeed:
priority: 5
rss: http://rss.thepiratebay.se/208 # Thepiratebay (TV Shows highres)
preset: tv
torlock:
priority: 17
rss: http://www.torlock.com/television/rss.xml # TorLock (TV)
preset: tv
torrentzfeed:
priority: 30
preset: tv
rss: http://torrentz.eu/feed
btchattv:
priority: 40
preset: tv
rss: http://rss.bt-chat.com/?cat=9
ezrss:
priority: 50
preset: tv
rss: http://ezrss.it/feed/
No me ha publicado bien el formato. Poned los espacios adecuados.
Eliminarmuchisimas gracias!, seria mucho pedir que lo subieras a pastebin para que mantenga los espacios? estoy preparando un tutorial y esto que has puesto me va a venir de perlas ;)
EliminarAqui lo tienes:
Eliminarhttp://pastebin.com/ELky5dk2
Si necesitas info sobre filebot o deluge hazmelo saber.
Gran trabajo con el blog!
buen trabajo! yo para las series uso http://showrss.karmorra.info/ que combinado con transmission me descarga las series sin tener que hacer ningún tipo de script ni ninguna tarea complicada :)
Eliminarpor otro lado gpulido, usas filebot con la raspberry? cómo? y cómo haces para que se descargue el subtitulo adecuado?
gracias!
Mil gracias gpulido! Estaremos a la espera!
ResponderEliminarHola Juanmol,
ResponderEliminarExcelente blog! Aporta muchas ideas. Por el tema de flexget te puede ayudar / guiar esta herramienta: http://www.flexgetcfc.co.uk/ . Se trata de de generador de config files par flexget. A mi me ha ayudado como guia para crear mi propia configuración. De momento tengo Flexget + Trakt.tv + Transmision + Android push notifications y me funciona de maravilla.
creo que esa herramienta se ha quedado bastante anticuada no? al menos cuando ejecuto el yml que genera, el flexget peta por todos sitios :(
EliminarSi, está obsoleta.
EliminarEn Flexget están intentado crear su propia herramienta, pero tienen otras prioridades por ahora...
De todas formas con un poco de cuidado no es tan dificil editar el yml.
Como comentario sobre flexget que puede ser intersante:
Flexget crea una base de datos con cada fichero de configuración distinto. Con lo que se pueden mantener distintas "instancias" de flexget en el cron con su base de datos distintas. Esto es útil si se quiere descargar aplicando filtros distintos que por algun motivo flexget no puede hacer en un solo fichero. Un ejemplo es intentar tener dos listas de peliculas con calidades distintas.
Yo diría que funciona para configuraciones muy sencillas, para configuraciones mas personalizadas, complicadas se queda corta. Yo la utilice como guía para empezar y probar Flexget. Mi configuración actual ya no la puedo reproducir con esta herramienta. Si puedo ayudarte en algo respecto a este tutorial que estas haciendo, por favor cuenta conmigo.
ResponderEliminarSaludos!
Qué opináis de SickBeard? Yo lo llevo usando sobre un año en la NAS (Synology), concretamente un fork con mayor soporte de torrents (piratebay y dailytorrents) y va de lujo. Por lo que he leído, también puede funcionar sin mayor problema en la raspi.
ResponderEliminarHola
ResponderEliminartengo el siguiente problema, al cabo de unos minutos me sale el siguiente mensaje:
transmission-remote: (http://localhost:9091/transmission/rpc/) Timeout was reached
He buscado y no he encontrado nada, quien me da una idea?
Saludos
hola, se supone que hay que tener instalado el transmission-daemon http://rsppi.blogspot.com.es/2012/11/torrents-solucionado.html
EliminarHola, esta iniciado el servicio y descarga sin problemas, el problema esta cuando se ejecuta el script y se agrega una tarea para descargar, sale el error:
Eliminartransmission-remote: (http://localhost:9091/transmission/rpc/) Timeout was reached
prueba cargarle a mano un magnet:
Eliminartransmission-daemon -a "magnet:..."
a ver que te dice. Estamos dando por hecho que no hace falta clave, para cargar y que tienes el transmission en el mismo equipo que ejecuta el script.
Hola, se podria decirle en el propio script el usuario y la contraseña del Transmission para que funcione poniendo rpc-authentication-required": True o solo funcionaria poniendo eso en false??
ResponderEliminarSaludos
hola, la respuesta que buscasnos la ofrecio Juanma en el post de descarga de pelis en hd automaticamente, pasate por alli y dale las gracias ;)
EliminarHola, perdonar la ignorancia... ¿En que directorio se dejarían las series descargadas?
ResponderEliminarGracias!!
Eso se configura desde transmission, pones el directorio que quieras
EliminarA mi me dice permiso denegado al ejecutar el script, tengo todas las carpetas hechas y con permisos,...
ResponderEliminarHola, ¿Cómo puedo solucionar esto?
ResponderEliminar/usr/local/bin/busca_torrent.sh: line 5: $'\r': command not found
/usr/local/bin/busca_torrent.sh: line 6: syntax error near unexpected token `$'\r''
'usr/local/bin/busca_torrent.sh: line 6: `IFS=','; for n in $series_vip;
Hola, ¿que hay en tu linea 5?
EliminarEsto http://pastebin.com/cbBnLevK
EliminarUso Transmission Daemon y Raspbmc
prueba una tontería antes de nada, en el listado de series, quítale el espacio detrás de cada coma
EliminarNada mismo error :(
EliminarDe todos modos ¿se requiere de alguna librería en especial?
nada, ademas ese fallo no es porque te falte algo. Prueba otra cosa, creo que se lo que te falla, deja el script tal cual lo tengo yo, hasta con mis series, a ver si por lo menos empieza a hacer algo, y me comentas el resultado.
EliminarNada sigue igual :(
Eliminar/usr/local/bin/busca_torrent.sh: line 5: $'\240\r': command not found
/usr/local/bin/busca_torrent.sh: line 6: syntax error near unexpected token `$'\r''
'usr/local/bin/busca_torrent.sh: line 6: `IFS=','; for n in $series_vip;
vaya mosqueo no?. Ummmm ... parece que te esta metiendo algún carácter extraño o invisible o algo por el estilo. Prueba borrar las líneas 4 5 y 6 y escríbelas a mano, no hagas copy paste.
EliminarNada sigue igual :(
EliminarA mi me ocurre el mismo error, ya no se que hacer, solo con poner en la linea de comandos y esperar unos minutos se emite el error:
ResponderEliminartransmission-remote: (http://localhost:9091/transmission/rpc/) Timeout was reached
eso es porque el transmission remote no alcanza al transmission-daemon. Puede ser por:
Eliminar- no esta en marcha el transmission-daemon
- no esta escuchando en el 9091
- localhost no es alcanzable por una mala configuración de red
Buenas! Decir que el script funciona correctamente... en lo referente a la descarga del último capítulo de cada serie, pero subtítulos no me encuentra ni uno, porque se generan direcciones del tipo "www.subtitulos.es/castle/4x17" que no existen (error 404), y ahí se queda.
ResponderEliminar¿Alguna solución?
estoy revisando la parte de descargas de subtitulos, hay que pulir algunas cosas. Tengo que hacer una cola de descargas para los subtitulos, porque lo normal es que se descargue el capítulo antes de que existan los subtitulos.
EliminarHay alguna forma de modificar el script para que solo te baje series en calidad 720p?
ResponderEliminarseries_vip="once upon a time,fringe,how i met your mother,big bang theory,bones s08*,modern family,game of thrones s03*,the walking dead"
Eliminarlo podrias cambiar a:
series_vip="once upon a time 720,fringe 720,how i met your mother 720,big bang theory 720,bones s08* 720,modern family 720,game of thrones s03* 720,the walking dead 720"
bueno y quitar Fringe, que ya acabó. De todas formas, el que mas semillas tiene, que es el que el script se descarga, suele ser el de mejor calidad.
Tengo mi raspberry configurada para descargas con trasmission y envío de whatsapp, pero ahora quiero usar flexget para automatizar mi series en español y me está siendo imposible encontrar feeds en español, alguien me puede ayudar?
ResponderEliminarHola a todos, como esto nunca se hace viejo (lo de bajar series) hay una característica de transmission el cual es el iniciar descargas push, hay un portal "http://showrss.karmorra.info/" el cual hace precisamente eso, uno tan solo debe configurar las opciones web de transmission y ponerlas allí, luego seleccionas las series y allí mismo le configuras si quieres que se haga push o si te preocupa tu seguridad puedes generar un feed con ese listado de series.
ResponderEliminarYo lo tengo y me funciona genial.
Me puedes decir como se configura eso de las descargas push? Estoy intentándolo pero me da siempre "wrong parameters"
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarhola, primer script, línea 12, falta un paréntesis al final del todo,
ResponderEliminarcapitulo=$(echo $magnet | sed 's/\ /\n/g' | sed 's/\./\n/g' | sed 's/\+/\n/g' | gre. S | grep E
muchas gracias, sencillo y funcional, +1