Du bist nicht angemeldet.
Hallo zusammen,
ich benutze Fritz!Load noch nicht sehr lange (vielleicht zwei Wochen jetzt)
Da ich ab und an ein paar Files von ryushare runterlade hab ich mich mal an ein Plugin für diesen Hoster gewagt.
Gleich vorneweg: Ich bin nicht sonderlich firm in Sachen bash-Programmierung und versuche mich gerade erst in die Struktur von Fritz!Load einzufinden.
Das Plugin läuft nun soweit (im Free-Modus, da ich keinen Premium-Account dort besitze und es dementsprechend nicht testen kann), wobei durchaus noch Fehler vorhanden sein können. Da übernehme ich als "Neuling" mal lieber keine Garantie.
Aber vielleicht kann mir ja jemand von euch noch ein paar Tipps geben, was ich hätte besser machen können...
Ich häng es einfach mal an falls Interesse besteht.
#!/bin/ash
# Copyright (c) 2012 Tobias Heinl
error_handling_ryushare(){
#noch nicht fertig
local f=$1
if grep -qE ">Datei nicht gefunden<" $f;then
errmsgWait 15 0 "Datei nicht gefunden"
continue
elif grep -qiE "You can Download only |you cant download more then|Reached max free DLs" $f ; then
errmsgWait 0 10 "Ein anderer Download läuft noch."
break
fi
return
}
ryushare_captcha_solver() {
local cfile="$1" unsorted_captcha sorted_captcha solved_captcha="" eval_captcha
unsorted_captcha=$(sed -nr '/direction:ltr/{s/<div.*direction.([ltr]*).*padding-left.([0-9]*)px.*>([\�-9;]*)<\/span.*padding-left.([0-9]*)px.*>([\�-9;]*)<\/span.*padding-left.([0-9]*)px.*>([\�-9;]*)<\/span.*padding-left.([0-9]*)px.*>([\�-9;]*)<\/span.*div>/\2-\3 \4-\5 \6-\7 \8-\9/p; q}' $cfile)
sorted_captcha=$(echo $unsorted_captcha|tr " " "\n"|sort -n|tr "\n" " ")
eval_captcha="$solved_capcha$(echo $(echo $sorted_captcha|sed -nr 's/.*&#([0-9]*); .*&#([0-9]*); .*&#([0-9]*); .*&#([0-9]*);/echo $(chr \1)$(chr \2)$(chr \3)$(chr \4)/p'))"
solved_captcha=$(eval $eval_captcha)
echo $solved_captcha
}
ryushare_com() {
local url f=$tmp/dl.response.htm c=$tmp/dl.cookie.txt
local filename="$(echo -n "$param" | sed -e 's,.*/\(.*\)$,\1,;s,\(.*\)?$,\1,')"
notalreadyLoaded "$filename" || return
while [ $try -lt $retries ]; do
try=$(($try+1))
GET "$param" $f "--cookie $c --cookie-jar $c" "GET1" || { errmsgWait 0 10 "Die Link-Seite konnte nicht geladen werden."; continue; }
error_handling_ryushare $f
extractForm $f 'method' || continue
local fhidden="$(formHiddenParams $f.form)"
rm -f $f.form
freesubmit="method_free=$(urlencode "Kostenloser Download")"
GETN "$param" $f "--data $fhidden&$freesubmit -b $c -c $c --referer $param" "GET2" || { needReconnect; continue; }
error_handling_ryushare $f
extractForm $f 'F1' || continue
local fhidden="$(formHiddenParams $f.form)"
rm -f $f.form
waittime=$(<$f parse 'countdown_str' 'Please wait <span[^>]*>\([0-9][0-9]*\)</span>')
if [ -z "$waittime" ]; then
waittime=$(seconds $(<$f parse '<div class=\"err\">' 'You have to wait \([0-9][0-9]*\) minutes.* </span>') 59)
if [ -z "$waittime" ]; then
errmsg "Wartezeit konnte nicht ermittelt werden"
waittime=35
fi
fi
local finishtime=$(( $(date +%s) + waittime ))
solved_captcha=$(ryushare_captcha_solver $f) || return
local finishwait=$(( $finishtime - $(date +%s) ))
[ $finishwait -gt 0 ] && waiting $finishwait 0 300 "Warte auf Captchaverifikation"
GETN "$param" $f "--data $fhidden&code=$(urlencode $solved_captcha) -b $c -c $c --referer $param" "GET3" || { needReconnect; continue; }
error_andling_ryushare $f
url=$(sed -nr '/Click here to download/{ s/.*href=.([^"]*).*/\1/p; q }' $f)
if [ -z "$url" ];then
echo "Keine Download-URL-Adresse wurde gefunden."
continue
fi
if download "$url" "$filename" "-b $c -c $c"; then
break
fi
done
}
Abwesend
Vielen Dank für das Script!
Leider scheint er jedoch Probleme mit Dateien zu haben die eine gerade Zahl in der Part Endung haben. Die schlagen nämlich alle fehl wohingegen die Parts mit einer ungeraden Zahl erfolgreich heruntergeladen werden können.
EDIT: Part 10 wurde erfolgreich geladen. Fehler scheint wohl woanders zu liegen. Schaue ich mir noch einmal genauer an.
Viele Grüße,
hannes
Der Beitrag wurde geändert von hannes (am 26. Nov. 2012 um 14:09 Uhr)
Abwesend
Die Sache mit den geraden/ungeraden parts verwundert mich etwas... kann eigentlich nichts mit dem Skript zu tun haben...
Würde mich über ne Rückmeldung freuen, wenn du dem Problem auf die Spur gekommen bist
VG
Tobi
Abwesend
Hallo,
an gerade oder ungerade liegt es nicht. War wohl eher Zufall dass es bei dne ersten ungeraden immer und bei dne geraden nie geklappt hat.
Es scheint so als gäbe es Probleme mit dem finden der Download URL. Nach mehreren Versuchen klappt es meistens irgendwann. Was auffällt ist, dass der Downloader mehrmals hintereinander 2min auf eine Captchaeingabe wartet. Jedoch gibt es garkeine Captchas, jedenfalls wenn man selbst veruscht die Datei herunterzuladen. Es gibt lediglich eine kurze Wartezeit. Und irgendwann startet der Download dann - meistens jedenfalls
Die Logdatei selbst ist für mich ziemlich nichtaussagen, wenn gewünscht kann ich sie aber zur Verfügung stellen.
Viele Grüße,
hannes
Abwesend
Ok... Ich spiel das ganze nochmal mit verschiedenen Dateien durch... Insbesondere die Sache mit der Captchaeingabe und der Download URL.
Wenn du mir ein entsprechendes Logfile (Debug) zukommen lassen könntest wär das natürlich super
VG
Tobias
Abwesend
Hallo Tobias,
nun gibt es ein anderes Problem.Würde vermuten bei ryushare hat sich die HTML Struktur geändert? Es gehen nun gar keine Downloads mehr.
02:41:27 ### ryushare_com-free: http://ryushare.com/xxxx/yyyyyy.rar
02:41:27 Datei: yyyyyy.rar
02:41:28 GET1: http://ryushare.com/xxxx/yyyyyy.rar | Optionen: --cookie /var/tmp/fritzload3/dl.cookie.txt --cookie-jar /var/tmp/fritzload3/dl.cookie.txt
02:41:31 Das Formelement mit dem Muster (method) wurde nicht gefunden!
02:41:32 Der Download ist fehlgeschlagen!
Viele Grüße,
hannes
Abwesend
Hi Hannes,
ryushare war gestern Nacht kurzzeitig down. Ich bin gerade dabei das Skript etwas zu überarbeiten. Die Captcha-Abfrage schein nicht immer zu kommen...
Wenn ich fertig bin, stell ich es wieder hier rein... Kann allerdings ein oder zwei Tage dauern...
VG
Tobias
Abwesend
@heimdall
Kleine Anmerkung zum Skript:
Da das Captcha automatisch gelöst wird, ist es nicht notwendig finishwait und finishtime zu verwenden.
error_andling_ryushare ist Tippfehler, den du wahrscheinlich schon behoben hast.
Falls du das Plugin oder auch andere Sachen selber einchecken willst, kannst du mir deinen Benutzername auf sourceforge mitteilen.
Natürlich solltest du die Sachen vorher testen, aber fehlerhafte Hosterplugins sollten nicht so schlimm, da sie nur bei Bedarf geladen werden.
Der Beitrag wurde geändert von roadman17 (am 28. Nov. 2012 um 17:08 Uhr)
Abwesend
Hi roadman,
ja, die "kleinen Fehlerchen" hab ich mittlerweile behoben.
Danke für dein Angebot. Wie läuft das ab mit dem Einchecken? Was kann/darf ich einchecken und was nicht... Bin da nämlich gerade auch an ein paar kleinenen "Anpassungen" bei den Multihostern und der Captchadiensten. Ich nutze nämlich jeweils mehrere quasi als Fallback und da hat mir die Einstellmöglichkeit in FritzLoad gefehlt.
Das ganze ist so realisiert, dass an den bisherigen Multihosterplugins und den dazugehörigen GUI-Configs nichts geändert werden muss. Einfach eine zusätzliche Datei ins Multihosterverzeichnis und die multihoster.sh austauschen. Wenn ich es komplett lauffähig habe kann ich es auch gern mal hier im Forum zur "Voransicht" posten...
Aber erstmal zurück zum ryushare-Plugin Mein Benutzername bei SF ist heimdall2005...
VG
Tobias
Abwesend
Du bist nun berechtigt Code einzuchecken.
Du darfst eigentlich alles einchecken, was deiner Meinung nach eine Verbesserung darstellt und funktioniert(also vorher testen).
Abwesend
Alles klar, super, danke schonmal
Bin gerade noch am Testen des Plugins.. wenn alles klappt ist die Datei in ca. zwei Stunden online...
Abwesend