Telecharger sur MU via bash

plop à tous …

J’ai découvert aujourd’hui que megaupload avait supprimé son système de captcha, mais forçant le temps d’attente du dl à 45 secondes et à un seul dl en « parallele ».
Sachant que ma ligne internet fournit par Orange limite mes connexions chez MU à 30ko/s, j’ai voulu faire un script bash qui automatise le téléchargement pour mon sympatique serveur dédié chez OVH (qui dl à 8mo/s ^^).

Pour le mode de fonctionnement, c’est très simple : on remplit le fichier downUrl des url à télécharger, une url par ligne, on met se fichier dans le même dossier que le script qui va suivre, il n’y a plus qu’a executer en screen sur son serveur linux et d’attendre les dl se terminer.

Exemple de fichier downUrl :

http://www.megaupload.com/?d=firstline
http://www.megaupload.com/?d=secondline

Voici donc la bête (pour le moment (12/12/10 le script fonctionne)) :

#!/bin/bash

function downMU {
if [ -z "$1" ]
then
        echo "need an url as parameter"
else
        wget $1
        url=`cat index.html* |grep "files"|sed -e 's/.*"\(http[^"]*\)".*/\1/g'`
        rm index.html*
        sleep 45
        wget $url
fi
}

for line in `cat downUrl|grep -v "^#"`
do
        count=`cat downUrl |wc -l`
        echo "Downloading : $line"
        downMU $line

        #on commente l'url courante (au cas ou le dl
        #a planté on aura juste a dc
        echo "#`head -1 downUrl`">>downUrl
        tail -$count downUrl > test
        mv test downUrl
        sleep 1 #just to wait a bit
done