[Info] modfs - SquashFS-Image (AVM-Firmware) ändern für NAND-basierte FRITZ!Boxen

@PeterPawn Falls es dich interessiert:
Mir ist erst jetzt aufgefallen:
Bei der FB7490 fehlt schon seit der INTERN-49267 die shellinabox_launcher.
Die shellinaboxd ist aber unverändert. Irgendwie macht avm das jetzt anders.
 
Ja, hatten wir aber kürzlich schon mal (wenn AVM nicht schon wieder geändert hat - kann aber auch woanders gewesen sein, daß ich mich darüber unterhalten habe) ... der Start von SIAB läuft jetzt ganz normal über den "ctlmgr" (hat sein eigenes "ui module" als "shellinabox" spendiert bekommen) und der GUI-Button setzt nur noch die passenden Werte über das Lua-Interface (sowohl bei Starten als auch beim Stoppen in der Variablen "running") und das, was der Launcher bisher machte (Box-Zertifikat über File-Descriptor und das Kennwort dafür bereitstellen), übernimmt wohl jetzt auch der "ctlmgr" direkt (bzw. die libcmapi.so).

Wenn dann kein Unterschied mehr zwischen intern und extern gemacht wird bei der TLS-"Pflicht", braucht es zwar trotzdem noch irgendeine Unterscheidung, ob ein Nutzer sich aus dem Internet anmelden darf oder nicht, aber auch dafür gibt es ja Tools in der Firmware, die das feststellen, woher der User nach Ansicht des FRITZ!OS zugreift - keine Ahnung, ob der "ctlmgr" die hier auch verwendet.

Geht die Shell überhaupt noch von extern? Inzwischen ist das ja kein CGI-Aufruf mehr (der über den HTTP-Server "getunnelt" würde), sondern direkt einer mit Port-Angabe und über JS wird automatisch ein "window.open" gemacht für die entsprechende URL mit HTTP(S)-Präfix ... wird der Port eigentlich automatisch extern mit freigegeben beim Start einer Instanz?

Es gibt zwar "ctlmgr"-Variablen für "secured" und "port" bei "shellinabox", aber zumindest im GUI keine Möglichkeit, das einzustellen - ich weiß auch nicht, ob es irgendwo in einer Datei persistent gespeichert wird (vielleicht schaut ja mal ein Verwender der Inhouse-Versionen nach bei sich).

-------------------------------------------------------------------------

Solange die Programme, welche ich bei "modfs" brauche und sie deshalb auch mitliefere (BusyBox, OpenSSL, SquashFS-Tools), statisch gelinkt sind, sollten sie auch unter einer 06.98-irgendwas arbeiten können - ich nehme mal an, daß sich "unterstützt" darauf bezieht und nicht auf die Frage, ob man auch eine 06.98-Labor modifizieren kann (von einer 06.93 - oder früher - aus).

Ich glaube auch nicht, daß ich vor FRITZ!OS 7 und den zugehörigen OSS-Paketen irgendwelche Anstrengungen unternehmen werde, das vorher selbst zu "entziffern" (vielleicht macht es ja irgendein Freetz-Developer). Wenn es so wie bisher (oder "wie immer") läuft, gibt es aber auch dann immer noch genug zu tun (wenn AVM die Pakete veröffentlicht hat), um tatsächlich eine passende und funktionierende Konfiguration für Kernel, C-Library und BusyBox zu erkunden - ich lasse mich aber auch gerne positiv überraschen.

In jedem Fall habe ich vor ein paar Tagen mal AVM angeschrieben und nach den OSS-Paketen für diverse Modelle und aktuelle Versionen gefragt - mit der Antwort kam die Bitte, mich ein paar Tage zu gedulden, der Wunsch wurde an die Verantwortlichen weitergeleitet. Wenn der dann erst mal "erfüllt" ist, kann man sich ja mal dem Thema "neue Labor-Versionen" zuwenden und bei AVM nachfragen, wann mit einer Veröffentlichung der OSS-Pakete zu rechnen wäre.

Im Moment aktualisiere ich gerade mal meinen Freetz-Fork und baue ein paar zusätzliche Pakete ... wenn irgendjemand einen SSH-Server auf der Box betreibt, kann ich ihm den Einsatz von ED25519-Keys nur wärmstens empfehlen. Ich habe bisher immer einen angepaßten "dropbear" mit dem Box-Zertifikat benutzt und da das auch mein eigenes war und einen 4K-Schlüssel für RSA benutzte, dauerte der SSH-Kex schon mal bis zu 10 Sekunden bei einer 7490. Ersetzt man das mit einem "sshd" aus dem OpenSSH-Paket und verwendet ED25519-Keys, ist das in max. 2 Sekunden erledigt (das ist dann wieder "sshfs" tauglich, auch mit Automounter) - dafür muß man sich dann selbst darum kümmern, wie man den privaten Schlüssel für den Host-Key absichert (aber auch dafür gibt es ja Lösungen, wenn man ein OpenSSL-Binary für die Box hat). Zusätzlich hat OpenSSH auch noch den Vorteil, daß man es fast vollständig zur Laufzeit konfigurieren kann, was bei "dropbear" auch schon mal bei den meisten Optionen zur Compile-Time erfolgen muß.

Wie auch immer ... wer irgendwelche Binaries aus dem "binaries"-Branch im YourFritz-Repo im Zuge von "modfs" in seine Firmware einbauen läßt, findet jetzt neue Versionen für MIPS- und x86-Prozessoren (erstellt mit dem 6490-Branch aus dem Freetz-Fork von @f-666) im Repo - die MIPS-Versionen sind für VR9 und GRX5 geeignet und inzwischen gibt es dort auch ein statisch gelinktes "openvpn"-Binary für die jeweilige Architektur. Den "dropbear" habe ich für den ATOM schon gar nicht mehr bauen lassen - auch wenn der ATOM sicherlich keine 10 Sekunden für KEX braucht bei RSA-4096 ... die Verwendung von OpenSSH ist mir dann einfach sympathischer und Speicherverbrauch/Dateigröße spielen hier auch nicht wirklich eine so wichtige Rolle, daß man sich für "dropbear" entscheiden müßte (schon gar nicht, wenn man alles statisch linken läßt) - im Gegensatz zum Key-Format von "dropbear" kann man die Keys für OpenSSH auch wieder mit OpenSSL verwalten, wenn man auf die Utilities dafür (z.B. "ssh-keygen") verzichten will.
 
Ja, hatten wir aber kürzlich schon mal (wenn AVM nicht schon wieder geändert hat
Ja, damals hatte avm die shellinabox.lua weg gelassen, später erst die shellinabox_launcher.
Aber das hängt wahrscheinlich zusammen und avm hätte auch gleich die shellinabox_launcher mit weg lassen können.
 
Bei den INTERNen ist doch telnet+SIAB immer mit dabei.
Darf ich kurz hier nachhaken?
INTERN sagt mir nichts - ist das ein anderer Ausdruck für "Labor" oder ist da noch mal ein Unterschied?

Und wenn ja, ist das für alle LaborFW gültig? Auch für die der 7390 (wenn man noch eine fände/hätte)?
 
Labor oder Beta sind Testversionen, die AVM auch offen kommuniziert: avm.de/labor

Intern oder Inhouse sind Testversionen, die AVM nur eingeschränkt verteilt. Weil sich auch diese Versionen automatisiert aktualisieren, haben findige Leute (u.a. @PeterPawn) den Aktualitätscheck untersucht und daraus ist u.a. dieses Projekt entstanden, womit sich übereifrige Leute noch unfertigere Software auf ihre Fritz!Box laden können.
 
@Chatty und wo ist jetzt beantwortet was es mit der Console, welche es nur in den genannten Inhouse Versionen unter http://fritz.box/support.lua aufsich hat?

Frage ist folgende: ist die Console auch schon bei älteren FW Ständen im InhouseZweig vorhanden?
 
im Ergebnis sind für alle nicht-statisch gelinkten Programme komplette Updates erforderlich
an die Profis im Forum:
Kann man auch aus einem dynamisch gelinkten Binary nachträglich noch ein statisch gelinktes Binary generieren ?
 
Entschuldige die Frage PeterPawn, hat jetzt direkt nichts mit modfs zu tun.

Weisst du rein zufällig wo die Übersichtsdaten von der IP Telefonie (Eigene Rufnummern --> Sprachübertragung) gespeichert werden?
Wollte jetzt dafür nicht extra nen Thread aufmachen.

Gruss Igi
 
Ich weiß ja nicht was du vor hast, aber:
Anzeigen lassen und Auswerten kannst du sie dir mit:
showvoipdstat

Aber wo die stehen?
Vielleicht in:
/var/flash/voipd_call_stat
 
Ich möchte mir nur alle Daten der Box sichern und zurückspielen wenn ich was an der Firmware teste. Die voipd_call_stat ist leer trotz Einträge in der Übersicht.
Eigentlich wlll ich nur alle Daten nach dem wiederherstellen wieder drin haben. Den Datenzähler (stat.cfg) sicher ich manuell und spiel sie wieder ein, aber bei der Detailansicht der Voip Daten, hatte ich bisher kein Glück
 
"tbackup" im "tffs"-Verzeichnis ... ein "trestore" gibt es aber nicht (macht man notfalls einzeln für jeden Node mit "tinstall") und ich weiß auch nicht aus dem Kopf, in welcher Datei die Daten zu den beendeten Telefonaten stehen. Es war aber eher nicht "calllog" (auch wenn der Name das nahelegt), sondern irgendeine "fx_sonstwas"-Datei, wenn ich mich nicht irre.

Ansonsten einfach mal mit "tbackup" alle TFFS-Nodes sichern lassen und in der Datei (die ist iirc noch gepackt) mal durchsehen, welcher Inhalt am ehesten zu der Liste paßt - war wohl irgendein XML-Format (auch wieder ohne Garantie und ohne eigenes Nachschauen).
 
Ok, scheint doch der Eintrag in der voipd_call_stat vorhanden zu sein. Allerdings schreibt wohl die Box den Eintrag nicht direkt nach dem Anruf rein. Hatte am WE meine 7490 Recovert und dann wieder gemoddet, Sicherung zurückgespielt, stat.cfg über den NAS und cat wiederhergestellt und neu gebootet. Alles ok, alle Daten, selbst die gesplittete LAN konfiguration ist geblieben, aber die VOIP Details waren weg.
Da ich mich aber in meiner Zweitwohnung befinde, habe ich dann per VPN ein paar Telefonate aufs Handy geführt und gesucht wo es gespeichert wird. Die voipd_call_stat war leer. Ich verwende immer "cat" um die Daten ins /var/tmp zu schreiben und anzuschauen.
Jetzt allerdings sehe ich die geführten Telefonate in der voipd_call_stat. Gerade eben dann wieder Gespräche geführt, Datei ins tmp ge"cat"tet und diese sind noch nicht drin aufgelistet. War wohl etwas zu voreilig. Auch nach vier Minuten, immer noch nix. Reboot ausgelöst, abgewartet und neu eingeloggt, und siehe da, sie sind drin. Dann wird die Box diese Daten wohl im RAM ablegen und peroidisch in den flash schreiben.
Danke für den Hinweis. Hat mich jetzt nochmal dazu bewegt zu probieren.

Nein, "calllog" ist es nicht. Das ist eher ein ausführbares script bei Anrufeingang. Da hatte ich bei der alten 7570 ein mailscript integriert, das mir die ankommende Anrufe per Mail aufs handy pusht, sodas ich jederzeit weiß wann ein Anruf zuhause ankommt (wohne allein).
 
Zuletzt bearbeitet:
Die FB (oder AVM?) will den Flash schonen, deshalb schreibt sie nicht alles sofort dort rein.
Die stat.cfg wird IMO auch nur aller 5 min erneuert.
 
Ja, das habe ich mir dann auch gedacht. Beim auslösen des reboots wird aber alles geschrieben. Also am besten immer erst reboot auslösen und hinterher sichern. Danke euch
 
Reboot ist IMO nicht nötig. Es reicht auch ein normales "Einstellungen sichern" in der GUI.
Und da gibt es bestimmt auch noch andere Möglichkeiten/Befehle.
 
Hallo,
ich habe meine Fritz!Box7490 auf die aktuelle Beta 113.06.98-51287 upgedatet.
Da ich dazu modfs verwendet und nun ein kleines Problem habe, poste ich dies hier im Thread - ich hoffe, ich bin hier richtig ;)

Prinzipiell funktioniert alles, lediglich die Übersichtsseite der Fritz!Box bleibt nahezu leer - unterhalb der Überschrift "Anschlüsse" wird nichts weiter angezeigt.

Könnte hier eine der modfs-Einstellungen die beim Erstellen der angepassten Firmware abgefragt werden, Ursache sein?
Oder wie könnte ich am besten vorgehen, um die Ursache zu finden und zu beheben?

Danke schon mal für Unterstützung!
 
Die mod_show_vpn_on_overview nicht benutzen oder die geänderte Version von mir #1300.
 
EIne andere Frage mal:

Ich hab mit modfs jetzt erfolgreich auf die 80.93 geupdatet. Alles ohne Probleme.
Aber wie kann ich ein alias erstellen, sodass es automatisch für jede Telnet-Sitzung aktiv ist?! Ich habe jetzt z.B. in der rc.user das folgende Alias gesetzt:

alias dir='ls -al --color=auto'

Trotzdem gilt dies nicht in einer neuen Telnet-(Putty)Session. Gibt's eine Möglichkeit, das woanders aufzurufen?
 
Die "profile"-Einstellungen einfach durch eigene ergänzen ... eines der "modscripts" enthält als Beispiel die Änderung, mit der eine Datei unter "/var" zusätzlich in die "/etc/profile" eingebunden würde.

Man muß im Hinterkopf behalten, daß diese Datei normalerweise nur bei interaktivem Login abgearbeitet wird - ich würde auch nicht direkt in der "/etc/profile" ändern (mal ganz abgesehen davon, daß die eben auch im SquashFS-Image liegen würde und dynamische Änderungen damit im weiteren Verlauf gar nicht möglich wären, sondern nur die einmalige beim "modfs"), sondern vielleicht in der "rc.user" irgendwie eine solche "Zusatzdatei" in "/var" erzeugen (z.B. als Ausgabe eines "cat" mit "here document") und dann den Patch aus dem o.a. Skript anwenden lassen beim Modifizieren der Firmware (das Anlegen der Verzeichnisstruktur in der "rc.user" mit "mkdir -p /var/custom/etc" nicht vergessen vor einem "cat").
 
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.