Modifikationen der Fritzbox-Weboberfläche

Hallo mali,
type data.box | nc -w 1 fritz.box 49000 >nul
Könntest du mir das bitte mal etwas genauer erklären?
Von wo aus rufst du diesen Befehl auf (aus /var/tmp vielleicht)?
Was steht denn in deiner data.box drin bzw. wo finde ich die? :noidea:

Joe
 
Zuletzt bearbeitet:
Tippe diesen Befehl in eine .bat Datei ein.
Dann einen Doppelklick und die Box hat in 2 Sekunden einen neue IP.
 
Hallo mali,

ich habe das unter WinXP SP3 versucht und bekomme folgende Fehlermeldung:
Code:
C:\Temp>type data.box | nc -w 1 fritz.box 49000
Der Befehl "nc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Joe
 
Bei deinem Befehl fehlt ja ach noch etwas.
Öffne eine txt Datei und kopier das rein:

type data.box | nc -w 1 fritz.box 49000 >nul

und speicher die Datei als test.bat; dann sollte es gehen.
Ich benutze auch WinXP SP3.
 
Genau das hatte ich ja zuerst versucht (mit >nul ). Nachdem ich aber keine neue IP auf der FritzBox erhalten habe, hab ich den Befehl direkt in der Eingabeaufforderung eingegeben. Die Umleitung auf das NULL-Device ( >nul ) habe ich extra weggelassen um die Fehlermeldung sehen zu können.
In meiner XP-Installation gibt es leider den Befehl nc nicht.

[EDIT]
Was passiert denn bei dir, wenn du in der Eingabeaufforderung einfach nur nc eingibst?
Bei mir erscheint dann:
Code:
C:\Temp>nc
Der Befehl "nc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
[/EDIT]

Joe
 
Zuletzt bearbeitet:
Hallo Zusammen,

ich bin dabei ein Script zu erstellen, welches einen bestimmten WLAN-Client im AVM-Webinterface umbennent. Mein gedanke dazu ist, dass ja irgendwo ausgelesen werden muss, welche Clients gerade verbunden sind. Diese Liste möchte ich z.B. mit sed einfach manipulieren, umso die gewünschte Ansicht zu erreichen.

Jetzt such ich schon ne ganze Weile, hab bisher allerdings nur
Code:
 <? multiquery wlan:settings/APEnv/list(mac,ssid,rssi,channel) '
in der monitor.html gefunden, doch wo liegt diese Liste?

Vielleicht kann mir jemand von Euch weiterhelfen.
Danke im Vorraus.

Gruß Lemur
 
Mit an Sicherheit grenzendet Wahrscheinlichkeit in /var/flash *g*
 
Hallo cuma,

dachte ich auch zuerst, allerdings gibt es folgendes Proglem:

../ar7cfg LAN-IFs ja, WLAN-IFs nein, änderungen wirken sich nicht auf die Oberfläche aus
../multid.leases Nur 1. Wlan-Client, änderungen werden im Web übernommen, aber wo steht der Rest?
../wlan.cfg Garkeine Clients, nur die WLAN config ansich
../Rest Keine WLAN-Clients eingetragen

Im Webif kann man ja auch die Namen der Clients ändern, blos in welche Datei schreibt die Box das dann?
 
Nimm zum suchen grep oder cat. Bei mir habe ich keine eigenen Namen festgelegt und deshalb werden die generiert (und anscheinend nicht gespeichert)
 
Genau das hatte ich ja zuerst versucht (mit >nul ). Nachdem ich aber keine neue IP auf der FritzBox erhalten habe, hab ich den Befehl direkt in der Eingabeaufforderung eingegeben. Die Umleitung auf das NULL-Device ( >nul ) habe ich extra weggelassen um die Fehlermeldung sehen zu können.
In meiner XP-Installation gibt es leider den Befehl nc nicht.

[EDIT]
Was passiert denn bei dir, wenn du in der Eingabeaufforderung einfach nur nc eingibst?
Bei mir erscheint dann:
Code:
C:\Temp>nc
Der Befehl "nc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
[/EDIT]

Joe

Bei mir erscheint die selbe Meldung, wenn ich es per cmd mache
 
Hallo,

ich wollte den Thread mal wieder aufgreifen, da ich die Idee von rusmueller echt prima finde.
Ich kenne zwar die sispmctl-Lösung die in Freetz existiert, will nur nicht unbedingt freetz für ein Feature aufsetzten da ich lieber die letzte Firmware von AVM auf meiner FB hätte.

Mittlerweile hat sich das Web-UI ja ein wenig geändert und ich würde gerne rusmueller's Lösung auf einer aktuellen 7270 zum Laufen bekommen.
Hat jemand ähnliche Änderungen wie hier beschrieben auch an einer aktuellen Firmware versucht? Welchen ordner kann man denn am Besten verwenden, den Ordner Tools den rusmueller verwendet gibt es bei mir jedenfalls nicht mehr.
Auch würde mich interessieren, wie ich am Einfachsten einen neuen Eintrag in der aktuellen Version links in die Leiste bekomme.

Ich würde mich sehr freuen, wenn wir das Thema wieder ein wenig aufleben lassen könnten.

Gruß
q-stkr
 
Hallo,

ich habe mir das Thema am Wochenende angeschaut. Aber leider scheitere ich am Menüeintrag.

Ich habe die Datei menu_data.lua angepasst und dort einen neuen Eintrag erstellt. Dieser taucht auch auf, nur leider bekomme ich 2 Dinge nicht hin:

1. Menüeintrag in allen Menüs
Ich habe den Menüeintrag im main-Menü hinzugefügt, da ich es nicht geschafft habe ein zusetzliches Feld wie Fritz!NAS es hat zu erzeugen. Dieser Eintrag erscheint jedoch nur in der obersten Menü-Ebene.
Das ich keinen neuen Eintrag wie Fritz!NAS erzeugen kann scheitert daran, dass ich wahrscheinlich keine eigene Kategorie habe.
Weiß jemand wie ich das ganze machen kann?

2. Öffnen der neuen Seite
Wenn ich einen page-Eintrag in den Menüeintrag hänge wird die neue Seite nicht in der Fritzoberfläche (Hauptframe) geöffnet sondern es öffnet sich eine komplett neue Seite. Ist eigentlich auch logisch, da es nur ein Link ist.
Wie kann ich dies umgehen?
Wenn ich meine Seite an ein bestehenden Menüeintrag ranhänge, zum Beispiel wlan.html geht das ganze natürlich wie gewünscht, da der Eintrag in der Menüstruktur bereits bekannt ist.

Ich würde mich sehr feuen, wenn ihr mir noch ein paar Tipps geben könntet.

Gruß
q-stkr
 
Hallo q-stkr,

"zu meiner Zeit" gab es diese lua-Dateien noch nicht...

Bei mir geht folgendes:

In der Datei: /var/html/menus/menu_data.lua an geeigneter Stelle ergänzen:
Code:
menu.add_item{
page = "/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:menu=help&var:pagename=gsm&",
text = [[Homecontrol]],
menu = "main",
}
-------------------------------------------------------------------------------

Und in der Datei /var/html/html/de/menus/menu2_home.htm ebenfalls einen Abschnitt an geeigneter Stelle kopieren und anpassen:
Code:
<? eq $var:menu system `
<li class="selected submenu_last">
<a href="javascript:jslGoTo('help','gsm')">Homecontrol</a>
<ul>
<? include ../html/de/menus/menu2_wlan.html ?>
</ul>
</li>
` `
<li class="LMenuitemTop">
<a href="javascript:jslGoTo('help','gsm')">Homecontrol</a>
</li>
` ?>
Das Directory /var/html/html/de/help ist leer und eignet sich zum Überladen, zum Test habe ich das Directory GSM dort umkopiert. Deshalb wird im Beispiel auch "help" und "gsm" verwendet.
Ich hab ein kleines Script geschrieben (bin da nicht der Experte), was das - hoffentlich - macht (bei mir auf einer 7270v3 mit SW 74.05.05 läuft es). Der vi verhält sich ebenfalls nicht mehr wie gewohnt (wie bekommt man ein funktionierendes ESC-Zeichen da rein...) deshalb nimmt das Script einen Umweg über eine Datei.

Hoffe das hilft,

Gruss, Reiner
 

Anhänge

  • menu-ext.zip
    599 Bytes · Aufrufe: 11
Zuletzt bearbeitet:
Hallo,

das Skript ist doch prima! Funktioniert einwandfrei. Ich habe es mal in deinen homecontroller eingebaut (siehe Anhang).
Es funktioniert auch nach ein paar kleineren Anpassungen, nur manchmal gint es noch ein Problem mit dem history.back(). Das refresh musste ich rausmachen, da er sonst das falsche refreshed hätte.

Vielleicht hat ja noch jemand eine andere Idee?!

Weißt du eigentlich, wie man einen Extra-Eintrag im Menü so wie Fritz!Nas erstellt?

Gruß
q-stkr
 

Anhänge

  • homecontrol2.tar
    104 KB · Aufrufe: 6
Eine Frage:
Wäre es so auch möglich eine neues Unterverzeichnis in der Root des Fritzbox Webif anzulegen und diese komplett auf der Box zu hosten?
Also nicht nur ein link auf eine externe Seite und eben nicht "nur" die Veränderung einer vorhandenen Seite?

Hintergrund:
Ich würde gerne ein Script basteln welches das Fritzbox Telefonbuch auf ein Cisco-Telefonbuch umsetzt und per Fritzbox WebIF für meine Phones bereitstellt.
Dazu würde ich aber am liebsten nichts am original WebIF selbst ändern, sondern eben eine neue Seite a la "http://fritz.box/Directory.xml" basteln.

Mit "mount -o bind /tmp/testpage /usr/www/avm/help/" kann ich zwar ein von mir ungenutzes Verzeichnis dafür missbrauchen und per "http://fritz.box/help/<filename>" aufrufen, aber es geht ums Prinzip :)
 
Zuletzt bearbeitet:
Hallo,

ich scheiß nicht ob ich dich richtig verstanden habe ...
Dies ist nur eine theoretisch Überlegung:
Du kannst ja an jeder Ebene bei mounten ansetzen. Du könntest ja das komplette HTML-Verzeichnis kopieren und das Zielverzeichnis dann mounten. Dort kannst du alles reinwerfen. Aber ob der Webserver das dann versteht und dir auch wirklich die Directory.xml zurückgibt weiß ich nicht.
Probier es doch mal aus und berichte mal! :D

Vielleicht weiß ja jemand anders mehr!?

Gruß
q-stkr
 
Stimmt schon (steht ja auch weiter vorne).
Ich vergas zu erwähnen das ich vermeiden wollte alles zu kopieren. Ich könnte natürlich nur die webroot an sich nehmen und die Unterverzeichnisse zurückverlinken auf das original fs (per Symlink?) so das ich dann in /tmp/ eine webroot hätte mit "virtuellen" Verzeichnissen des Original-Webif, nur das ich das frei ergänzen könnte :)
Oder sehe ich das falsch?

EDIT:
Also mit Symlinks geht das glaube ich nicht.
Linke ich /var/flash/phonebook nach /temp/webhelp/Directory.xml kann ich per fritz.box/help/Directory.xml das nicht aufrufen.
Wenn ich die Datei kopiere dann schon.

Jetzt brauch ich "nur noch" ein Script das das phonebook alle Stunde nach /tmp/webhelp/Directory.xml ins Cisco Format konvertiert *g*
 
Zuletzt bearbeitet:
Hallo Rusmueller,

seit ein paar Tagen gibt es wiedere in Update für die 7270 mit Fritz!OS.
Es scheint sich wieder die Struktur geändert zu haben. Der Menüeintrag geht mittlerweile etwas anders, weswegen das Script leider nicht mehr so ganz funtioniert.
Ich habe das ganze mal manuell nachvolzogen. Den Eintrag im Menü habe ich wieder reinbekommen. Einfach unter dem Submenü von zum Beispiel DECT eingehängt:
Code:
...

submenu = 'dect',
text = [[{?3505:7329?}]],
menu = "main"
}
menu.add_item{
page = "/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:menu=help&var:pagename=gsm&
text = [[Homecontrol]],
menu = "main"
}
menu.add_item{
...
Per Script bekomme ich es gar nicht ausgeführt. Es heisst immer "vi: can't read user input". Die Suchparameter habe ich angepasst.

Die selbe Fehlermeldung bekomme ich auch, wenn das Script weiter läuft.
Wie auch immer, wenn ich dann auf Homecontroll in der Weboberfläche klicke gebe ich das Passwort ein. Dann erscheint wieder die originale Oberfläche ohne den Menüeintrag aber 2x mit System. Anschließend erfolgt ein Autorefresh und es ist wieder die normale Seite mit dem Eintrag Homecontroll da.

So wie es aussieht hat sich die HTML-Datei auch geändert.

Hast du eine Idee woher der vi-Fehler kommt, bzw. hast du dich schon mit der geänderten Struktur auseinander gesetzt?

Gruß
q-stkr
 
Hallo,

das hat jetzt etwas Zeit gekostet das zu finden...
Der neue vi merkt sich wohl "was" und versucht das beim nächsten Aufruf wieder herzustellen. Als Abilfe funktioniert z.B. am Anfang des here-Files den Cursor explizit auf Anfang setzen ":1". Die Syntax im Menu hat sich nur minimal geändert, es fehlen die -------- - Zeilen und damit geht sich Suche schief. Bei mit funktioniert folgende Änderung:
Code:
vi $WEB/menu_data.lua << EndOfHereFile >/dev/null
:1
/system
/menu
/}
:r $tmpfile
:wq
EndOfHereFile

Gruss, Reiner
 
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.