.titleBar { margin-bottom: 5px!important; }

AVM websrv vs. DS-Mod httpd

Dieses Thema im Forum "Freetz" wurde erstellt von kriegaex, 8 Feb. 2007.

  1. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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).
     
  2. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Das "Modul" ist einfach herauszufinden und steht in jeder URL. Heißt glaub ich webcm.
     
  3. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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.
     
  4. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    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
     
  5. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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.
     
  6. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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...
     
  7. CuBe_X

    CuBe_X Neuer User

    Registriert seit:
    21 Apr. 2005
    Beiträge:
    68
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Berlin
    @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:
     
  8. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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.
     
  9. CuBe_X

    CuBe_X Neuer User

    Registriert seit:
    21 Apr. 2005
    Beiträge:
    68
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Berlin
    @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 ;)
     
  10. kriegaex

    kriegaex Aktives Mitglied

    Registriert seit:
    7 Nov. 2006
    Beiträge:
    2,927
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Projektmanagement-Coach (Certified Scrum Professio
    Ort:
    Großraum Nürnberg
    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.