Auf Wunsch von XP-Freak, da dieser nichts funktionierendes mehr gefunden hat, hab ich ein Shellscript geschrieben, das Dateien als Freeuser von Rapidshare mit wget herunterlädt.
Das Script liest URLs von stdin ein (pro Zeile eine URL) und lädt die Datei schlussendlich mit wget runter. Geht nur mir rapidshare.com.
Es liest die Wartezeit aus und wartet dementsrepchend, wartet ebenfalls zwei Minuten wenn keine Slots mehr verfügbar sind und erkennt, ob das erreichte Download-Limit, wo es entweder wartet, oder sich eine neue IP holt.
Verwendung:
Code:
$ ./rapidshare.sh < linkliste.txt
Alternativ könnt ihr die Links auch von Hand reinkopieren und mit Enter bestätigen (zum Beenden CTRL+C oder CTRL+D drücken).
Wer ein Script hat, was sich eine neue externe IP holt, kann es in der Variablen NEW_IP_CMD eintragen, es wird dann verwendet, wenn das Download-Limit erreicht wird. Ansonsten wird einfach 15min (bzw die Restzeit) gewartet.
Das Script benötigt bash, sed und grep, sowie wget (nur mit der GNU-Variante der genannten Programme getestet), sollte auf den meisten Systemen laufen.
Das Script ist Public Domain, macht damit was ihr wollt!
# Falls vorhanden: Befehl oder Script zum holen einer neuen externen IP
NEW_IP_CMD=
while read url; do
url=$(echo ${url} | tr -d "[:space:]")
if [ "${url:0:28}" = "http://rapidshare.com/files/" ] ; then
filename=$(basename "${url}")
url_tmp=$(wget -q -O - "${url}" | grep 'id="ff"' | sed -n -e 's/.*action="\(.*\)" method.*/\1/p')
if [ -z "${url_tmp}" ] ; then
echo "Fehler: Konnte Downloadlink nicht extrahieren: ${url}"
continue
elif [ -e "${filename}" ] ; then
echo -n "Warnung: ${filename} existiert bereits - "
filename=$(mktemp -u "${filename}.XXXX")
echo "speichere als ${filename}"
fi
Dirk schrieb: Wie funktioniert das mit der IP? Geht das auch mit Router, oder nur wenn direktwahl über modem?
Das Script zum ne frische IP holen liegt nicht bei, dass musst du selber machen, weil es eben von Netzwerkkonfiguration und -geräten abhängt.
Mein persönliches Script hier loggt sich lediglich beim Router ins Webinterface ein und schickt via HTTP POST den Befehl zum neu verbinden - alles über wget.
Dass sieht bei mir in bash dann so aus (Passwort ist natürlich anders):