AVM websrv vs. DS-Mod httpd

kriegaex

Aktives Mitglied
Mitglied seit
7 Nov 2006
Beiträge
2,927
Punkte für Reaktionen
3
Punkte
36
Wenn man sich die Webseiten-Templates der Original-Weboberfläche so anschaut, sieht man, daß da am Server eine Template Engine laufen muß, die solche Ausdrücke wie
Code:
<? include ../html/$var:lang/home/home.inc ?>
<? setvariable var:DSLTrainingState "$var:txt009" ?>
<? if eq `<? query sar:status/dsl_carrier_state ?>` `3` `<? setvariable var:DSLTrainingState "$var:txt034" ?>` ?>
<? if eq `<? query sar:status/dsl_carrier_state ?>` `4` `<? setvariable var:DSLTrainingState "$var:txt034" ?>` ?>
<? if eq `<? query sar:status/dsl_carrier_state ?>` `5` `<? setvariable var:DSLTrainingState "$var:txt010" ?>` ?>
<? if eq `<? query box:settings/ata_mode ?>` `1` `<? setvariable var:DSLTrainingState "$var:txt050" ?>` ?>
ersetzt, bevor die Seiten zum Client geschickt werden. Dortselbst wird dann noch eine Menge Javascript verwendet, aber das nur nebenbei. Mich interessiert dieser Template-Mechanismus am Server. Evtl. könnte man den für die DS-Mod-Oberfläche auch benutzen, je nachdem, wie generisch er ist. Evtl. wäre websrv sogar eine Alternative zum httpd. Hat sich schon einmal jemand damit auseinandergesetzt bzw. diesen Template-Mechanismus erforscht? Er parst ja offenbar Ausdrücke in einer funktionalen Mini-Sprache. Mich würde interessieren, welche(s) Modul(e) für die Verarbeitung zuständig ist (sind).
 
Das "Modul" ist einfach herauszufinden und steht in jeder URL. Heißt glaub ich webcm.
 
danisahne schrieb:
Das "Modul" ist einfach herauszufinden und steht in jeder URL. Heißt glaub ich webcm.

Sieht man im Browser nicht, weil da nur Javascript-Befehle stehen. Aber wenn man schaut, wie die expandiert werden bzw. ein Analyse-Tool nimmt, sieht man es. Da hätte ich selbsrt drauf kommen sollen. #-) Aber manchmal ist es einfacher zu fragen, wenn man auf dem Schlauch steht. Danke.
 
Lass doch mal nur den inneren Frame der Konfigurationsseiten anzeigen. Die AVM Webseiten werden alle in einem Frame dargestellt, um die etwas länglichen URLs zu verbergen.

Mfg
danisahne
 
Genau das habe ich vorhin gemacht, danke.

Immerhin habe ich jetzt eine Liste der unterstützten Template-Funktionen aus dem Binary gezogen. Jetzt müßte ich nur noch zu jedem herausfinden, was im Hintergrund aufgerufen wird, um die Ausgaben zu erzeugen. Manche sind ja trivial, aber andere wieder nicht.
 
Einzelne Variablen lassen sich in /var/config.def setzen, beispielsweise so:
<? setvariable var:isTSB 1 ?>
Woher die internen Abfragen zu den Einstellungen kommen und wie man solche eventuell eintragen könnte, hab ich leider auch noch nicht rausgefunden.

Die Sources zum webcm wären ganz nett :)
webcm läuft ja anscheinend auch auf Linksys und D-Link Routern...
 
@kriegaex:
Hm wie wäre es mit einem wrapper? Müsstest dann wohl eine mod-Firmware flashen.

Was mich interessieren würde: womit hast du die unterstützen template-funktionen aus dem binary gezogen? :gruebel:
 
Einfach in einem Editor bzw. Viewer, z.B. mcview (Viever des Midnight Commander). F3, dann wahlweise Textansicht (am besten mit eingeschaltetem Umbruch) oder Hexadezimalansicht. Noch besser ist es mit dem UNIX-Werkzeug string.
 
@kriegaex

Aso einfach, alles klar :)

Denke mal dass es mit einem Wrapper am einfachsten wäre an die gewünschten Ausgaben zu kommen. Werde ich in Angriff nehmen wenn ich das Problem mit deiner Rudi-Shell gelöst habe ;)
 
Ich habe das nicht mehr weiter verfolgt mit dem webcm, nur heute habe ich mal ge-trace-t, was passiert, wenn man was an den Portfreigaben ändert, damit ich das auch selbst per Shell-Skript erledigen kann, ohne UPnP aktivieren zu müssen.
 
Kostenlos!

Statistik des Forums

Themen
247,839
Beiträge
2,274,698
Mitglieder
376,852
Neuestes Mitglied
sophiabrown73