Apps für Fritzbox (Wunschliste - Fortsetzung)

@woweil:
Hab nun die Step by Step Anleitung aktualisiert und hidden root hinzugefügt. Getestet habe ich das allerdings nicht an einer echten Box.

Mfg,
danisahne
 
fischefr schrieb:
Wenn ich Webseiten auf der Box verändern/hinzufügen will, stehe ich vor einem Problem: Die Seiten liegen in einem Unterverzeichnis von var, was wiederrum im Hidden Squashfs liegt (was immer das genau ist). Kann ich da analog zum Verändern von filesystem.image vorgehen, oder muss ich da was beachten?
Hi.
Ich glaube du hast da was falsch verstanden. ;)
Das Hidden Squashfs ist ein Bereich im mtd1 (Kernel). Da der Kernel nicht die ganze Partition braucht hat AVM noch ein "kleines" squashfs hinten dran gemacht, um den vorhandenen Platz im Flash besser zu nutzen.
Darin liegt das tar-Archiv var.tar, das beim Start der Box nach /var entpackt wird.
Unter /var/html ist jetzt ein Link nach /usr/www/avm.
Code:
lrwxrwxrwx    1 root     root           12 Sep  8  2002 html -> /usr/www/avm
Der wird in einer Datei aus /etc/init.d/rc.* erzeugt.
Die eigentlichen Webseiten liegen unter /usr/www!
Wenn du Webseiten ändern willst, dann musst du entweder alle Seiten rauskopieren und den Link umbiegen, oder du "überschreibst" eine bestimmte Seite (oder ein Verzeichnis) mit "mount -o bind foncalls.js /usr/www/all/html/de/fon/foncalls.js" (Beispiel)

MfG Oliver
 
Eigentlich wollte ich Seiten hinzufügen...
Insbesondere bei cgi-bin hab ich dann wohl keine Möglichkeit, mount -o bind zu umgehen. (nicht schön, aber nicht hinderlich für mein Vorhaben)

Ich stehe allerdings momentan vor einem anderen Problemchen: Ich müsste wissen, welche Codetabelle in der Konsole zum Einsatz kommt.
Ich habe echo -e '\344' ausprobiert und ein ä erwartet, geht aber leider nicht.
 
Code:
/var/mod/root # echo -e '\344'
ä
/var/mod/root #
Liegt das jetzt an der busybox oder an der uClibc?

fischefr schrieb:
Insbesondere bei cgi-bin hab ich dann wohl keine Möglichkeit, mount -o bind zu umgehen.
Dann "mounte" doch das ganze cgi-bin-Verzeichnis.

MfG Oliver
 
Wenn du das ä für die HTML Seite brauchst, dann würde ich eh ä nehmen
 
Hallo danisahne,

zwischenzeitlich habe ich das Einbinden von eigenen Binaries getestet. Es funktioniert leider nicht. Das neue Image wird offensichtlich vernünftig erstellt. Denn wenn ich es erneut extrahiere und auch das dumpsquashfs in entsprechender Form durchführe, finde ich das hinzugefügte Binary (in diesem Falle testweise /usr/bin/mc).

Auf der Fritz!Box hole ich mir dieses image per wget von meinem Rechner. Zugleich wird es über eine Pipe durch tar geschickt, so daß ich unter /var das image extrahiert habe. Vorher habe ich noch /bin/prepare_fwupgrade ausgeführt, das im Wesentlichen einige daemons killt und auch die DSL-Verbindung kappt.

Anschließend habe ich dann /var/install ausgeführt. Es gibt keine Fehlermeldung von sich.
Nach einem anschließenden Reboot ist mc aber unter /usr/bin/ nicht zu finden.

PS: Das Upgrade über den Browser klappt nach wie vor nicht. Der Support berichtet lediglich, bei ihnen habe das Upgrade über den Browser geklappt. Deshalb auch mein oben beschriebener Weg.

MfG

Wolfram
 
Ich habe auch ein Phänomen, das ich nicht ganz verstehe:

Ich habe die Original-AVM-Firmware drauf (nach Recovery), spiele dann eine modifizierte Firmware mit der gleichen Versionsnummer auf: klappt.

Wenn ich jetzt die Firmware gleicher Version erneut verändere und über Browser aufspielen will, geht die Box beim Flashen in den Blink-Zustand, bootet aber nicht neu. X Minuten später ziehe ich den Stecker, und was sehen ich? Box läuft aber die Firmware ist nach wie vor unverändert.

Irgendwie versteh ich das nicht, hätte erwartet dass es gar nicht geht (gleiche Versionsnummer) oder beliebig oft, aber es klappt nur 1x nach einem Recovery.

Gretchenfrage: warum?

P.S.:

zu der Sache mit dem ä: das war nur ein Anzeigeproblem. Auf der Konsole wurde es nicht angezeigt, aber wenns ichs in eine Datei umleite und dann die Datei mit vi betrachte sehe ich das ä.
Wo ich schon dabei bin: Du weißt nicht zufällig quasi ein Synonym für "read -n $CONTENT_LENGTH" ? Die Box kennt leider den -n Parameter nicht und brauche das, um via Post übergebene Parameter in einem cgi-Skript auszulesen (es folgt KEIN newline nach der Zeile, aber die Länge steht in $CONTENT_LENGTH)
 
Ich benutze modcgi (ein von mir verändertes proccgi) um einen POST abzufangen.
 
Hallo fischefr,

inzwischen ist es mir das Flashen doch gelungen. Allerdings auf recht skurile Weise.

Das modifizierte Image (ansonsten selbe Version wie auf der Box) habe ich zunächst übertragen mit Web-Frontend. Dies dauerte auch schon nach meinen bisherigen Versuchen verheißungsvoll lange. Dann kam plötzlich sinngemäß die Meldung, daß das Upgrade aus unbekannten Gründen nicht weiter durchgeführt werden kann.
Sofort mit telnet eingeloggt und unter /var und /var/tmp/nachgeschaut. Alle Dateien waren noch vorhanden, so wie sie im tar-Archiv auch zu sehen sind.
Unter /var/tmp war auch eine Datei update_error.log. In der stand, daß das Filesystem nur readonly sei. Für mich irgendwie selbstverständlich und deshalb einige Verwunderung auslösend.
Dann habe ich halt /var/install ausgeführt. Es gab keine Fehlermeldung. Nach Abschluß habe ich die Box rebootet.
Und sieh da: Der testweise installierte Midnight Commander war vorhanden und ließ sich aufrufen.
Merkwürdig finde ich schon das ganze Verhalten der FBF. Vielleicht gelingt es Dir auf diesem Wege auch. Übrigens es ist die 5010.

MfG

Wolfram
 
woweil schrieb:
Hallo fischefr,

inzwischen ist es mir das Flashen doch gelungen. Allerdings auf recht skurile Weise.

Das modifizierte Image (ansonsten selbe Version wie auf der Box) habe ich zunächst übertragen mit Web-Frontend. Dies dauerte auch schon nach meinen bisherigen Versuchen verheißungsvoll lange. Dann kam plötzlich sinngemäß die Meldung, daß das Upgrade aus unbekannten Gründen nicht weiter durchgeführt werden kann.
Sofort mit telnet eingeloggt und unter /var und /var/tmp/nachgeschaut. Alle Dateien waren noch vorhanden, so wie sie im tar-Archiv auch zu sehen sind.
Unter /var/tmp war auch eine Datei update_error.log. In der stand, daß das Filesystem nur readonly sei. Für mich irgendwie selbstverständlich und deshalb einige Verwunderung auslösend.
Dann habe ich halt /var/install ausgeführt. Es gab keine Fehlermeldung. Nach Abschluß habe ich die Box rebootet.
Und sieh da: Der testweise installierte Midnight Commander war vorhanden und ließ sich aufrufen.
Merkwürdig finde ich schon das ganze Verhalten der FBF. Vielleicht gelingt es Dir auf diesem Wege auch. Übrigens es ist die 5010.

MfG

Wolfram


@woweil: Ich habe damit ja kein Problem, mich verwundert es nur einfach...

danisahne schrieb:
Ich benutze modcgi (ein von mir verändertes proccgi) um einen POST abzufangen.

War ja klar, dass du dafür schon wieder eine Lösung parat hast ;-)
Ich weiß zwar nicht, was proccgi ist, aber sprich ruhig weiter, das klingt interessant...
Abgesehen davon fällt mir für das Problem auch ansonsten keine Lösung ein. Kollegen haben gemeint, ich solle mir doch Perl für meine Skripte kompilieren... - allerdings hab ich bis jetzt nur die Busybox auf die Reihe bekommen und die ist ja idiotensicher. Hat von euch schon mal jemand die Idee mit Perl ins Auge gefasst? (mal ganz unabhängig von meinem Post-Problem)

Habe mir jetzt übrigens openssl von dem mod kompiliert, aber wie linke ich da libssl statisch rein? Die fehlt ihm namlich noch.
 
Zuletzt bearbeitet:
Linke doch einfach dynamisch, der Mod erzeugt nur das Shared Object. Perl kannst du ganz vergessen, das ist viel zu groß und umfangreich. Shell Skripte sind da weit besser geeignet (auch wenn mir das Programmieren in der sh irgendwie auch nicht so viel Spass macht.

modcgi funktioniert so:

Im Shell CGI Skript rufst du modcgi auf, welches die POST Daten ließt und als Ausgabe Shell Syntax liefert, welches man über eval auswerten kann. Zum Beispiel:
Code:
eval $(modcgi var1:var2 myprefix)
Danach kannst du die Variablen MYPREFIX_VAR1 und MYPREFIX_VAR2 direkt verwenden. Sie enthalten den Wert der Steuerelemente mit Namen var1 und var2 aus dem Formular, welches abgesendet wurde. Es werden nur POST (bzw GET, wenn keine POST Daten vorliegen) Felder mit den Namen var1 und var2 ausgewertet.

Mfg,
danisahne
 
danisahne schrieb:
Linke doch einfach dynamisch, der Mod erzeugt nur das Shared Object. Perl kannst du ganz vergessen, das ist viel zu groß und umfangreich. Shell Skripte sind da weit besser geeignet (auch wenn mir das Programmieren in der sh irgendwie auch nicht so viel Spass macht.

modcgi funktioniert so:

Im Shell CGI Skript rufst du modcgi auf, welches die POST Daten ließt und als Ausgabe Shell Syntax liefert, welches man über eval auswerten kann. Zum Beispiel:
Code:
eval $(modcgi var1:var2 myprefix)
Danach kannst du die Variablen MYPREFIX_VAR1 und MYPREFIX_VAR2 direkt verwenden. Sie enthalten den Wert der Steuerelemente mit Namen var1 und var2 aus dem Formular, welches abgesendet wurde. Es werden nur POST (bzw GET, wenn keine POST Daten vorliegen) Felder mit den Namen var1 und var2 ausgewertet.

Mfg,
danisahne


Du setzt da aber jetzt vorraus, dass dein mod benutzt wird, oder?
Ich benutze das Original von AVM, wobei ich nur die Busybox ausgetauscht habe.
 
Hallo
Ich habe gerade das hier gefunden:
http://sourceforge.net/projects/tuxcast

Das ist ein Podcatcher, also ein Programm, welches Podcasts herunterläd. Könnte das vieleicht jemand für die FritzBox compilieren, denn mehrere Video Podcasts herunterzuladen dauert bei 384kbit/s schon sehr lange, somit könnte die FritzBox diese z.B. in der Nacht runterladen und auf der Festplatte oder USB Stick abspeichern.

[EDIT] Ich sehe erade das es da ja gar keinen Download gibt.
Vieleicht geht ja dieser http://freshmeat.net/projects/castget/

mfg
 
Zuletzt bearbeitet:
SophîaPêtríllo schrieb:
Hallo
Ich habe gerade das hier gefunden:
http://sourceforge.net/projects/tuxcast

Das ist ein Podcatcher, also ein Programm, welches Podcasts herunterläd. Könnte das vieleicht jemand für die FritzBox compilieren, denn mehrere Video Podcasts herunterzuladen dauert bei 384kbit/s schon sehr lange, somit könnte die FritzBox diese z.B. in der Nacht runterladen und auf der Festplatte oder USB Stick abspeichern.

[EDIT] Ich sehe erade das es da ja gar keinen Download gibt.
Vieleicht geht ja dieser http://freshmeat.net/projects/castget/

mfg


Tuxcast ist in C++ geschrieben, soweit ich das mit bekommen habe, hat es bisher noch nicht mal Danisahne geschafft, einen C++-Crosscompiler für die Box hin zu bekommen. Den Download gibts übrigens sehr wohl!
Bei Castget könntest du eher Chancen haben, evtl. probierts ja mal jemand...
 
Spam Filter

Hi Ihr,

mir ist noch eine sinvolle App gekommen für die FritzBox. Wenn ich von der Box mir mit einer Standalone Anwendung mein Pop Account regelmässig von Spam filtern lasse bekomme ich bei checkmail wirklich nur Mails per LED signalisiert wenn was sinnvolles da ist.

Die Deluxe Version wäre natürlich spamassassin aber eine schlankere für die Box leichter portierbare Version müsste eher mailfilter sein.

Ein Kollege von mir betreibt mailfilter seit geraumer Zeit als simple Standalone Anwendung auf seinem Linux Rechner.

Gruß frucht_gummi
 
mailfilter bekomm ich so nicht durch den compiler.
./configure --target=mipsel-linux --host=mipsel-linux --build=i386-pc-linux-gnu

und die flags im makefile angepasst:
-Os -W -Wall -pipe -march=4kc -Wa,--trap
Code:
rcfile.cc:2123: error: 'rcFlexLexer' is not a class or namespace
rcfile.cc: In function 'int rcFlexLexer(std::istream*, std::ostream*)':
rcfile.cc:1470: warning: control reaches end of non-void function
make[2]: *** [rcfile.o] Fehler 1
make[2]: Verlasse Verzeichnis »/media/hda2/mailfilter-0.7.1/src«
make[1]: *** [all-recursive] Fehler 1
make[1]: Verlasse Verzeichnis »/media/hda2/mailfilter-0.7.1«
make: *** [all] Fehler 2

;( aber ich bin eh nicht der profi im binaries basteln...

vielleich bekommt es ja nen student hin, :) ...
 
fischefr schrieb:
Danke, probier ich aus, aber das Ding hat 1,8 MB und war nicht mal gestript - wär schon, wenn das jemand kleiner hin bekommt, so bekomm ichs auf jeden Fall nicht in den Flash
Um gegen die uClibc++ zu linken, mußt du das Wrapper Skript mipsel-linux-g++-uc benutzen (nicht mipsel-linux-g++) und nicht statisch linken! Nach deiner Größe hast du bestimmt gegen die stdlibc++ statisch gelinkt.

EDIT: Ach, die Aussage bezog sich ja wieder auf stunnel. Ganz schön schwierig, wenn hier zig Binaries gleichzeitig diskutiert werden. Ich halte solche Sammelthreads übrigens für nicht so sinnvoll.

Mfg,
danisahne
 
Zuletzt bearbeitet:
@SophîaPêtríllo
Hier gibt es Source:
http://tuxcast.sourceforge.net/svn.html

Heini66 schrieb:
rcfile.cc:2123: error: 'rcFlexLexer' is not a class or namespace
rcfile.cc: In function 'int rcFlexLexer(std::istream*, std::eek:stream*)':
rcfile.cc:1470: warning: control reaches end of non-void function
Die Dateiendung (.cc) und "std::" sagen mir, dass das C++ ist. Nimmt der den richtigen Compiler?

Daniel hat den mipsel-linux-g++ mit der uClibc++ übrigens am Laufen!!!
Die uClibc++ hat 173kb.

MfG Oliver

edit: Mist zu langsam... :mrgreen:
Stunnel ist nicht in C++ geschrieben!? Ich nehme mal an, dass es statisch gelinkt ist und mit openssl passt die Größe schon. Aber kleiner gehts auf alle Fälle.
 
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.