Ich hab mich gestern und heute mal hingesetzt und das großartige Free-User-Downloadskript von gandro angepasst, sodass auch zahlende Kunden von RS ihre Vorteile aus der Automatisierung schlagen können, die nicht die „Direkte Downloads“-Option nutzen wollen/können (wegen Account-Mitbenutzern, die dadurch verwirrt werden o.ä.), für was es natürlich eine einfache Lösung gibt.
Für alle anderen, die auf die normale Weise ein Bündel Links herunterladen wollen, ist dieses Skript geeignet. ![]()
Die Bedienung und Abhängigkeiten (von den GNU-Versionen von bash, grep, sed, mktemp und wget) sind analog zum Vorbild:
Zitat$SKRIPTPFAD/rspremium.sh < linkliste.txt
oder cat linkliste1.txt linkliste2.txt … | $SKRIPTPFAD/rspremium.sh
oder echo [url]http://rapidshare.com/files/269066959/psychedelic_banana.png[/url] | $SKRIPTPFAD/rspa.sh
Bleibt nur noch das Problem, wie man an das Cookie kommt, wenn man schon erfolgreich Dateien im Browser herunterladen kann:
- So ziemlich jede nennenswerte Version (4–8) des Internet Explorers kann IMO sämtliche Cookies über Datei > Importieren und Exportieren in einer netscapekompatiblen Cookie-Datei abspeichern. Einmal nach rapidshare.com durchgreppen, fertig.
- Bei den meisten netscapeartigen Browser wie etwa Mozilla Firefox bis zur Version 2.x kann direkt die cookies.txt im jeweiligen Profilpfad (etwa ~/.mozilla/firefox/profiles/*.default oder %appdata%\Mozilla\Firefox\Profiles\*.default) verlinkt werden.
- Ab Mozilla Firefox, Version 3.x kann dieses kleine, feine Python-Script benutzt werden, um wieder in den Genuss einer maßgeschneiderten cookies.txt zu kommen:
- Die Programmierer unter den Opera-Nutzern in diesem Forum können sich ja mal daran versuchen, mit der Dokumentation der (eigenbrötlerischen, binären) Dateiformate, die freundlicherweise von Opera Software bereitgestellt wird, einen Exporter zu bauen. *narf*
Und um die Fast-Kopie perfekt zu machen, sei auch dieses Stück Code digitales Allgemeingut.
Download: http://pixelbanane.de/yafu/1045524071/rspremium.sh
Externer Mirror: http://howflow.com/pastes/1551
Quellcode:
Spoiler anzeigen
#!/bin/bash
# Zwingend notwendig: Datei mit dem Rapidshare-Cookie
COOKIE_FILE=
# ab hier nichts mehr ändern
if [ ! -r ${COOKIE_FILE} ] || ! grep rapidshare.com ${COOKIE_FILE} >/dev/null; then
echo "Fehler: Keine verwertbare Rapidshare-Cookiedatei!" 1>&2
exit 1
fi
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 -qO - "${url}" | grep 'id="ff"' | sed -ne 's/.*action="\(.*\)" method.*/\1/p')
if [ -z "${url_tmp}" ]; then
echo "Fehler: Konnte Downloadlink nicht extrahieren: ${url}" 1>&2
continue
elif [ -e "${filename}" ]; then
echo -n "Warnung: ${filename} existiert bereits - "
filename=$(mktemp -u "${filename}.XXXX")
echo "speichere als ${filename}"
fi
url_dl=$(wget --load-cookies ${COOKIE_FILE} --post-data "dl.start=PREMIUM" -qO- ${url_tmp} | grep 'id="p1"' | sed -ne "s/.*action='\(.*\)'.*/\1/p")
if [ -z "${url_dl}" ] || [ "${url_dl:0:9}" != "http://rs" ]; then
echo "Fehler: Konnte Downloadlink nicht extrahieren: ${url}" 1>&2
continue
fi
if ! wget --load-cookies ${COOKIE_FILE} -O "${filename}" "${url_dl}"; then
echo "Fehler beim Herunterladen der Datei ${url}!" 1>&2
fi
else
echo "Warnung: Keine gültige rapidshare.com-URL: ${url}"
fi
done
Alles anzeigen