Du bist nicht angemeldet.
Also ich mache es immer so:
Folgendes muss natürlich eingerichtet sein. DynDNS und Internetzugriff auf die Box.
Dann geht man auf die Portfreigabe-Übersicht und legt folgende Freigabe an:
Portfreigabe aktiv für: Andere Anwendung
Bezeichnung: HTTP-Server
Protokoll: TCP
von Port: 90 bis Port 90
an Computer: manuelle Eingabe der IP-Adresse
an IP-Adresse: 192.168.178.3
an Port 90
Nun geht man per Telnet auf die Box:
und gibt folgenden Befehl ein:
ifconfig lan:fritzload 192.168.178.3 up
Fertig. jetzt kannst du per https://dyndnsname:90/cgi-bin/fritzload/gui_download.cgi?i=1 auf deine BOX.
Fazit nach 5 Tagen Test:
Das neue OS ist um einiges sicherer gestrickt.
1. Manuelle Änderungen der ar7.cfg werden vom System nach mehreren Stunden bemerkt und zurückgesetzt.
2. Eine Freigabe auf eine virtuell IP-Adresse die man anschließend der Box zuweist wird nach einer Stunde gelöscht.Fazit, ein Zugang über das Internet ist mir im Moment nicht mehr gelungen :-( Das ist natürlich eine Üble Einschränkung.
Gruß Stulle84
Es gibt eine neue Beta Firmware. Darin gibt AVM an, dass das verschwinden der Einstellungen ein Fehler war. Ich hab gestern die neu installiert und den 2. Punkt getestet. Fazit nach 12 Stunden. Freigabe noch vorhanden.
Ich denke die beschwerden waren zu hoch, dass wird keine Fehler gewesen sein. Ein Fehler der sich ganz officell ins Logbuch einträgt?
Hoi.
Funzt das noch?Fahr am WoE in Urlaub und merk grad, dass ich mit dem Webserver gar nicht mehr mit MyFritz bzw direkt auf F!L zugreifen kann...
Welche Firmware hast du?
Alle sollten sich bei AM beschweren. Ich habe es schon gemacht.
wenn ich über 200 € für so eine Box zahle, möchte ich auch die Freiheit haben am System etwas zu ändern oder anzupassen.
habe mir die 6.24 wieder aufgespielt und mache keine Updates mehr.
Werde auch keine neue Box wieder kaufen. Hatte bis jetzt immer das aktuellste Modell.
so ähnlich habe ich das AM geschrieben.
Also ich kann AVM ja verstehen, es geht um Sicherheitsrelevante Einstellungen, aber wenn die Möglichkeit besteht, einen eigenen Webserver zu starten, dann sollte man diesen auch für das Internet freigeben können. Vom Prinzip her ist es dann ja doch nichts anderes, als ein Webserver der sich physikalisch hinter der Box befindet. Und diesen könnte ich dann ja auch freigeben :-)
Fazit nach 5 Tagen Test:
Das neue OS ist um einiges sicherer gestrickt.
1. Manuelle Änderungen der ar7.cfg werden vom System nach mehreren Stunden bemerkt und zurückgesetzt.
2. Eine Freigabe auf eine virtuell IP-Adresse die man anschließend der Box zuweist wird nach einer Stunde gelöscht.
Fazit, ein Zugang über das Internet ist mir im Moment nicht mehr gelungen :-( Das ist natürlich eine Üble Einschränkung.
Gruß Stulle84
habe mir jetzt auch die 113.06.35-30896 auf der 7490 installiert. aber immer wenn ich es über das webinterface installiere startet die box neu und dann geht Telnet trotzdem nicht
@stulle84
wie bist Du vorgegangen?
Folgende Datei über Update einspielen:
Dann startet die Box neu und Telnet geht!!
OK, gerade durchgeführt.
Auf meiner 7490 habe ich die Firmware 6.35 installiert und dann das Telnet-Script per Firmwareupdate drauf.
Läuft alles wieder wie vorher...
Fazit: Firmware 6.35 + Telnet + FritzLoad = läuft
Würde das Script auch mit der 7490 Firmware 6.35 Beta funktionieren?
So, ich hab mir noch mal Gedanken zu dem Thema gemacht. Ich glaube wir versuchen das falsch anzugehen.
Ich hab mir überlegt, dass man vielleicht besser mit einer virtuelle IP-Adresse arbeiten sollte. Da die Fritzbox allerdings merkt, dass die IP-Adresse auf sich selber zeigt, muss man erst die Freigabe eintragen.
Dazu in der Fritzbox Portfreigabe und "manuelle Eingabe der IP-Adresse" auswählen und z.B. 192.168.178.3 eingeben. Ich habe einfach mal den Port 9090 auf 90 weitergeleitet.
Dann habe ich über Telnet folgendes eingeben:
ifconfig lan:fritzload 192.168.178.3 up
Fertig ist die Freigabe.
Nachteil, wenn die FritzBox sich neu startet ist die temporäre virtuelle IP verschwunden. Man müsste die IP also mit in die Konfiguration von Fritzload einbauen.
Was mein Ihr?
Gruß
Stulle
Naja, vom Grunde her ist es auch ohne Freetz möglich. Man muss nur die verschiedenen Ansätze zusammen bringen.
Mein erster Ansatz wäre, die Regeln einzutragen
cat /var/flash/ar7.cfg | sed -e '/internet_forwardrules/,/;/ s/"tcp 0.0.0.0:443 0.0.0.0:$freigabeport 0",/"tcp 0.0.0.0:443 0.0.0.0:$freigabeport 0", "tcp 0.0.0.0:90 0.0.0.0:90 0",/' > /var/tmp/ar7.cfg
Diese Regel funktioniert aber nur, wenn Port nicht von 443 geändert wurde. Also sollte man unbedingt den Port vorher überprüfen:
freigabeport=$(grep -A 1 "https_port" /var/flash/ar7.cfg | sed -n 's|.*https_port = "\([^<>"]*\).*|\1|p')
Wenn man diese beiden Argumente nun miteinander verbindet, sollte eine Freigabe möglich sein!
Ich muss meine Aussage korrigieren. Es funktioniert doch nicht vernünftig.
Auf meiner 7490 bekomme ich über SSL keine DonwloadInformationen (Statusbar, Dauer Größe, Restdauer etc.) angezeigt.
Also mehr oder weniger nicht so gut zu gebrauchen!
Funktioniert :-)
Ich hab doch noch einen kleinen Fehler gefunden:
elif grep -qi ">Premium download</button>" $f; then
errmsg "Du lädst schon von diesem Hoster"
waiting 0 10 0
continue
fi
Beim parallel Downloads muss nach der Wartezeit ein "Continue" kommen und kein Break. Sonst versuch FritzLoad es nicht noch einmal...
yoa, so funktioniert es...
Wenn jamand noch Probleme hat, dann Meldung an mich!
Hi,
ich habe ein Plugin für fboom.me geschrieben!!
#!/bin/ash
DEBUG_GET=1
# fix Captcha-Image by genuK/genuk@gmx.net/27.07.2014
# break und continue => beendet Funktion und liefert an die darunterliegende while Schleife das break|continue aus
# return => beendet Funktion und fuehrt den Prozess an der aufgerufenen Stelle weiter aus
errorHandling_fboom_me(){
local f=$1
if grep -qi "This server is in maintenance mode| our store is not available, please try later|>Not Found<" $f; then
errmsg "Server unter Maintenance"
waiting 600 && continue
elif grep -qiE "error occurred while processing your request|File not found or deleted|>Sorry, this file is blocked or deleted|Downloading blocked" $f; then
errmsg "Datei nicht mehr vorhanden"
return 1
elif grep -qi "File size to large|Only <b>Premium</b> access<br>|only available to premium|Free user can\'t download large files" $f; then
errmsg "Datei kann nur von Premium Usern geladen werden"
return 1
elif grep -qi "Please wait" $f; then
errmsg "Downloadlimit erreicht"
{ needReconnect 30; continue; }
elif grep -qi ">Premium download</button>" $f; then
errmsg "Du lädst schon von diesem Hoster"
waiting 0 10
break
fi
}
fboom_me() {
local c=$tmp/dl.cookie.txt f=$tmp/dl.response.htm f2=$tmp/dl.response2.htm
local finalurl filename filesize sizeunit fileid waittime slowid urlpart hour minute second
local baseurl="http://fboom.me"
# fileid=$(echo $param | sed -n 's|.*cc\/file\/\([^ ]*\).*|\1|p')
# if [ -z "$fileid" ]; then
# errmsg "Keine FileID extrahiert"
# return 1
# fi
while [ $try -lt $retries ]; do
try=$(($try+1))
# Hauptseite
GET "$param" "$f" "--cookie-jar $c" "GET1" || { needReconnect 30; continue; }
errorHandling_fboom_me $f
# request File Information
if grep -q '<title>FileBoom\.me - Error</title>';then
errmsg "Dateistatus unbekannt"
return 1
fi
filename=$(grep -A 1 "icon-download" $f | sed -n 's|.* \([^<>"]*\).*|\1|p')
filename=${filename:1}
if [ -z "$filename" ];then
grep -q "This file is no longer available" $f && errmsg "Datei nicht mehr verfügbar" && break
errmsg "Konnte Dateinamen nicht bestimmen" && continue
fi
notalreadyLoaded "$filename" || return
filesize=$(grep -A 1 "File size:" $f | sed -n 's|.*File size: \([^<>"]*\).*|\1|p')
[ -z "$filesize" ] && filesize=$(sed -n 's|.*>Size: \([^<>\"]*\).*|\1|p' $f)
[ -z "$filesize" ] && grep -q '<b>File size:</b>.*<br>' $f && {
errmsg "Datei nicht mehr vorhanden"
return 1
}
#TODO: convert size unit MB GB ... 1 000.0 MB => bytes
#filesize=$(echo $filesize | tr -d ' .')
slowid=$(grep "data-slow-id" $f | sed -n 's|.*id="\([^ "]*\).*|\1|p')
[ -z "$slowid" ] && {
errmsg "slowid failed: Plugin defekt"
return 1
}
sleep 3
GET "$param" "$f" "--cookie $c -d slow_id=$slowid" "GET2" || { needReconnect; continue; }
errorHandling_fboom_me $f
if grep -qi "captcha-form" $f; then
# Captchas kommen anscheinend nicht immer
# deleteComment $f
# extractForm $f "captcha-form" || continue
local data="free=1&freeDownloadRequest=1&uniqueId=$slowid&"
if grep -q '/file/captcha.html?v' $f ; then
print "=== Detected captcha method \"Captcha image\" ==="
# extract the captcha link
local capurl=http://fboom.me"$(grep '/file/captcha.html?v' $f | sed -e 's/.*src=\"\([^\"]*\)\".*/\1/g')"
print "=== Extracted captcha link is: $capurl"
# get the captcha image
local capfile=$tmp/dl.captcha.jpg
curl -s --cookie $c "$capurl" -o $capfile
set_captcha_solution "$capfile" || continue
rm -rf $capfile
data=$data"CaptchaForm%5Bcode%5D="$CAPTCHA_STRING
elif grep -qE 'api\.recaptcha\.net|google\.com\/recaptcha\/api' $f.form ; then
print "=== Detected captcha method \"Re Captcha\" ==="
captcha_solution $f.form || return
[ -z "$CAPTCHA_STRING" ] && continue
data=$data"op=CaptchaForm%5Bcode%5D=&"$CAPTCHA_RESPOND
else
errmsg "Kein Captcha gefunden"
fi
GET "$param" "$f" "--cookie $c -d $data" "GET3" || { needReconnect; continue; }
if grep -qE 'api\.recaptcha\.net|google\.com\/recaptcha\/api|\/file\/captcha\.html' $f; then
captcha_wrong
continue
else
captcha_correct
fi
fi
errorHandling_fboom_me
waittime=$(grep -i "class=\"tik-tak\"" $f | sed -n 's|.*\"tik-tak\">\([[:digit:]]*\).*|\1|p')
[ -z "$waittime" ] && waittime=$(sed -n 's|.*<div id=\"download-wait-timer\">[^0-9]*\([[:digit:]]*\).*|\1|p' $f)
[ -z "$waittime" ] && errmsg "Konnte keine Wartezeit ermitteln" && waittime=60 # Fehler werfen oder weitermachen?
waiting "$waittime"
# Bekommen wir hier schon unseren DL Link?
urlpart=$(grep -i -m1 "To download this file with slow speed" $f | sed -n 's|.*href="\/\([^ "]*\).*|\1|p')
[ -z "$urlpart" ] && urlpart=$(grep window.location.href $f | sed -n 's|.*href.=..\/\([^ ]*\).*|\1|p' | tr -d "\';")
# Leider nein, es muss noch eine Seite geladen werden
#? if [ -z "$urlpart" ]; then
GET "$param" "$f" "--cookie $c $AJAX_REQUEST -d free=1&uniqueId=$slowid" "GET4" || { needReconnect; continue; }
errorHandling_fboom_me
if grep -qi -m1 "please wait.*to download this file" $f; then
hour=$(grep -i -m1 "please wait.*to download this file" $f | sed -n 's|.*wait.\([[:digit:]]*\):\([[:digit:]]*\):\([[:digit:]]*\).*|\1|p')
minute=$(grep -i -m1 "please wait.*to download this file" $f | sed -n 's|.*wait.\([[:digit:]]*\):\([[:digit:]]*\):\([[:digit:]]*\).*|\2|p')
second=$(grep -i -m1 "please wait.*to download this file" $f | sed -n 's|.*wait.\([[:digit:]]*\):\([[:digit:]]*\):\([[:digit:]]*\).*|\3|p')
waiting $second $(($minute+$hour*60))
fi
urlpart=$(grep -i -m1 "To download this file with slow speed" $f | sed -n 's|.*href="\/\([^ "]*\).*|\1|p')
[ -z "$urlpart" ] && urlpart=$(grep window.location.href $f | sed -n 's|.*href.=..\/\([^ ]*\).*|\1|p' | tr -d "\';")
[ -z "$urlpart" ] && errmsg "Konnte keine Download-URL ermitteln" && continue
#? fi
finalurl=$(echo ${baseurl}/${urlpart})
if download "$finalurl" "$filename"; then
#TODO: verify content/filesize (small filesize / html content...?)
break
fi
done
}
Dies funktioniert auch echt super, nur wenn die Fehlermeldung "errmsg "Du lädst schon von diesem Hoster"" kommt, dann will er 10 Minuten warten und macht trotzdem einen reconnect.
Hat jemand eine Ahnung warum er das macht?
Gruß
Stulle84
@bekant
Ich hab das mal auf meiner 7490 gemacht: Hier das Ergebnis:
# uname -a
Linux fritz.box 2.6.32.61 #2 SMP Mon Oct 27 16:49:55 CET 2014 mips GNU/Linux
# ls
cifs.ko_7360-2.6.32.61 cifs.ko_7370 cifs.ko_7390-2.6.32.41
# insmod cifs.ko_7370
insmod: can't insert 'cifs.ko_7370': invalid module format
# insmod cifs.ko_7360-2.6.32.61
insmod: can't insert 'cifs.ko_7360-2.6.32.61': unknown symbol in module, or unknown parameter
# insmod cifs.ko_7390-2.6.32.41
insmod: can't insert 'cifs.ko_7390-2.6.32.41': invalid module format
#
Es gibt doch aber die Einstellungen für ein NAS. Wofür sind die dann da?
Ich denke eine Freigabe macht nur dann Sinn, wenn die Box auch für den Internetzugriff freigegeben wird. Damit kann man schon mal ausschließen, dass Anfänger etwas versehentlich freigeben.
Hier macht es dann Sinn zu Überprüfen unter welchen Port die Freigabe statt findet:
websrv {
port = "80";
https_port = "443";
und zu schauen, ob der Internetzugriff erlaubt ist:
"internet_forwardrules" <-- dieser Eintrag ist nur vorhanden, wenn die Freigabe aktiviert wurde.
Mit diesen beiden Informationen, kann man dann die Regeln für die Internetfreigabe per Script eintragen.
PS.: Ich hab bei mir noch einen 2. Server gestartet. Auszug aus der guiinit.sh:
$BBox httpd -p $fl_port -h $fritzloadroot/ -c $pdir/config/flweb.conf -r FritzLoad
$BBox httpd -p 91 -h $fritzloadroot/ -r FritzLoad
Nun kann ich Fritzload aus dem Heimnetzwerk auf Port 91 ohne Passwort erreichen und aus dem Internet über Port 90 mit Passwort.
Gruß Stulle