[Duda] ¿Hacer que el Deluge se trage un monton de magnets que tengo en fichero de texto

Buenas.

Cierta web de libros electrónicos muy famosa española (como echo de menos los viejos tiempos de EOL [buuuaaaa] ) esta en obras y muy generosamente han puesto un RSS con todos magnets los libros que tienen, mientras vuelven a ponerla bonita.

Y como debo muchas horas de ocio con mi viejo kindle, he pensado "total para lo que ocupa un libro 500kbs" podía coger el RSS y meterselo entero al Deluge para ayudar a compartir toda la biblioteca que han recopilado esta gente.

He conseguido a base de scripting bash dejarlo en una lista de url magnets separadas por retornos de carro el RSS pero no se como pasar de ese punto.

Gracias.
Deluge tiene plugins para recoger torrents de un RSS, que es una función habitual desde hace años en los clientes de torrent. Si sigues series al día me los miraría.

Pero ya que te has hecho el trabajo de extraer los magnets, vamos a aprovecharlo. Esto me funciona en Deluge 1.3.3 con Debian estable. Lee líneas desde stdin, así que puedes pasarle el fichero con una redirección, iniciar el script y pegar un taco de links, enviarle directamente el resultado del parser que has montado o lo que te de la gana.

#!/bin/bash

## USAGE: ./d.sh < LinksFile.txt

while read -r line; do
   #Ordenar a Deluge que agregue un torrent, uno a uno
   deluge-gtk "${line}"
done

exit 0
Genial [beer] .

Me ha encantado el script, limpito, limpito te ha salido. A ver si aprendo eso de usar < para leer ficheros pinta muy bien.

Lo único que añado de mi cosecha, es que es interesante para no liarla, usar el plugin de etiquetas para que los que vengan añadidos de forma masiva no se mezclen, y poner por defecto otro directorio para que estén todos juntitos. Y desactivar la ventana de añadir torrent, como veis en la captura de pantalla.

Imagen
MDman escribió:A ver si aprendo eso de usar < para leer ficheros pinta muy bien.

Si en un script tienes algo que lee desde stdin como grep o sed pero les estás indicando un fichero, dejas de pasarles el nombre de fichero y ya está. Sólo funciona si lo haces con una orden, claro, porque si no las siguientes se quedarán esperando a que introduzcas datos.

Si es necesario leerlo línea a línea como en este caso hay que usar un while con read. Tras cada retorno de carro ejecuta el cuerpo del bucle y cuando llega al final del fichero sale del bucle. En caso de que tenga que leer siempre el mismo fichero basta con cambiar el "done" por "done < file.txt".

Cuando lo has hecho unas cuantas veces le pillas el truco y te sale solo.
Pues ayer le pase el script...y la lie parda ;) ...yo tonto de mi pensaba bueno 500kb por libro pues el deluge va ir mas o menos bien...pero es que el fichero tiene 26000 lineas/libros....puff hasta que me saque todo de encima.

Pero no cejo en el empeño, a lo mejor modifico tu script para usar deluge-cli, una especie de herramienta desde linea de comando para deluge, para hacer una especie de Round Robin de P2P para ayudar a compartir los libros.

Ya te aviso en estos días a ver y pongo las modificaciones del script.
Esto pasa por probarlo con tres o cuatro magnets a ver si chuta XD

Estoy viendo que el cliente de consola permite enviarle los torrents de ese modo, pero no tengo claro que el modo servidor estará tan optimizado como para aguantar 26.000 peticiones instantáneas o tener cargado en memoria todos esos torrents incluso aunque no estén activos. En caso de que se trabe puedes usar split para dividir el fichero que tienes en lotes de 500 o 1.000 líneas y/o añadir un sleep tras la inserción de cada link para darle tiempo a procesarlo e ir limpiando poco a poco la cola de completados que se genera.

En caso de que ni por esas lo trague hay programas tipo wget pero para bitorrent y sería cosa de bajarlos uno a uno, aunque sin compartir.
Ayer le di vueltas otra vez al tema.

En vez de hacer un script que haga un planificador de torrents para poder compartirlos.

He pensado en intentar hacer un plugin para deluge.

Estuve mirando un poco la documentación, tiene su miga pero yo creo que algo puedo hacer.

Basicamente mas o menos quiero que haga:
    coja directorio con ficheros torrent (no lo descargados)
    durante un tiempo meta N torrents
    por unas reglas (definidas) al tiempo (definido) los saque del deluge

Y así en casos como el tema de tener tropecientos torrents que tuestan la maquina, por lo menos se puedan descargar y después compartir.
6 respuestas