Descargar desde Rapidshare con Wget

A la hora de realizar descargas me gusta hacer uso de wget, ya que con la combinación de otros comandos puedo tener un potente gestor de descargas que permite automatizar completamente la tarea de bajar archivos. Al no usar ningún front-end no se consumen muchos recursos y además tampoco se cuenta a veces con un servidor X.

Si alguna vez has intentado poner a descargar algún archivo que esté alojado en Rapidshare con wget, notarás que tan solo baja un html de 1kb. Esto es debido a que para poder hacer descargas directas debes de disponer de una cuenta premium y además tener una cookie que será la que permitirá realizar el logueo a tu cuenta. Veamos como podemos realizar la 'configuración'...

1. Lo primero es acceder a nuestra cuenta premium y en el panel de configuración seleccionar la opción de descargas directas:

2. Hecho esto lo que debemos hacer ahora es descargar la cookie que se encargará de autenticar nuestra información cada vez que queramos realizar una descarga. Creamos un directorio llamado cookies en nuestro home:

mkdir ~/.cookies

Ahora obtenemos la cookie:

wget --save-cookies ~/.cookies/rapidshare --post-data "login=USUARIO&password=CONTRASEÑA" --no-check-certificate -O - https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi > /dev/null

3. Ahora cada vez que queramos realizar una descarga bastaría con ejecutar wget con el parametro --load-cookies cookie, de la siguiente manera:

wget -c --load-cookies ~/.cookies/rapidshare URL

Nota: También se usa el parámetro -c para continuar la descarga en caso de que haya sido interrumpida.

4. Si te parece bastante engorroso tener que escribir todo el comando a cada rato puedes crear un alias. Editemos el archivo ~/.bashrc y creemoslo:

echo "alias wgetrapid='wget -c --load-cookies ~/.cookies/rapidshare '" >> ~/.bashrc

Y lo cargamos en memoria:

source ~/.bashrc

Ahora para descargar algún archivo por Rapidshare usando nuestra cuenta premium bastaría ejecutar:

wgetrapid URL

Automatizando las descargas

En my-guides he encontrado un script bash que permite agregar varias URLs para que sean descargadas automáticamente, una tras otra. El script hace uso de un archivo el cual contiene las URLs de los archivos a descargar. Lo he modificado un poco para que a medida que vaya terminando alguna descarga, vaya eliminando la URL en el archivo; en caso de que hayas cancelado la ejecución del script y después quieras retomarlo no te empiece a descargar de nuevo los archivos que ya tenías sino únicamente los restantes.

downloader.sh:

#!/bin/bash

if [$1 = ]; then
echo "Uso: $0 <archivo>"
exit 0
fi

for url in $(cat $1)
do
wget -c --load-cookies ~/.cookies/rapidshare $url
grep -v $url $1 > $1
done

Le damos permisos de ejecución:

chmod +x downloader.sh

Ahora faltaría crear un archivo que tuviera las URLs a descargar (URL por línea) y ejecutar el script pasándole como argumento el archivo. En caso de que el archivo se llamara urls:

./downloader.sh urls

¡Eso es todo! Puedes editar el script libremente y agregarle más opciones que consideres interesantes (como preguntar si apagar el equipo, etc.).

Fuente:

my-guide - How to easilly download RapidShare files in Linux

Go up