URL für Konfig-Sicherung

AleksCee

Aktives Mitglied
Mitglied seit
4 Jan 2007
Beiträge
872
Punkte für Reaktionen
0
Punkte
16
Hallo!

Ich habe mir überlegt das ich meine config der Box mit wget täglich sichern will.
Da in JFritz ja auch sehr viele URLs (z.B. der Export der Anrufliste) direkt anspricht - dachte ich das ich mit der Frage hier gut aufgehoben bin.

Kann mir einer der Entwickler evtl. helfen? Ich habe mit einem Header-Analysierer für den Firefox schon die URL herausbekomme nur aus den Post-Daten werde ich nicht so ganz schlau.... was muss man tut wenn man einfach nur die Konfig haben will als wget Ergebnis?

URL ist wohl diese hier http://fritz.box/cgi-bin/firmwarecfg jedenfalls geht da der POST hin - aber die Daten:
Code:
POSTDATA =-----------------------------nummern
Content-Disposition: form-data; name="ImportExportPassword"

-----------------------------nummern
Content-Disposition: form-data; name="ConfigExport"

Sind mir nicht so ganz schlüssig - das scheint ja ein Multi-Post zu sein aber wie mach ich sowas mit wget?

Danke & Gruß, Alex
 
Da hättest Du eher Olistudent fragen sollen. Dessen FBeditor macht ja genau das schon, was Du vorhast. Ich weiß nicht, ob der Thread schon die gewünschten Angaben enthält, ansonsten vielleicht mal anklopfen, ob er hier reinschaut. ;-)

Hab Dich auch mal in "andere Software" verschoben...
 

Das ist genau die Baustelle, an der auch die VoIP-Accounts aus der Box ausgelesen werden. Schau mal in einem der älteren Beiträge. Die dort abgebildete Schaltfläche Config export sollte Dir helfen.

Unter fritzboxdial.js findes Du die Funktion
Code:
// Get 'fritzbox.export' which means all configuration data.
// Just only view the settings of the box. For now.
// This was most complicated part of my work, because I had 
// to learn about of complicated creation of requestbody.
// The argument 'strResultFunc' is provided by calling this 
// function from 'getConfig.xul'.

function getConfig(strResultFunc, cfghost) {
	var url = 'http://' + cfghost + '/cgi-bin/firmwarecfg';
	var requestbody = '--12345678987654321' + '\n'
			+ 'Content-Disposition: form-data; name="ConfigExport"' + '\n'
			+ '\n'
			+ '\n'
			+ '--12345678987654321';

	xmlhttpPost('POST', 'cfgs', url, requestbody, strResultFunc);
}
Vielleicht kann man das noch besser hinbekommen, aber so funktioniert es zumindest.
 
Zuletzt bearbeitet:
Frage noch dazu: Wo wird denn das Box-Passwort übermittelt?
Soweit ich mich erinnere, wird das Kennwort bei jedem Öffnen des Dialerpads - und wahrscheinlich auch beim Öffnen des getConfig.xul-Fensters - gesendet. Meine damaligen Versuche haben ergeben, daß es besser war, jeder Aktion eine separate Kennwort-Eingabe vorauszuschicken.
 
Reicht da dann ein POST wie man es normal kennt mit var passwort=xxxx oder muss ich das auch so kryptisch machen?

Sorry das ist dann auch die letzte Frage - ich will da nicht so viel rumprobieren wenn es ja schon jemanden gibt der weiß wie es geht - man muss die Box ja nicht unnötig zum Absturzen bringen so stabil wie sie läuft ;)
 
Kennwort-Übermittlung genau so wie im Web-Interface

Reicht da dann ein POST wie man es normal kennt mit var passwort=xxxx oder muss ich das auch so kryptisch machen?
Ganau so, wie auch das Web-Interface der Fritz!Box das Kennwort übermittelt - warum solltest Du es anders machen wollen???
 
Ganau so, wie auch das Web-Interface der Fritz!Box das Kennwort übermittelt - warum solltest Du es anders machen wollen???

Ja, ich mags auch so machen wie die Box - aber wie genau macht's sie denn?
 
Ok, ich hab's - wer mag kann es von mir bekommen.
mit wget die AB und die config sichern in einem kleinen shell-script.

Gruß, Alex
 
Hi.
Ich bin grad etwas im Klausurstreß...

Hat sich das Problem also gelöst?

MfG Oliver
 
Ich bin grad etwas im Klausurstreß...

Dann von mir mal viel Glück/Erfolg

Hat sich das Problem also gelöst?

Könnte man so sagen - es funktioniert auf jeden Fall was ich vor hatte.
Mein NAS holt sich jeden Tag um 20 den Inhalt vom USB-Stick und die Konfig der Box.... wenn Du magst kannst Du ja ein Codereview machen, dann würde ich es hier mal posten... ach ich mach's einfach mal... :)


Code:
# cat backup_fritz.box


#!/bin/sh
DAY=$(date '+%a')
TIME=$(date '+%Y%m%d_%H%M%S')
mkdir -p /[B]mein_path[/B]/FritzBOX_USB/${DAY}
cd /[B]mein_path[/B]/FritzBOX_USB/${DAY}
ping -c 1 fritz.box > /dev/null
if test $? -eq 0;then
        BOX_Password='[B]xxxxxxxxxxxxx[/B]'
        wget -r -nv ftp://fritz.box/ > ./backup.log 2>&1

        #Login und FW ermitteln
        wget -O fw_version.txt --post-data='getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&errorpage=..%2Fhtml%2Findex.html&var%3Alang=de&var%3Apagename=home&var%3Amenu=home&login%3Acommand%2Fpassword='$BOX_Password http://fritz.box/cgi-bin/webcm >> ./backup.log 2>&1
        FW=$(sed -n '/Firmware-Version/ { s/.*Firmware-Version // ; s/<\/td>$//; p}' fw_version.txt)
        rm fw_version.txt

        #Config-Save
        wget -O ${TIME}_fritzbox_${FW}.export --post-data='--12345678987654321
        Content-Disposition: form-data; name="ConfigExport"


        --12345678987654321' http://fritz.box/cgi-bin/firmwarecfg >> ./backup.log 2>&1
else
        echo "can't reach the fritz.box...." > ./backup.log
fi
# weil der script als root läuft - geht nicht anderes weil man nur per root auf die shell kommt bei dem NAS.
chown -R [B]mein_user[/B]:users /[B]mein_path[/B]/FritzBOX_USB/${DAY}

Das Teil legt dann einen Ordner an mit dem Wochentag als Namen.
Darin liegen dann alle Daten die über den FTP-Server der Box erreichbar sind - was bei mir nur der USB-Stick mit den AB-Daten ist. Sonst muss man halt die URL anpassen wenn man nicht alles haben will.
Und es liegt da eine Datei mit dem Export der Config in der Form:

20080304_155703_fritzbox_54.04.55-10393.export
20080304_164243_fritzbox_54.04.55-10409.export
usw... je nachdem wie oft man es aufruft ;-) die USB-Daten werden pro Tag aber nur einmal geladen bzw. immer wieder überschrieben bei jedem Aufruf oder nach einer Woche....
Das in fett muss von jedem selber angepasst werden... :-D
 
Zuletzt bearbeitet:
Update vom Script

Es kam mit der Versionserkennung nicht mehr so klar nachdem AVM so ein Hinweis in den Kasten oben mit reingemacht hat. Also hier mal ein Update:

Code:
NAS> cat backup_fritz.box
#!/bin/sh
# Init
DAY=$(date '+%a')
TIME=$(date '+%Y%m%d_%H%M%S')

# Ordner anlegen und hinein wechseln
[B]mkdir -p /FritzBOX_USB/${DAY}
cd /FritzBOX_USB/${DAY}[/B]

# gucken ob die Box auch erreichbar ist.
ping -c 1 fritz.box > /dev/null
if test $? -eq 0;then
        BOX_Password='[B]xxxxxxxxxxxx[/B]'
        # alte AB-Nachrichten löschen und neue downloaden
        test -d ./fritz.box && rm -r ./fritz.box
        wget -r -nv ftp://fritz.box/ > ./backup.log 2>&1
        #Login und FW-Version ermitteln
        wget -O fw_version.txt --post-data='getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&errorpage=..%2Fhtml%2Findex.html&var%3Alang=de&var%3Apagename=home&var%3Amenu=home&login%3Acommand%2Fpassword='$BOX_Password http://fritz.box/cgi-bin/webcm >> ./backup.log 2>&1
        FW=$(sed -n '/-Version.*<\/td>$/ { s/.*-Version // ; s/<\/td>$//; p}' fw_version.txt)
        rm fw_version.txt
        #Config-Save
        wget -O ${TIME}_fritzbox_${FW}.export --post-data='--12345678987654321
        Content-Disposition: form-data; name="ConfigExport"


        --12345678987654321' http://fritz.box/cgi-bin/firmwarecfg >> ./backup.log 2>&1
else
        echo "can't reach the fritz.box...." > ./backup.log
fi
chown -R [B]user[/B]:users [B]/FritzBOX_USB[/B]/${DAY}

Path, user und Passwort alles FETT muss angepasst werden.
 
Ich hätte dazu noch eine Frage.

Wird beim Export der Einstellungen in eine fritzbox.export-Datei (jetzt unabhängig ob über eigenes Skript oder über die Weboberfläche) auch die Anrufliste mit gesichert?

Als ich die .export-Datei mal mit nem Texteditor geöffnet habe, konnte ich nichts derartiges finden, höchstens in einer dieser im Hex-Format gesicherten Binärdateien.

Ich fänd es ziemlich blöd, wenn die Anrufliste immer mitgesichert würde. Ich habe allerdings leider fast das Gefühl, dass es so ist, denn die .export ist von Mal zu Mal kleiner oder größer!

Weiß jemand dazu was, oder weiß sogar sicher ob oder ob sie nicht mit gesichert wird?

Danke schonmal!!

Gruß kzuse
 
Ja so wie es aussieht wird nicht nur das Telefonbuch sondern auch die Anrufliste, Sprachübertragungen für VoIP und das Systemlog mit gesichert. Daher mache ich für einen sauberen Export immer diese 2 Dinge leer und mache dann eine Sicherung von Hand.
 
54.04.63-11876 Labor

In der Labor hat AVM sich mal wieder im HTML-Code ausgetobt.

Der SED müsste angepasst werden auf diese Zeile hier:

Code:
 FW=$(sed -rn '/-Version( |&nbsp;).*(<\/td>)?$/ { s/.*-Version( |&nbsp;)// ; s/(<\/td>)?$//; p}' fw_version.txt)

Gruß, Alex
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,162
Beiträge
2,247,158
Mitglieder
373,688
Neuestes Mitglied
Alf777
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.