Fritz!Load - (Oneclickhoster-) Down- und Uploads via FB

hey

wäre es möglich irgendwie eine optionen einzubauen, so dass das fritzload bei einem verbundenem wlan client pausiert? dass wäre nämlich in soweit nützlich, da der laptop meines vaters per wlan ins inet geht und da die internet verbindung dann auf keinen fall durch einen reconnect unterbrochen werden darf.

wenn das nicht zu grosse mühe macht, könnte das irgenwer von euch schreiben? ihr kennt euch da ja alle so gut aus.

lg burobernd
 
hi,
ich hab mir ein festplatttenghäuse mit lan-anschluss bestellt, weil ich an meine fb 7050 keine usb platte hängen kann.

1.: ist die konfig so eines netzwerks problematisch?

2.: ich hab auf meiner box den lcr von telefon-sparbuch.de installiert. gibts da irgendwelche probleme??

gruss
jake
 
hi ich bin neu hier und würde das auch gerne nutzen!
leider hab ich keine ahnung und habe schon versucht telnet mit der fake-image datei zu aktivieren, aber wie greife ich dann darauf zu? (habe kein telefon an der box)
könnt ihr mir erklären wo das genau auf den stick muss und wie ich das dann auf die fritzzbox installier? so dass ich über das webinterface zugriff hab? habe selbst schon einiges probiert, scheitere aber an telnet^^
PS: habe FRITZ!Box WLAN 3070, Firmware-Version 19.04.15
Mfg Stainless
 
@Stainless7221: Vielleicht solltest du den kompletten Thread mal durchlesen, weiter vorn (Seite 27 oder so) wird das Problem Telnet einschalten ohne Telefon behandelt und die anderen Anleitungen sind auch sehr detailiert. Ich denke du machst es dir ein wenig einfach.

Wenn du es raus hast kannst du deine Infos gerne mal zusammenfassen und eine Gesamtanleitung posten.
 
die Scripts von "s0r1ax" sind einfach mehr als sehr Praktisch und wie ich finde sinnvoller als die FritzLoad GUI!

vielen Dank an s0r1ax

vielen dank^^ hab mir auch lange überlegt die GUI zu verwenden... bzw wollte ich sie zuerst ganz OHNE Gui garnicht verwenden... naja dann hab ich ein kleines script gefunden, es ein wenig geändert und nun läuft nur noch so^^
 
@s0r1ax

ein problem habe ich aber, ich kann dann nicht mehr auf die fritzbox oberfläche zugreifen bzw wird sie gaaanz gaaanz langsam geladen!? bei dir auch so? oder ne ahnung an was das liegen könnte?
 
ein problem habe ich aber, ich kann dann nicht mehr auf die fritzbox oberfläche zugreifen bzw wird sie gaaanz gaaanz langsam geladen!? bei dir auch so? oder ne ahnung an was das liegen könnte?

ist bei mir auch so ... ka warum, evtl nen bug?
 
Jupp bei mir auch so... Es werden keine Grafiken angezeigt...
 
hey

wäre es möglich irgendwie eine optionen einzubauen, so dass das fritzload bei einem verbundenem wlan client pausiert? dass wäre nämlich in soweit nützlich, da der laptop meines vaters per wlan ins inet geht und da die internet verbindung dann auf keinen fall durch einen reconnect unterbrochen werden darf...

Hallo,

hab diese Funktion eingebaut, und noch die GUI etwas angepasst...
hier runterladen


viel spaß

cu
 
ist bei mir auch so ... ka warum, evtl nen bug?

puh... kann ich im moment nicht bestätigen... hab mir die skripte ja auch nicht geschrieben um es dauernd laufen zu lassen... sondern nur ab und zu...

aber warum wollt ihr denn überhaupt IMMER nebenbei zu FB oberfläche?

meine tipps noch:
einen ornder anlegen:
und oben das hier reinschreiben:
\\fritz.box\USB STICK NAME\downloads
und diesen dann auf den desktop ziehen...
so könnt ihr auch direkt schauen wie weit er mit dem ziehen ist... und wenn ihr schon dabei seid, könnt ihr eine verknüpfung der dl.txt auf den desktop machen... diese einfach doppelklicken, die links einfügen, speichern und los gehts mit dem laden! so braucht ihr sie nicht immer auszutauschen o.ä!
 
ja is schon alles klar aber ich komm dann gar nicht mehr auf die oberfläche egal ob ich gestoppt habe oder ne, geht erst wieder nach dem ich der box den strom weg genommen habe, und das is ja schon bissl doof, außerdem muss man ja die usb speicher trennen vorm abstecken sonst bekommense einen neuen namen beim nächsten mal! auf das ftp verzeichnis kann man allerdings ohne probleme zugreifen
 
Hallöchen!

Hab heute zum ersten Mal freetz compiliert und fritzload auf meinem Fritzbox 7170 Fon WLAN installiert. Ich musste leider feststellen, dass Fritzload(GUI) bei mir nicht funktioniert. Beim Download erscheint "Fehler beim Download" unter ShowState. Woran könnte es liegen?

Ich musste chmod +x php wget und andere files ausführbar zu machen. Muss man vllt auch den Ordner Downloads mit irgendeinem Befehl? schreibbar für Fritzbox machen?? Ich habe ext2 als Filesystem.



Mit freundlichen Gruessen

anonymous_08
 
"doppelfritz" könnte ja sein gesamten PHP Code online stellen(...)
np
download.php:
PHP:
<HTML>
    <HEAD>
    <TITLE>Fritzload GUI</TITLE>
    </HEAD>
    <BODY>

    
<table align="center" background="bg_ramp.jpg" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
    
    <!-------------------------------------------------------HTML Teil realisiert die Oberfläche von Fritzload GUI-------------------------------------------------------------------->
    <a href="download.php"><img src="fw_header980.png" border="0"></a><p>
    
    <table align="center" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
    <form method="post"><p>
    <a href="fileList.php"><img src="button_downloads.jpg" border="0"></a>
    &nbsp&nbsp<a href="rsdf.php"><img src="button_rsdf.jpg" border="0"></a>&nbsp&nbsp<a href="config.php"><img src="button_configuration.jpg" border="0"></a>
    </td>
</tr>
</table>

    <table align="center" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
          <p>
          <input type="checkbox" name="premNormal" value="1"> Premiumdownload<br>
          <input type="checkbox" name="mail" value="1"> nach dem letzten Download Mail an: <input name="mailAdr" type="text" size="30"><br>
          <input type="checkbox" name="shutdown" value="1"> nach dem letzten Download den PC herunterfahren<br>
            Adresse(n):<!-- Textarea mit php Teil im inneren-->
            <br /><textarea name="eingabe" cols="50" rows="10">
<?php if(isset($_POST['get'])) // Liest die Datei dl.txt aus und schreibt den Inhalt in die Textarea
{
    $inhalt = strip_tags(readfile("dl.txt"));
    if($inhalt == "") // In dl.txt steht nichts drin
    {
        echo "Keine Links angegeben";
    }
}?></textarea>
          </p>
            <table border="0" cellpadding="0" cellspacing="4">
            <tr>
                <!-- Die Buttons unter der Textarea zur Steuerung von fritzload-->
                <td><input type="submit" name="get" value="Show List" style="width:80px"></td>
                <td><input type="submit" name="add" value="Save" style="width:80px"></td>
                <td><input type="submit" name="run" value="Start" style="width:80px"></td>
                <td><input type="submit" name="kill" value="Kill" style="width:80px"></td>
                <td><input type="submit" name="show" value="Show state" style="width:80px"></td>
            <tr>
            </table>
        </form>
        
        </td>
</tr>
</table>
        
        </td>
</tr>
</table>
    

    </BODY>
</HTML>
<!------------------------------------------------------- Hier beginnt der eigentlich PHP Teil zur Bedienung von fritzload-------------------------------------------------------------------->
<?php
// Falls der Show List Button gedrückt wurde
if(isset($_POST['show']))
{
    // öffne Datei nohup.out und lies den Inhalt Zeilenweise
    $handle = fopen("nohup.out", "r");
    while(!feof($handle))
    {
        // Nach jeder Zeile wird ein Return hinzugefügt
        echo fgetss($handle)."<br />";
    }
}
// Falls der Add Button gedrückt wurde
if(isset($_POST['add']))
{
    // öffne Datei dl.txt und überschreibe den alten Inhalt
    $datei = fopen("dl.txt","w");
    // mit dem Inhalt der Textarea
    $string = strip_tags($_POST['eingabe']);
    fwrite($datei, $string);
    fclose($datei);
}
// Falls der Start Button gedrückt wurde
if(isset($_POST['run']))
{
    $after = "";
    $bevore = "echo test; echo > nohup.out; ";
    if(isset($_POST['mail'])){
        $after = $after . 'echo \"Downloads beendet!\" > mail;';
        if(isset($_POST['shutdown'])){
            $after = $after . 'echo \"Der PC wird in 5 Minuten heruntergefahren.\" >> mail;';
        }
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'echo \"Logbuch:\" >> mail;';
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'cat nohup.out >> mail;';
        $after = $after . 'mail -s \"Nachricht von Fritzload: Downloads beendet!\" ' . $_POST['mailAdr'] . ' < mail;'; 
        $bevore = $bevore . 'echo \"Mail an ' . $_POST['mailAdr'] . ' nach Download aktiviert\" >> nohup.out; ';
    }

    if(isset($_POST['shutdown'])){
            if(isset($_POST['mail'])){
                $after = $after . 'sudo /etc/init.d/postfix flush;';
            }
            $after = $after . 'sudo shutdown -h +5 > /dev/null &';
            $bevore = $bevore . 'echo \"Herunterfahren nach Download aktiviert\" >> nohup.out; ';
    }
    if(isset($_POST['premNormal']))
    {
        // starte fritzload mit dem -l Parameter und der Datei dl.txt    
        shell_exec("{ ./fritzload.sh -prem dl.txt > nohup.out 2>&1; $after } &");
    }
    else
    {
        // starte fritzload mit dem -l Parameter und der Datei dl.txt
        shell_exec('bash -c "{ ' . $bevore . ' ./fritzload.sh -l dl.txt >> nohup.out 2>&1; ' . $after . ' }" > log &');
    }
    echo "Listen Download gestartet";
}
// Falls der Kill Button gedrückt wurde
if(isset($_POST['kill']))
{
    // beende fritzload als auch den aktuellen Download
    shell_exec('killall fritzload.sh > /dev/null &');
    shell_exec('killall wget > /dev/null &');
    echo "Gestoppt";
}
?>
fritzload.sh:
Code:
#!/bin/sh
date
#    Downloader bzw. Uploader fuer die AVM Fritz!Box
#    Copyright (C) 2007  Acros
#    Siehe http://www.ip-phone-forum.de/showthread.php?t=147334
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#


# Modded by: TomTom, HirnToT, hawk666, nachtzwerg, da_new8i

####################################################################################
################################Konfiguration ANFANG################################

# Zielverzeichnis
targetdir='/var/www/fritzload/download'

# Anzahl der Downloadversuche bei Fehlern
retries=5

# Bandbreitenlimitierung (1=on 0=off)
choke=0

# Zeiten in denen der Download auf Fullspeed laufen soll (count1=Startzeit, count2=Endzeit)
# Uhrzeit ohne Punkt und Bezeichnung angeben, z.B. 16.30 Uhr ist 1630
count1=0001
count2=2359

# Bandbreite wird begrenzt auf (Angabe in kbyte/sec):
limit=35k

# IP
box=192.168.0.1

# Wenn upnp in der Fritzbox aktiviert ist, dann 1 sonst 0
upnp=1

# Wartezeit nach Reconnect in Sekunden
wait=18

# Soll mit dem Reconnect gewartet werden wenn ein Voip-Telefonat laeuft? (1=ja,0=nein)
voipcheck=1

# Fritzbox-Passwort fuer Voip-check
pass=

# Server, selected fuer vorausgewaehlten von Rapidshare
# sonstige sind: tg.rapidshare tl.rapidshare tl2.rapidshare gc.rapidshare gc2.rapidshare
# l3.rapidshare l32.rapidshare l33.rapidshare l34.rapidshare cg.rapidshare cg2.rapidshare
server='selected'

# Temporaeres Verzeichnis
tmp=/tmp

# Decoderhomepage
decodehp='http://flox.bplaced.net/'

# Collector's-Account Benutzername
username='xxxxxxxxxxxxxxxxx'

# Collector's-Account Passwort
pass='xxxxxxxxxxxxxxxxx'

# URL
url="http://www.rapidshare.com/cgi-bin/collectorszone.cgi?username2id="$username"&password="$pass"&ru=1"

# Anzahl der Uploadversuche bei Fehlern
retriesul=3

# Premiumaccount Benutzername
premuser=test4

# Premiumaccount Passwort
prempass=test5

#################################Konfiguration ENDE#################################
####################################################################################

dllimit="1000000k"

helpmsg()
{
  echo "Aufruf: $0 [Option] [Datei|URL]"
  echo "Datei(en) von rapidshare.com / uploaded.to / meinupload.com / bluehost.to downloaden."
  echo "Datei(en) auf rapidshare.com uploaden."
  echo
  echo "    -l liste       - Alle Dateien aus der Textdatei <liste> (eine pro Zeile) downloaden."
  echo "    -u liste       - Alle Dateien aus der Textdatei <liste> (eine pro Zeile) auf rapidshare.com uploaden."
  echo "    -prem liste       - Alle Dateien aud der Textdatei <liste> (eine pro Zeile) als Premiumuser (rs.com) downloaden."
  echo "    -rsdf file     - Alle Links eines RSD-Filecontainers herunterladen."
  echo "    -r             - Einen reconnect ausfuehren, dann beenden."
  echo "    -?, --help     - Diese Hilfe anzeigen, dann beenden."
  echo
}


listload() {
    for line in `cat $1`;do oneclickhoster $line; done
}


premlistload() {
    for line in `cat $1`;do premdownload $line; done
}


uload() {
    for line in `cat $1`; do upload $line; done
}


oneclickhoster() {
    if echo $1 | grep "uploaded" > $tmp/tmp1.txt; then
                   uploaded $1
    fi
    if echo $1 | grep "bluehost" > $tmp/tmp1.txt; then
                    bluehost $1
    fi
    if echo $1 | grep "rapidshare" > $tmp/tmp1.txt; then
                   rapidshare $1
    fi
    if echo $1 | grep "meinupload" > $tmp/tmp1.txt; then
                   meinupload $1
    fi
    if echo $1 | grep "MeinUpload" > $tmp/tmp1.txt; then
                   meinupload $1
    fi
}


voipcheck() {
  call=1
  msg=1
  while [ $call -eq 1 ]; do
    voipstat=$(wget -O - -q --post-data="getpage=../html/de/fon/qualitytable.html&var:lang=de&login:command/password=$pass" http://$box/cgi-bin/webcm |
                sed -n '/"tborder mb10"/,/"mt20 pCheck25 mb5"/ s/TrQoS/&/p')
    if [ -n "$voipstat" ]; then
      if [ $msg -eq 1 ]; then
        echo "Voip-Telefonat, warte"
        msg=0
      fi
      sleep 20
    else
      call=0
    fi
  done
}


reconnect() {
  if [ $voipcheck -eq 1 ]; then
      voipcheck
  fi

  if [ $upnp -eq 1 ]; then
    cat data.box | nc -w 1 $box 49000 >/dev/null
  else
    dsld -s
    dsld -n
  fi
  sleep $wait
}


cleanup(){
  rm -f $tmp/getfile.txt $tmp/getfile2.txt $tmp/form.txt $tmp/getcap.txt $tmp/form2.txt $tmp/tmp1.txt $tmp/dlliste.txt $tmp/rsdf.txt
}


rapidshare() {
  param=$(echo $1 |tr -d '\015')
  filename=$(echo $param | sed -e 's/^.*\/files\/[0-9]*\/\(.*\)$/\1/;s/\(.*\)\.html$/\1/')
  echo "===========================Download von $filename==========================="
  echo " "
  try=0
  while [ $try -lt $retries ]; do
    cleanup
    try=$(($try+1))
    wget -q -O $tmp/getfile.txt $param
    url=$(sed -n 's/^.*action="\(http:\/\/rs[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ -z "$url" ]; then
      echo 'Url nicht gefunden (Datei geloescht?)'
      continue
    fi
    wget -q --post-data='dl.start=Free' -O $tmp/getcap.txt $url
    starttime=$(date "+%s")
    grep 'var c=' $tmp/getcap.txt>$tmp/form.txt
    sed "1d" $tmp/form.txt>$tmp/form2.txt
    waittime=$(sed -n 's/^.*var c=\([0-9]*\).*$/\1/p' $tmp/form2.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    if [ $server = 'selected' ]; then
      url=$(echo $(sed -n 's/^.*"\(http:\/\/rs[^"]*\)" m.*$/\1/p' $tmp/getcap.txt) | sed  -n 's/^.*\(http:\/\/rs[^"]*\) h.*$/\1/p')
    else
      url=$(sed -n "s/^.*action=\\\'\\(http:\\/\\/rs[0-9].*$server[^'\"]*\\)\\\'.*$/\\1/p" $tmp/getcap.txt)
    fi
    if [ -z "$url" ]; then
      echo 'Download-Link nicht gefunden.'
      continue
    fi
    echo Lade $filename von rapidshare.com herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit -O$targetdir/$filename -t 3  --progress=dot:giga $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


uploaded() {
  param=$(echo $1 |tr -d '\015')
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    wget -q -O $tmp/getfile.txt $param
    if grep -A 1 "Filename" $tmp/getfile.txt > $tmp/tmp1.txt; then
      cp $tmp/getfile.txt $tmp/getfile2.txt
    else
      echo "Reconnect!"
      reconnect
      continue
    fi
    filename=$(grep -A 1 "Filename" $tmp/getfile.txt | sed "1d" | sed 's/^[ \t]*//')
    echo "===========================Download von $filename==========================="
    echo " "
    grep 'var secs =' $tmp/getfile.txt>$tmp/form.txt
    waittime=$(sed -n 's/^.*= \([0-9]*\).*$/\1/p' $tmp/form.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    echo Lade $filename von uploaded.to herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit --progress=dot:giga --post-data='Download' -O $targetdir/$filename.rar -t 3 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


meinupload() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    filename=$(echo $param | sed -e 's/.*\///g')
    echo "===========================Download von $filename==========================="
    echo " "
    wget -q --post-data='sent=1' -O $tmp/getfile.txt $param
    echo "15 Sekunden Wartezeit..."
    sleep 15
    echo Lade $filename von meinupload.com herunter.
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit --progress=dot:giga --post-data='captcha=&download=yes' -O $targetdir/$filename -t 20 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


bluehost() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    wget -q -O $tmp/getfile.txt --save-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' $param
    tmp1=$(grep "DownloadV1Hash" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    param=http://bluehost.to/file/$tmp1
    wget -q -O $tmp/getfile.txt --save-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' $param
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt| sed "1d")
    filename=$(basename $url)
    echo "===========================Download von $filename==========================="
    echo " "
    tmp2=$(grep -A 1 "BluehostVers1dl" $tmp/getfile.txt | sed "1d" | sed 's/.* name="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp3=$(grep -A 1 "BluehostVers1dl" $tmp/getfile.txt | sed "1d" | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp4=$(grep "DownloadV1Hash" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp5=$(grep "http://bluehost.to/download.php" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp6=$(grep "PHPSESSID" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    postdata=$(echo "BluehostVers1dl=erlaubt&$tmp2=$tmp3&DownloadV1Hash=$tmp4&PHPSESSID=$tmp6&access=granted")
    grep 'var secs =' $tmp/getfile.txt>$tmp/form.txt
    waittime=$(sed -n 's/^.*= \([0-9]*\).*$/\1/p' $tmp/form.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    echo Lade $filename von bluehost.to herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --progress=dot:giga --limit-rate=$dllimit --post-data=$postdata -O $targetdir/$filename --load-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' -t 3 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
    else
      echo 'Fehler beim Download'
    fi
  done
}


rsdf() {
  cleanup
  file=$(echo $1 |tr -d '\015')
  curl -F file=@$file -F "submit=Decode file" -k $decodehp > $tmp/rsdf.txt
  grep "br" $tmp/rsdf.txt | sed -e 's/<[^>]*>//g' | grep "http" >$tmp/dlliste.txt
  listload $tmp/dlliste.txt
}


upload() {
  param=$(echo $1 |tr -d '\015')
  try=0
  while [ $try -lt $retriesul ]; do
    try=$(($try+1))
    echo "===========================Upload von $param, Versuch $try==========================="
    echo "`date +%d.%m.%y`-`date +%H.%M.%S` - Start!"
    echo " "
    accid=$(./curl -s $url | tail -1 | sed 's/.*=\([0-9]\)/\1/g')
    number=$(./curl -s http://www.rapidshare.com/cgi-bin/upload.cgi?intsysdata=1 | sed 's/\([0-9]\),.*$/\1/g')
    host="http://rs"$number"cg.rapidshare.com/cgi-bin/upload.cgi"
    curl -F toolmode2=1 -F "filecontent=@$param" -F freeaccountid=$accid -F "password=$pass" $host > $tmp/rezult.txt
    if grep 'savedfiles=1' $tmp/rezult.txt > /dev/null; then
      cat $tmp/rezult.txt | tail -2 >> links.txt
      tail -2 links.txt
      echo 'Die Datei wurde erfolgreich hochgeladen.'
      echo " "
      echo " "
      break
    else
      echo 'Fehler beim Upload.'
      echo " "
      echo " "
    sleep 5
  fi
  done
}


premdownload() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    filename=$(echo $param | sed -e 's/^.*\/files\/[0-9]*\/\(.*\)$/\1/;s/\(.*\)\.html$/\1/')
    echo "===========================Download von $filename==========================="
    echo " "
    wget -q -O $tmp/getfile.txt $param
    url=$(sed -n 's/^.*action="\(http:\/\/rs[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ -z "$url" ]; then
     echo 'Url nicht gefunden (Datei geloescht?)'
     continue
    fi
    if wget --http-user=$premuser --http-passwd=$prempass --limit-rate=$dllimit -O $targetdir/$filename -t 3  --progress=dot:giga $url; then
        countdl=$(($countdl+1))
        echo "$countdl Dateien heruntergeladen"
        echo " "
        break
    else
        echo 'Fehler beim Download'
    fi
  done
}


case "$1" in
  -l)
    if [ -n "$2" ]; then
      listload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -prem)
    if [ -n "$2" ]; then
      premlistload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -u)
    if [ -n "$2" ]; then
     uload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -rsdf)
    if [ -n "$2" ]; then
     rsdf $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -r)
    reconnect
    ;;
  -?|--help)
    helpmsg
    exit 0
    ;;
  *)
    helpmsg >&2
    exit 1
esac
ich glaub mehr habe ich nciht modifiziert.
 
Zuletzt bearbeitet:
Dateien doppelter Grösse

fetzngaude schrieb:
Hallo,

was kann das Problem sein wenn beim Premiumdownload nur eine Datei geladen wird und die dann doppelt?

In der dl.txt stehen aber mehrere Links drin.

Er gibt auch keine Fehler aus. Bin echt ratlos.
.
.
.
Die Datei hat dann auch die doppelte Größe als normal.

Danke für eure Hilfe!

[Beitrag 2:]
Also das Problem dass er nur eine Datei lädt hab ich lösen können durch die neue Version des fritzload scripts. Nur das Problem mit den doppelten Dowload der gleichen Datei habe ich noch.

Wisst ihr Abhilfe?

Danke

the_freestyler schrieb:
Das Problem scheint bei Premium Downloads schon mal aufgetreten zu sein.
Ich habe es jetzt leider auch bei Free Downloads.

Jede Datei wird bei mir doppelt geladen. Die Datei ist daraufhin doppelt so groß und jede Datei im Archiv ist darin doppelt enthalten; sehr komisch.

Woran kann das liegen?

Benutze die letzte fritzload.sh + gui.
So nun habe ich leider auch diesen Fehler :(
Nutze RS nur als Free-user...
Folgendermassen sieht das Logfile aus:
Code:
===========================Download von ***********.rar===========================

79 Sekunden Wartezeit...
Lade **********.rar von rapidshare.com herunter.
--08:52:04-- http://rs89l3.rapidshare.com/files/****/****/**********.rar
=> `/var/media/ftp/ATV-Partition-0-1/sda2/**********.rar'
Resolving rs89l3.rapidshare.com... 195.122.131.90
Connecting to rs89l3.rapidshare.com|195.122.131.90|:80... connected.
HTTP request sent, awaiting response... 200 OK
[COLOR="Red"]Length: 104,790,000 (100M)[/COLOR] [application/octet-stream]

0K ........ ........ ........ ........ 32% 238.02 KB/s
32768K ........ ........ ........ ........ 64% 241.20 KB/s
65536K ........ ........ ........ ........ 96% 241.04 KB/s
98304K ... 100% 249.89 KB/s

08:59:10 (240.45 KB/s) - `/var/media/ftp/ATV-Partition-0-1/sda2/**********.rar' saved [104790000/104790000]

--08:59:10-- http://rs89l3.rapidshare.com/files/****/****/**********.rar
=> `/var/media/ftp/ATV-Partition-0-1/sda2/**********.rar'
Connecting to rs89l3.rapidshare.com|195.122.131.90|:80... connected.
HTTP request sent, awaiting response... 200 OK
[COLOR="Red"]Length: 104,790,000 (100M)[/COLOR] [application/octet-stream]

0K ........ ........ ........ ........ 32% 239.48 KB/s
32768K ........ ........ ........ ........ 64% 240.97 KB/s
65536K ........ ........ ........ ........ 96% 241.31 KB/s
98304K ... 100% 232.50 KB/s

09:06:16 (240.26 KB/s) - `/var/media/ftp/ATV-Partition-0-1/sda2/**********.rar' saved [104790000/104790000]


FINISHED --09:06:16--
[COLOR="Red"]Downloaded: 209,580,000 bytes in 2 files
1 Dateien heruntergeladen[/COLOR]
Sehr merkwürdig ist dass wget 2 Dateien runterlädt (und dies auch meldet) aber beide in eine Datei schreibt?? Ausserdem ists ja beide Male das gleiche
file. Das script hingegen erkennt nur ein file...
Die Stelle in der fritzload.sh ist die folgende:
Code:
    if ./wget --limit-rate=$dllimit -O$targetdir/$filename -t 3  --progress=dot:giga $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
Hm... also das sieht mir danach aus als ob wget da Mist baut oder?
Wer hat eine Idee?
 
Man sollte unter Configuration DownloadPfad noch mal manuell anpassen sonst funktioniert der Download nicht weil lange DownloadPfad durch "..." ersetzt wird
 
Das Script extrahiert aus der RS Seite den Link 2 Mal.
Also müsste in der getcap.txt 2 Links drin sein, die mittels sed in den Parameter $url übergeben werden.
So denk ichs mir, schau doch mal nach, wie die getcap.txt aussieht, es müsste sich in dieser Datei 2 Mal der Link finden lassen.
Warum das bei dir auftritt und bei anderen nicht, das würd ich selber mal wissen wollen... :confused:
 
Zuletzt bearbeitet:
np
download.php:
PHP:
<HTML>
    <HEAD>
    <TITLE>Fritzload GUI</TITLE>
    </HEAD>
    <BODY>

    
<table align="center" background="bg_ramp.jpg" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
    
    <!-------------------------------------------------------HTML Teil realisiert die Oberfläche von Fritzload GUI-------------------------------------------------------------------->
    <a href="download.php"><img src="fw_header980.png" border="0"></a><p>
    
    <table align="center" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
    <form method="post"><p>
    <a href="fileList.php"><img src="button_downloads.jpg" border="0"></a>
    &nbsp&nbsp<a href="rsdf.php"><img src="button_rsdf.jpg" border="0"></a>&nbsp&nbsp<a href="config.php"><img src="button_configuration.jpg" border="0"></a>
    </td>
</tr>
</table>

    <table align="center" "cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>
          <p>
          <input type="checkbox" name="premNormal" value="1"> Premiumdownload<br>
          <input type="checkbox" name="mail" value="1"> nach dem letzten Download Mail an: <input name="mailAdr" type="text" size="30"><br>
          <input type="checkbox" name="shutdown" value="1"> nach dem letzten Download den PC herunterfahren<br>
            Adresse(n):<!-- Textarea mit php Teil im inneren-->
            <br /><textarea name="eingabe" cols="50" rows="10">
<?php if(isset($_POST['get'])) // Liest die Datei dl.txt aus und schreibt den Inhalt in die Textarea
{
    $inhalt = strip_tags(readfile("dl.txt"));
    if($inhalt == "") // In dl.txt steht nichts drin
    {
        echo "Keine Links angegeben";
    }
}?></textarea>
          </p>
            <table border="0" cellpadding="0" cellspacing="4">
            <tr>
                <!-- Die Buttons unter der Textarea zur Steuerung von fritzload-->
                <td><input type="submit" name="get" value="Show List" style="width:80px"></td>
                <td><input type="submit" name="add" value="Save" style="width:80px"></td>
                <td><input type="submit" name="run" value="Start" style="width:80px"></td>
                <td><input type="submit" name="kill" value="Kill" style="width:80px"></td>
                <td><input type="submit" name="show" value="Show state" style="width:80px"></td>
            <tr>
            </table>
        </form>
        
        </td>
</tr>
</table>
        
        </td>
</tr>
</table>
    

    </BODY>
</HTML>
<!------------------------------------------------------- Hier beginnt der eigentlich PHP Teil zur Bedienung von fritzload-------------------------------------------------------------------->
<?php
// Falls der Show List Button gedrückt wurde
if(isset($_POST['show']))
{
    // öffne Datei nohup.out und lies den Inhalt Zeilenweise
    $handle = fopen("nohup.out", "r");
    while(!feof($handle))
    {
        // Nach jeder Zeile wird ein Return hinzugefügt
        echo fgetss($handle)."<br />";
    }
}
// Falls der Add Button gedrückt wurde
if(isset($_POST['add']))
{
    // öffne Datei dl.txt und überschreibe den alten Inhalt
    $datei = fopen("dl.txt","w");
    // mit dem Inhalt der Textarea
    $string = strip_tags($_POST['eingabe']);
    fwrite($datei, $string);
    fclose($datei);
}
// Falls der Start Button gedrückt wurde
if(isset($_POST['run']))
{
    $after = "";
    $bevore = "echo test; echo > nohup.out; ";
    if(isset($_POST['mail'])){
        $after = $after . 'echo \"Downloads beendet!\" > mail;';
        if(isset($_POST['shutdown'])){
            $after = $after . 'echo \"Der PC wird in 5 Minuten heruntergefahren.\" >> mail;';
        }
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'echo \"Logbuch:\" >> mail;';
        $after = $after . 'echo \"\" >> mail;';
        $after = $after . 'cat nohup.out >> mail;';
        $after = $after . 'mail -s \"Nachricht von Fritzload: Downloads beendet!\" ' . $_POST['mailAdr'] . ' < mail;'; 
        $bevore = $bevore . 'echo \"Mail an ' . $_POST['mailAdr'] . ' nach Download aktiviert\" >> nohup.out; ';
    }

    if(isset($_POST['shutdown'])){
            if(isset($_POST['mail'])){
                $after = $after . 'sudo /etc/init.d/postfix flush;';
            }
            $after = $after . 'sudo shutdown -h +5 > /dev/null &';
            $bevore = $bevore . 'echo \"Herunterfahren nach Download aktiviert\" >> nohup.out; ';
    }
    if(isset($_POST['premNormal']))
    {
        // starte fritzload mit dem -l Parameter und der Datei dl.txt    
        shell_exec("{ ./fritzload.sh -prem dl.txt > nohup.out 2>&1; $after } &");
    }
    else
    {
        // starte fritzload mit dem -l Parameter und der Datei dl.txt
        shell_exec('bash -c "{ ' . $bevore . ' ./fritzload.sh -l dl.txt >> nohup.out 2>&1; ' . $after . ' }" > log &');
    }
    echo "Listen Download gestartet";
}
// Falls der Kill Button gedrückt wurde
if(isset($_POST['kill']))
{
    // beende fritzload als auch den aktuellen Download
    shell_exec('killall fritzload.sh > /dev/null &');
    shell_exec('killall wget > /dev/null &');
    echo "Gestoppt";
}
?>
fritzload.sh:
Code:
#!/bin/sh
date
#    Downloader bzw. Uploader fuer die AVM Fritz!Box
#    Copyright (C) 2007  Acros
#    Siehe http://www.ip-phone-forum.de/showthread.php?t=147334
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#


# Modded by: TomTom, HirnToT, hawk666, nachtzwerg, da_new8i

####################################################################################
################################Konfiguration ANFANG################################

# Zielverzeichnis
targetdir='/var/www/fritzload/download'

# Anzahl der Downloadversuche bei Fehlern
retries=5

# Bandbreitenlimitierung (1=on 0=off)
choke=0

# Zeiten in denen der Download auf Fullspeed laufen soll (count1=Startzeit, count2=Endzeit)
# Uhrzeit ohne Punkt und Bezeichnung angeben, z.B. 16.30 Uhr ist 1630
count1=0001
count2=2359

# Bandbreite wird begrenzt auf (Angabe in kbyte/sec):
limit=35k

# IP
box=192.168.0.1

# Wenn upnp in der Fritzbox aktiviert ist, dann 1 sonst 0
upnp=1

# Wartezeit nach Reconnect in Sekunden
wait=18

# Soll mit dem Reconnect gewartet werden wenn ein Voip-Telefonat laeuft? (1=ja,0=nein)
voipcheck=1

# Fritzbox-Passwort fuer Voip-check
pass=

# Server, selected fuer vorausgewaehlten von Rapidshare
# sonstige sind: tg.rapidshare tl.rapidshare tl2.rapidshare gc.rapidshare gc2.rapidshare
# l3.rapidshare l32.rapidshare l33.rapidshare l34.rapidshare cg.rapidshare cg2.rapidshare
server='selected'

# Temporaeres Verzeichnis
tmp=/tmp

# Decoderhomepage
decodehp='http://flox.bplaced.net/'

# Collector's-Account Benutzername
username='xxxxxxxxxxxxxxxxx'

# Collector's-Account Passwort
pass='xxxxxxxxxxxxxxxxx'

# URL
url="http://www.rapidshare.com/cgi-bin/collectorszone.cgi?username2id="$username"&password="$pass"&ru=1"

# Anzahl der Uploadversuche bei Fehlern
retriesul=3

# Premiumaccount Benutzername
premuser=test4

# Premiumaccount Passwort
prempass=test5

#################################Konfiguration ENDE#################################
####################################################################################

dllimit="1000000k"

helpmsg()
{
  echo "Aufruf: $0 [Option] [Datei|URL]"
  echo "Datei(en) von rapidshare.com / uploaded.to / meinupload.com / bluehost.to downloaden."
  echo "Datei(en) auf rapidshare.com uploaden."
  echo
  echo "    -l liste       - Alle Dateien aus der Textdatei <liste> (eine pro Zeile) downloaden."
  echo "    -u liste       - Alle Dateien aus der Textdatei <liste> (eine pro Zeile) auf rapidshare.com uploaden."
  echo "    -prem liste       - Alle Dateien aud der Textdatei <liste> (eine pro Zeile) als Premiumuser (rs.com) downloaden."
  echo "    -rsdf file     - Alle Links eines RSD-Filecontainers herunterladen."
  echo "    -r             - Einen reconnect ausfuehren, dann beenden."
  echo "    -?, --help     - Diese Hilfe anzeigen, dann beenden."
  echo
}


listload() {
    for line in `cat $1`;do oneclickhoster $line; done
}


premlistload() {
    for line in `cat $1`;do premdownload $line; done
}


uload() {
    for line in `cat $1`; do upload $line; done
}


oneclickhoster() {
    if echo $1 | grep "uploaded" > $tmp/tmp1.txt; then
                   uploaded $1
    fi
    if echo $1 | grep "bluehost" > $tmp/tmp1.txt; then
                    bluehost $1
    fi
    if echo $1 | grep "rapidshare" > $tmp/tmp1.txt; then
                   rapidshare $1
    fi
    if echo $1 | grep "meinupload" > $tmp/tmp1.txt; then
                   meinupload $1
    fi
    if echo $1 | grep "MeinUpload" > $tmp/tmp1.txt; then
                   meinupload $1
    fi
}


voipcheck() {
  call=1
  msg=1
  while [ $call -eq 1 ]; do
    voipstat=$(wget -O - -q --post-data="getpage=../html/de/fon/qualitytable.html&var:lang=de&login:command/password=$pass" http://$box/cgi-bin/webcm |
                sed -n '/"tborder mb10"/,/"mt20 pCheck25 mb5"/ s/TrQoS/&/p')
    if [ -n "$voipstat" ]; then
      if [ $msg -eq 1 ]; then
        echo "Voip-Telefonat, warte"
        msg=0
      fi
      sleep 20
    else
      call=0
    fi
  done
}


reconnect() {
  if [ $voipcheck -eq 1 ]; then
      voipcheck
  fi

  if [ $upnp -eq 1 ]; then
    cat data.box | nc -w 1 $box 49000 >/dev/null
  else
    dsld -s
    dsld -n
  fi
  sleep $wait
}


cleanup(){
  rm -f $tmp/getfile.txt $tmp/getfile2.txt $tmp/form.txt $tmp/getcap.txt $tmp/form2.txt $tmp/tmp1.txt $tmp/dlliste.txt $tmp/rsdf.txt
}


rapidshare() {
  param=$(echo $1 |tr -d '\015')
  filename=$(echo $param | sed -e 's/^.*\/files\/[0-9]*\/\(.*\)$/\1/;s/\(.*\)\.html$/\1/')
  echo "===========================Download von $filename==========================="
  echo " "
  try=0
  while [ $try -lt $retries ]; do
    cleanup
    try=$(($try+1))
    wget -q -O $tmp/getfile.txt $param
    url=$(sed -n 's/^.*action="\(http:\/\/rs[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ -z "$url" ]; then
      echo 'Url nicht gefunden (Datei geloescht?)'
      continue
    fi
    wget -q --post-data='dl.start=Free' -O $tmp/getcap.txt $url
    starttime=$(date "+%s")
    grep 'var c=' $tmp/getcap.txt>$tmp/form.txt
    sed "1d" $tmp/form.txt>$tmp/form2.txt
    waittime=$(sed -n 's/^.*var c=\([0-9]*\).*$/\1/p' $tmp/form2.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    if [ $server = 'selected' ]; then
      url=$(echo $(sed -n 's/^.*"\(http:\/\/rs[^"]*\)" m.*$/\1/p' $tmp/getcap.txt) | sed  -n 's/^.*\(http:\/\/rs[^"]*\) h.*$/\1/p')
    else
      url=$(sed -n "s/^.*action=\\\'\\(http:\\/\\/rs[0-9].*$server[^'\"]*\\)\\\'.*$/\\1/p" $tmp/getcap.txt)
    fi
    if [ -z "$url" ]; then
      echo 'Download-Link nicht gefunden.'
      continue
    fi
    echo Lade $filename von rapidshare.com herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit -O$targetdir/$filename -t 3  --progress=dot:giga $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


uploaded() {
  param=$(echo $1 |tr -d '\015')
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    wget -q -O $tmp/getfile.txt $param
    if grep -A 1 "Filename" $tmp/getfile.txt > $tmp/tmp1.txt; then
      cp $tmp/getfile.txt $tmp/getfile2.txt
    else
      echo "Reconnect!"
      reconnect
      continue
    fi
    filename=$(grep -A 1 "Filename" $tmp/getfile.txt | sed "1d" | sed 's/^[ \t]*//')
    echo "===========================Download von $filename==========================="
    echo " "
    grep 'var secs =' $tmp/getfile.txt>$tmp/form.txt
    waittime=$(sed -n 's/^.*= \([0-9]*\).*$/\1/p' $tmp/form.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    echo Lade $filename von uploaded.to herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit --progress=dot:giga --post-data='Download' -O $targetdir/$filename.rar -t 3 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


meinupload() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    filename=$(echo $param | sed -e 's/.*\///g')
    echo "===========================Download von $filename==========================="
    echo " "
    wget -q --post-data='sent=1' -O $tmp/getfile.txt $param
    echo "15 Sekunden Wartezeit..."
    sleep 15
    echo Lade $filename von meinupload.com herunter.
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --limit-rate=$dllimit --progress=dot:giga --post-data='captcha=&download=yes' -O $targetdir/$filename -t 20 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
      break
    else
      echo 'Fehler beim Download'
    fi
  done
}


bluehost() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    wget -q -O $tmp/getfile.txt --save-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' $param
    tmp1=$(grep "DownloadV1Hash" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    param=http://bluehost.to/file/$tmp1
    wget -q -O $tmp/getfile.txt --save-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' $param
    url=$(sed -n 's/^.*action="\(http:\/\/[^"]*\)".*$/\1/p' $tmp/getfile.txt| sed "1d")
    filename=$(basename $url)
    echo "===========================Download von $filename==========================="
    echo " "
    tmp2=$(grep -A 1 "BluehostVers1dl" $tmp/getfile.txt | sed "1d" | sed 's/.* name="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp3=$(grep -A 1 "BluehostVers1dl" $tmp/getfile.txt | sed "1d" | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp4=$(grep "DownloadV1Hash" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp5=$(grep "http://bluehost.to/download.php" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    tmp6=$(grep "PHPSESSID" $tmp/getfile.txt | sed 's/.* value="\?\([A-Za-z0-9_]*\).*"\?/\1/g')
    postdata=$(echo "BluehostVers1dl=erlaubt&$tmp2=$tmp3&DownloadV1Hash=$tmp4&PHPSESSID=$tmp6&access=granted")
    grep 'var secs =' $tmp/getfile.txt>$tmp/form.txt
    waittime=$(sed -n 's/^.*= \([0-9]*\).*$/\1/p' $tmp/form.txt)
    echo "$waittime Sekunden Wartezeit..."
    sleep $waittime
    echo Lade $filename von bluehost.to herunter.
    if [ $choke -eq 1 ]; then
      time=`date +"%H%M"`
      if [ "$time" -ge "$count1" ]; then
        dllimit="1000000k"
        echo "Bandbreite wird NICHT begrenzt!"
        elif [ "$time" -le "$count2" ]; then
          if [ "$count2" -lt "$count1" ]; then
            dllimit="1000000k"
            echo "Bandbreite wird NICHT begrenzt!"
          else
            dllimit=$limit
            echo "Bandbreite wird begrenzt!"
          fi
      else
        dllimit=$limit
        echo "Bandbreite wird begrenzt!"
      fi
    fi
    if wget --progress=dot:giga --limit-rate=$dllimit --post-data=$postdata -O $targetdir/$filename --load-cookies=$tmp/cookie.txt --keep-session-cookies --user-agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' -t 3 $url; then
      countdl=$(($countdl+1))
      echo "$countdl Dateien heruntergeladen"
      echo " "
    else
      echo 'Fehler beim Download'
    fi
  done
}


rsdf() {
  cleanup
  file=$(echo $1 |tr -d '\015')
  curl -F file=@$file -F "submit=Decode file" -k $decodehp > $tmp/rsdf.txt
  grep "br" $tmp/rsdf.txt | sed -e 's/<[^>]*>//g' | grep "http" >$tmp/dlliste.txt
  listload $tmp/dlliste.txt
}


upload() {
  param=$(echo $1 |tr -d '\015')
  try=0
  while [ $try -lt $retriesul ]; do
    try=$(($try+1))
    echo "===========================Upload von $param, Versuch $try==========================="
    echo "`date +%d.%m.%y`-`date +%H.%M.%S` - Start!"
    echo " "
    accid=$(./curl -s $url | tail -1 | sed 's/.*=\([0-9]\)/\1/g')
    number=$(./curl -s http://www.rapidshare.com/cgi-bin/upload.cgi?intsysdata=1 | sed 's/\([0-9]\),.*$/\1/g')
    host="http://rs"$number"cg.rapidshare.com/cgi-bin/upload.cgi"
    curl -F toolmode2=1 -F "filecontent=@$param" -F freeaccountid=$accid -F "password=$pass" $host > $tmp/rezult.txt
    if grep 'savedfiles=1' $tmp/rezult.txt > /dev/null; then
      cat $tmp/rezult.txt | tail -2 >> links.txt
      tail -2 links.txt
      echo 'Die Datei wurde erfolgreich hochgeladen.'
      echo " "
      echo " "
      break
    else
      echo 'Fehler beim Upload.'
      echo " "
      echo " "
    sleep 5
  fi
  done
}


premdownload() {
  cleanup
  try=0
  while [ $try -lt $retries ]; do
    try=$(($try+1))
    param=$(echo $1 |tr -d '\015')
    filename=$(echo $param | sed -e 's/^.*\/files\/[0-9]*\/\(.*\)$/\1/;s/\(.*\)\.html$/\1/')
    echo "===========================Download von $filename==========================="
    echo " "
    wget -q -O $tmp/getfile.txt $param
    url=$(sed -n 's/^.*action="\(http:\/\/rs[^"]*\)".*$/\1/p' $tmp/getfile.txt)
    if [ -z "$url" ]; then
     echo 'Url nicht gefunden (Datei geloescht?)'
     continue
    fi
    if wget --http-user=$premuser --http-passwd=$prempass --limit-rate=$dllimit -O $targetdir/$filename -t 3  --progress=dot:giga $url; then
        countdl=$(($countdl+1))
        echo "$countdl Dateien heruntergeladen"
        echo " "
        break
    else
        echo 'Fehler beim Download'
    fi
  done
}


case "$1" in
  -l)
    if [ -n "$2" ]; then
      listload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -prem)
    if [ -n "$2" ]; then
      premlistload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -u)
    if [ -n "$2" ]; then
     uload $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -rsdf)
    if [ -n "$2" ]; then
     rsdf $2
    else
      helpmsg >&2
      exit 1
    fi
    ;;
  -r)
    reconnect
    ;;
  -?|--help)
    helpmsg
    exit 0
    ;;
  *)
    helpmsg >&2
    exit 1
esac
ich glaub mehr habe ich nciht modifiziert.

Hi,
ehm doppelfritz gibt da nen paar probs, nichts wildes ;)


download.php - Was mir bisher aufgefallen ist:

1.)
Die Dateiendungen stehen auf .png bzw. auch auf .jpg also bei mir sind aber nur gifs im Ordner!

2.)
Es fehlen die Decrypt Buttons! Die sind bei den andren Versionen drinnen aber bei dir nicht.
Kann es sein das du nicht die lighttp Version von pal.sch genommen hast?


Wäre gut wenn du das noch verbessern könntest! Aber sonst Top...
 
Nur mal meine Meinung zu: Wenn mir die Kleinigkeiten schon ausfallen, änder ich das doch schnell selbst und stells hier rein, bevor sich da andere wieder mit abmühen müssen. Ist doch der Sinn von Open Source. :rolleyes:
 
Hi,
ich weiß aber nicht wie danew die buttons Deklariert hat und ich will ihm da nich reinpfuschen. Sicher könnte ich das, aber naja.
:rolleyes:
 
Das Script extrahiert aus der RS Seite den Link 2 Mal.
Also müsste in der getcap.txt 2 Links drin sein, die mittels sed in den Parameter $url übergeben werden.
So denk ichs mir, schau doch mal nach, wie die getcap.txt aussieht, es müsste sich in dieser Datei 2 Mal der Link finden lassen.
Warum das bei dir auftritt und bei anderen nicht, das würd ich selber mal wissen wollen... :confused:
Hi Tomtom!

Ja das stimmt. Ich hatte die Dateien von diesem Phänomen gesichert und in die getcap.txt geschaut.
Das script findet auch brav 2 links (warum die function fc zweimal drinsteht, damit habe ich mich erstmal nicht beschäftigt^^) und übergibt diese wiederum an sed wodurch nurnoch ein link übrigbleibt. Das funktioniert auch mit der getcap.txt bei der der Fehler auftrat.

Schon merkwürdig. Habe nun eine fritzload.sh gestartet die mir anstatt des $filename die $url ins log schiebt.

Mal schauen ob ich dahinter komme...;)

p.s.
so ganz allein bin ich ja nicht mit dem Problem...

EDIT:
Problem erkannt und gelöst!

Problem:
1. Ich hatte die Einstellung 'server' nicht auf dem Standardwert 'selected'
2. Die passende RegExp in der fritzload.sh arbeitet fehlerhaft und liefert mehrere Links (falls auch mehrere Links für ein Netzwerk vorhanden sind).

Wen es interessiert:
Die doppelte Grösse der Dateien kam dadurch, dass mehrere Links an wget übergeben wurden. Wget lud dann fleissig herunter, allerdings in eine einzige Datei!
Manchmal war der Download des 1. Links so schnell, dass die Session noch nicht abgelaufen war und der 2. Link der gleichen Datei funktionierte wodurch sich die Grösse der Datei dann verdoppelte...

Lösung:
Zeile 207 in fritzload.sh
Code:
url=$(sed -n "s/^.*action=\\\'\\(http:\\/\\/rs[0-9].*$server[^'\"]*\\)\\\'.*$/\\1/p" $tmp/getcap.txt)
durch
Code:
url=$(echo $(sed -n "s/^.*action=\\\'\(http:\/\/rs[0-9].*$server[^'\"]*\)\\\'.*$/\1/p" $tmp/getcap.txt) | sed -n 's/^.*\(http:\/\/rs[^"]*\) h.*$/\1/p')
ersetzen.

Alternativ kann auch fritzload_doppelte_groesse_bugfix.rar heruntergeladen werden ;)
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.