Descargar archivos de sitios de file-sharing por consola en Linux
Quienes hemos utilizado el excepcional JDownloader sabemos la facilidad que nos proporciona a la hora de descargar una lista de archivos que son secciones de un archivo comprimido. Tengo una PC bastante antigüa (Pentium III con 256MB de RAM) que utilizo como servidor de descargas con MLDonkey sobre Gentoo Linux, pero me hacía falta encontrar un sustituto para el JDownloader que no necesitara un ambiente gráfico para correr.
PlowShare es un conjunto de scripts para el sistema operativo Linux con el fin de permitir administrar las descargas y subidas en sitios de file-sharing, del estilo de RapidShare, MegaUpload, HotFile, etc. Automatiza el reconocimiento de caracteres -CAPTCHA- y los tiempos de espera para comenzar la descarga. Además, es una aplicación de consola con requerimientos de recursos excepcionalmente bajos.
Los scripts son plowdown.sh, plowup.sh, plowdel.sh y plowlist.sh. Seguramente el más utilizado por el común de la gente sea plowdown, y éstas son sus opciones:
server ~ # plowdown Usage: plowdown [OPTIONS] [MODULE_OPTIONS] URL|FILE [URL|FILE ...] Download files from file sharing servers. Available modules: rapidshare megaupload 2shared badongo mediafire 4shared zshare depositfiles storage_to uploaded_to uploading netload_in usershare sendspace x7_to hotfile divshare dl_free_fr humyo filefactory data_hu Global options: -h, --help: Show help info --version: Return plowdown version -v LEVEL, --verbose=LEVEL: Set output verbose level: 0=none, 1=err, 2=notice (default), 3=dbg -q, --quiet: Alias for -v0 -c, --check-link: Check if a link exists and return -m, --mark-downloaded: Mark downloaded links in (regular) FILE arguments -x, --no-overwrite: Do not overwrite existing files --get-module: Get module(s) for URL(s) -o DIRECTORY, --output-directory=DIRECTORY: Directory where files will be saved --temp-directory=DIRECTORY: Directory where files are temporarily downloaded -r SPEED, --limit-rate=SPEED: Limit speed to bytes/sec (suffixes: k=Kb, m=Mb, g=Gb) -i IFACE, --interface=IFACE: Force IFACE interface -t SECS, --timeout=SECS: Timeout after SECS seconds of waits --max-retries=N: Set maximum retries for loops --run-download=COMMAND: run down command (interpolations: %filename, %cookies, %url) Options for module <rapidshare>: -a USER:PASSWORD, --auth=USER:PASSWORD: Use Premium-Zone account Options for module <megaupload>: -a USER:PASSWORD, --auth=USER:PASSWORD: Free-membership or Premium account -p PASSWORD, --link-password=PASSWORD: Used in password-protected files Options for module <x7_to>: -b USER:PASSWORD, --auth-free=USER:PASSWORD: Use Free account
Al script lo podemos invocar con la URL de un archivo a descargar, una lista de URLs de archivos a descargar o inclusive con la ruta a un archivo de texto que contiene la lista de links (uno por línea). En los últimos dos casos el script descargará los archivos en orden, siendo posible configurar que marque con el símbolo ‘#’ al principio de la línea del archivo cada archivo descargado correctamente (ver –mark-downloaded más abajo).
Algunas de las opciones importantes son:
- -o (–output-directory): determina el directorio de salida. Es el lugar en donde se ubicarán el o los archvos descargados.
- -r (–limit-rate): configura la velocidad de transferencia máxima, por ejemplo, -r=50kb, –limit-rate=1m.
- -c (–check-link): no descarga el o los archivos, sólo verifica que los links sean válidos.
- -m (–mark-downloaded): cuando se desea descargar todos los links listados en un archivo de texto, marca los archivos descargados correctamente con un ‘#’ al principio de la línea.
Veamos un ejemplo de invocación para descargar un archivo desde MegaUpload:
server ~ # plowdown -v 2 -o /tmp http://www.megaupload.com/?d=977IJRE0
Install aview or libcaca to display captcha image
Waiting 47 seconds... 37.. 27.. 17.. 7.. 0
File URL: http://www937.megaupload.com/files/927a093e5f4d388420ef7ecfcecd73c0/Weeds 5x01 - Seba357.rar
Filename: Weeds 5x01 - Seba357.rar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
51 233M 51 120M 0 0 209k 0 0:18:57 0:09:47 0:09:10 212k
En http://code.google.com/p/plowshare/wiki/Readme tenemos otros ejemplos de uso para descargar, subir, borrar y comprobar links en sitios de file-sharing.
El proyecto PlowShare está hosteado en Google Code. La página del proyecto es http://code.google.com/p/plowshare/.
Gentoo Linux tiene el paquete disponible en portage bajo el nombre net-misc/plowshare. Archlinux y (e incluso Mac OSX) también tiene paquete de instalación, para el resto de los sabores de Linux tenemos la posibilidad de instalarlo desde el código fuente.


