Inhalt

 


Menü Ausschalten

MEngelke.de / Projekte / Fritz!Box Tools

 

zu HTTPS wechseln Suchen Drucken RSS-Feed eMail 

Fritz!Box Tools

Fritz!Box Tools ist eine Funktions-Sammlung, um Daten aus der Fritz!Box auszulesen und wieder einzuspielen oder um automatisiert Funktionen in der Fritz!Box auszulösen und vieles mehr...

 

Geschrieben wurde fb_Tools in PHP für die Konsole, was auf vielen Betriebssystemen verfügbar ist.

 

fb_Tools ist Quell offen und kann/darf von jedermann entsprechend der GNU GPL-Lizenz für seine eigenen Projekte benutzt werden. - Gegenwärtig entwickle ich fb_Tools alleine, was nicht heißt, dass es so bleiben muss.

 

Die Zielgruppe sind versierte Benutzer, die mit der Konsole umgehen können. - Wer eine Oberfläche braucht, sollte sich besser Fritz!Box JSTool genauer anschauen.
Zur Zeit hat fb_Tools immer noch Alpha-Status d.H. es ist noch nicht fertig und alles kann sich noch ändern!

 

(Diese Anleitung wird noch Überarbeitet - Hoffe ich :-) )

Voraussetzungen

  • Mindestens PHP 4.4, besser PHP 5.4 oder neuer (bis PHP 7.3)
  • Optional: OpenSSL oder MCrypt
  • Und natürlich ein Router von AVM!

Unterstützte Betriebssysteme

  • Windows 2000 bis Windows 10
  • Linux (z.B. Knoppix, Ubuntu, etc.)
  • MacOS X (Terminal)

Lizenz

Copyright © 2013-2019 Michael Engelke <http://www.MEngelke.de>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>.

Download

# md5_summer 23.09.2019 22:31:42 (fb_tools 0.26) a441d4bef1d2f82137d5576297dfd44c *fb_tools.bat 8a70ede1f25ce93f33e9ca3f803c3db5 *fb_tools.php 07cbbb828ebf037d6857dde57e10d38c *fb_tools.php.gz aecc5111093a91c6eb55f32174dd9b04 *fb_tools.7z 10199bdb0e3a8deca0236a25e9d2cfed *fb-tools.deb Sofern mindestens PHP 4.4 verfügbar ist, ist fb_Tools unter jedem Betriebssystem lauffähig.
Wenn fb_Tools im vollen Umfang genutzt werden soll, sollte man mindestens PHP 5.4 oder besser PHP 7.x benutzen.
Die PHP-Erweiterungen OpenSSL und MCrypt sind "Nice to have" aber nicht "Must have"
Zur Zeit wird von mir nur Windows und Linux unterstützt. (MacOS kann ich leider nicht vernünftig Testen...)

 

Unterschiede:

  • Im 7z-Archiv finden Sie alle Versionen, Plugins und Bibliotheken.
  • Im Debian-Paket befindet sich nur die Linux-Version mit Plugins.
  • Und im gz-Archiv ist nur das Hauptscript für Linux enthalten.

Installation

Windows

Zuerst PHP herunterladen und entpacken, anschließend fb_tools.bat in das PHP-Verzeichnis kopieren.
Für eine Portable Installation, wird nur die php.exe und je nach PHP-Version php7ts.dll, php5ts.dll, php4ts.dll benötigt.

Selbstverständlich können Sie auch andere PHP-Versionen einsetzen. (Wie Sie wollen...)
Eine fertige Portable PHP-Version OHNE Erweiterungen für Windows zum Download finden Sie auf meine Projektseite: PHPBatch

 

Für eine dauerhafte Installation stehen Ihnen zwei Umgebungsvariablen zur Verfügung: "php" und "phpopt"
Mit php können Sie den genauen Ort der php.exe festlegen (Dies kann man in den "Erweiterte Systemeinstellung" bzw. "Systemeigenschaften" im Tab "Erweitert" tun) und mit phpopt können Sie weitere Parameter für PHP definieren. (Eine Hilfe für alle Parameter erhalten Sie mit "php.exe -h")

 

fb_Tools wird in der Eingabeaufforderung oder in der Powershell gestartet, wie bei einer normalen Batchdatei: fb_tools oder fb_tools.bat bzw. .\fb_tools.bat
Zeichen wie: , ; % & < | > sollten in den Parametern vermieden werden oder müssen in "Anführungszeichen" übergeben werden. Das Prozent-Zeichen (%) wird mit sich selbst entwertet.
Beispiel:

  • fb_tools info echo ", ; %% & < | >"
 

Erweiterungen:

  • Um HTTPS nutzen zu können, wird PHP 5.3+ und die Erweiterung OpenSSL benötigt. Die nötigen Dateien finden Sie im Original-Archiv aus windows.php.net.
    Das wären die folgenden Dateien: php_openssl.dll
    • Für PHP 5.3 - 7.1 zusätzlich: libeay32.dll, ssleay32.dll
    • Ab PHP 7.2 zusätzlich: libcrypto-1_1.dll und libssl-1_1.dll
Hinweis:
  • Ab PHP 5.3 ist HTTPS möglich.
  • Ab PHP 5.4 kann das HTTPS-Zertifikat ignoriert werden.
  • Und ab Fritz!OS 7+ braucht man neuere PHP/OpenSSL Versionen (z.B. 7.x), die nicht von der Fritz!Box abgeleht werden.
OpenSSL ist die wichtigste Erweiterung, die fb_Tools benötigt. Deswegen gibt auch einen Extra-Test dafür: fb_tools info openssl
  • Für die Entschlüsselung der Fritz!Box-Konfiguration wird entweder die Erweiterung OpenSSL, MCrypt oder ein Aes-Script benötigt, wobei letzteres im Archiv fb_tools.7z mit bei liegt.
    MCrypt benötigt für PHP 4.3 bis 5.3 folgende Dateien: php_mcrypt.dll und libmcrypt.dll. Ab PHP 5.4 - 7.1 ist es bestandteil von PHP. (MCrypt hat Probleme bei der Entschlüsselung von CryptedBin-Daten)
    Einen schnelltest, um zu prüfen, ob die Erweiterungen funktionieren, macht man mit fb_tools info extension
 

Getestet mit Windows XP (PHP 5.4), Windows 7/Windows 10 (PHP 5.4 - PHP 7.3)

Windows mit BusyBox

Diese etwas abgefahre Installation ist etwas für Nerds:

  • Zunächst muss man BusyBox herunterladen und am besten im Windows-Verzeichnis ablegen. (Es ist wichtig, dass es ein Verzeichnis ist, auf dem die System-Variable: Path zeigt.)
  • Dazu packt man die Windows PHP-Version mit allen nötigen Dateien und Erweiterungen dazu. (Für die entsprechende PHP-Version muss noch "Visual C++ Redistributable for Visual Studio" in der entsprechenden Version Installiert werden.)
  • Damit die PHP-Erweiterungen von PHP gefunden werden können, muss die php.ini entsprechend Modifiziert werden: z.B. extension_dir = c:\Windows
  • Jetzt start man die BusyBox-Shell mit busybox bash oder busybox sh
  • Ab hier machen Sie einfach bei Linux (fb_tools.php.gz) weiter! (Den Teil mit PHP können Sie überspringen, da wir schon die Windows-Variante installiert haben.)
 

Getestet mit BusyBox 1.31 und Windows XP (PHP 5.4), Windows 7 (PHP 7.1), Windows 10 (PHP 7.3)

Windows 10 (1709+ & 64 Bit) mit Ubuntu

Unter Windows 10 (64 Bit) ist seit Ende 2017 Möglich, eine echte Ubuntu-Konsole zu betreiben:

  • Als erstes ruft man die Windows-Einstellungen auf und wählt Apps aus.
  • Rechts im Fenster findet man "Verwandte Einstellungen" und direkt darunter klickt man auf "Programme und Features"
  • Nun wechselt man auf "Windows-Features aktivieren oder deaktivieren"
  • Ganz herunter scrollen und "Windows-Subsystem für Linux" aktivieren. - Mit "Okay" alle Fenster wieder schließen und Windows neu starten.
  • Jetzt geht es im "Mirosoft Store" weiter, dort sucht man nach "Ubuntu" - Ich Empfehle "Ubuntu 18.04 LTS", welches man kostenlos herunterlädt.
  • Nach dem etwa 220 MB heruntergeladen wurden, startet man die "App" und wartet ein weilchen...
  • Beim ersten Start wird nach einen Username und Password gefragt - dieser muss NICHT gleich dem Windows Benutzernamen sein...
  • Es empfiehlt sich gleich als erstes die Deutsche Sprache einzustellen:
    sudo locale-gen de_DE.UTF-8 && sudo update-locale LANG=de_DE.UTF-8
    Wenn man dann die Konsole schließt und wieder neu startet, sollte alles auf Deutsch sein.
  • Updates können nicht schaden:
    sudo apt update && sudo apt dist-upgrade - Mit Enter bestätigten und wieder ein weilchen warten...
  • Nun installieren wir ein paar Pakete:
    sudo apt install mc htop links manpages-de - ist alles "Nice to have" - Kein muss!
  • Um Dateien zwischen Windows und Ubuntu auszutauschen empfiehlt es sich den Midnight Commander mit mc /mnt zu benutzen.
  • Ab hier machen Sie einfach bei Linux (fb_tools.deb für Debian / Mint / Ubuntu) weiter!
 

Getestet mit Windows 10 1809/1903 (64 Bit und PHP 7.2)


Linux (fb-tools.deb für Debian / Mint / Ubuntu)

Für Linux das auf Debian basiert, gibt es ein eigenes Installationspaket, das man sich herunterladen kann:

  • wget -O fb-tools.deb 'http://www.mengelke.de'`wget -q -O- http://www.mengelke.de/Projekte/FritzBoxTools.html | grep -a -o -E '/Download;fb-tools.deb\?[a-f0-9]+'`
  • Und anschließend installiert man mit sudo-Rechnten, eins der beiden Varianten:
    1. sudo dpkg -i fb-tools.deb und falls ein Abhängkeitsfehler auftritt, anschliend mit:
      sudo apt install -f beheben.
    2. Da gdebi nicht überall installiert ist, kann man es einfach mit sudo apt install gdebi-core nachinstallieren.
      Die eigentliche Installation wird mit sudo gdebi fb-tools.deb ausgeführt!
  • fb_Tools wird dann in /usr/local/share/fb_tools installiert und kann in der Konsole mit fb_tools aufgerufen werden.
  • Damit sich fb_Tools updaten kann, benötigt man Schreibrechte in /usr/local/share, dies erreicht man, indem der eigener Benutzer die Gruppe staff hinzufügt wird:
    sudo usermod -a -G staff $USER nachdem man sich neuangemeldet hat, kann man fb_tools über das Internet updaten mit:
    fb_tools info update und die Plugins mit fb_tools plugin install update aktualisieren/installieren.

Linux (fb_tools.7z für Arch/Manjaro, Debian/Mint/Ubuntu, Fedora, OpenSuse)

  • Vorab sollten wir PHP und falls erforderlich, noch einige Pakete nachinstallieren:
    • Debian/Mint/Ubuntu: sudo apt install unar php-cli (Alternativ: php7-cli oder php5-cli)
    • OpenSuse: sudo zypper install unar php7 php7-openssl php7-zlib
    • Fedora: sudo yum install unar php-cli
    • Arch/Manjaro: sudo pacman -S unarchiver php
  • Nun laden wir das Archiv herunter:
    wget -O fb_tools.7z 'http://www.mengelke.de'`wget -q -O- http://www.mengelke.de/Projekte/FritzBoxTools.html | grep -a -o -E '/Download;fb_tools.7z\?[a-f0-9]+'`
  • Entpackt wird das Archiv mit:
    unar -d fb_tools.7z
  • Der Einfachheit, wechseln wir in das Verzeichnis fb_tools:
    cd fb_tools
  • Dann muss noch das Ausführen-Recht hinzugefügt werden:
    chmod +x fb_tools.php
  • Der Aufruf ist wie bei einer normalen Skriptdatei:
    ./fb_tools.php
 

Linux (fb_tools.php.gz)

  • Wenn PHP noch nicht installiert sein sollte, wäre jetzt die Gelegenheit dazu:
    • Debian/Mint/Ubuntu: sudo apt install php-cli (Alternativ: php7-cli oder php5-cli)
    • OpenSuse: sudo zypper install php7 php7-openssl php7-zlib
    • Fedora: sudo yum install php-cli
    • Arch/Manjaro: sudo pacman -S php
  • Wer möchte kann sich noch ein Verzeichnis erstellen und in dieses Verzeichnis wechseln:
    mkdir fb_tools && cd fb_tools
  • Nun laden wir das komprimierte Script herunter:
    wget -O fb_tools.php.gz 'http://www.mengelke.de'`wget -q -O- http://www.mengelke.de/Projekte/FritzBoxTools.html | grep -a -o -E '/Download;fb_tools.php.gz\?[a-f0-9]+'`
  • Entpackt wird das komprimierte Script mit:
    gzip -d fb_tools.php.gz
  • Dann muss noch das Ausführen-Recht hinzugefügt werden:
    chmod +x fb_tools.php
  • Nun testen wir erstmal ob das Script startfähig ist:
    ./fb_tools.php info
  • Um die Optionalen Plugins nutzen zu können, brauchen wir ein Plugin-Verzeichnis:
    mkdir plugin
  • Und die Plugins installieren wir mit:
    ./fb_tools.php plugin install
  • Nun ist fb_tools vollständig installiert und wie eine normale Skriptdatei aufgerufen werden:
    ./fb_tools.php
 

Hinweis: In der Linux-Konsole muss man manchmal einige Parameter in Anführungzeichen setzen ("Doppelte" oder auch 'Einfache' )

 

Getestet mit:


MacOS X

Ähnlich wie unter Linux. Einer der Unterschiede ist, dass PHP schon zu den Bordmitteln von MacOS gehört.

  • Nun laden wir das komprimierte Script herunter:
    curl -o fb_tools.php.gz 'http://www.mengelke.de'`curl -s http://www.mengelke.de/Projekte/FritzBoxTools.html | grep -a -o -E '/Download;fb_tools.php.gz\?[a-f0-9]+'`
  • Nach dem herunterladen, entpacken wir es mit:
    gzip -d fb_tools.php.gz
  • Dann muss noch das Ausführen-Recht hinzugefügt werden:
    chmod +x fb_tools.php
  • Und gestartet wird es wie eine normale Skriptdatei:
    ./fb_tools.php
 

Getestet mit MacOS X 10.6 Snow Leopard (PHP 5.3)
Sollte es jemanden geben, der einen neueren Mac hat, könnte derjenige mir mitteilen, wie es mit einen aktuellen Mac aussieht. ;-)


Start und Parameter

Hier in dieser Anleitung und in der Hilfsausgabe von fb_Tools werden Plichtparameter in [Eckigen Klammen] und Optionale Parameter in <Splitzen Klammen> angegeben.
Ist die Bezeichnung in Eckigen/Spitzen Klammern kleingeschrieben, dann handelt es sich um die Bezeichnung des Parameters, der für eindeutige Bezeichnung mit angegeben werden kann. (Siehe Argumente)

Hilfe

Die Hilfe aller Funktionen bekommt man mit fb_tools -h
Möchte man Beispiele zu der aktuellen Hilfe, dann gibt man den Hilfs-Parameter "b" mit an: fb_tools -h:b
Um alle Optionen angezeigt zu bekommen, erreicht man das mit fb_tools -h:o - Nur Kontext-Optionen (Optionen für eine bestimme Funktion) mit fb_tools -h:k
Und kombiniert würde auch gehen: fb_tools -h:bo oder fb_tools -h:a für Alles

Fritzbox-Angabe als Argument

fb_Tools hat für alle Funktionen zwei Optionale Parameter. In dem aller ersten optionalen Parameter, kann man die Zugangsdaten der Fritz!Box nach folgendem Schema angeben:

  • fritz.box
  • Kennwort@fritz.box
  • Benutzername:Kennwort@fritz.box
  • Protokoll://Benutzername:Kennwort@fritz.box:Port
  • Protokoll://Benutzername:Kennwort@fritz.box:Port#UI-Password
 

Beispiel:

  • fb_tools fritz.box logintest
  • fb_tools geheim@fritz.box logintest
  • fb_tools max:kennwort@fritz.box logintest
  • fb_tools https://admin:password@0123456789abcdef.myfritz.net:65432 logintest
  • fb_tools https://max:headroom@fb7170.dyndns.xx:443#N37w0rk23 logintest

Fritzbox-Angabe als Optionen

Es gibt als Alternative auch Option-Parameter, die diesen ersten Parameter überflüssig machen können. (-fb:"[Fritz.Box]", -pt:"[Port]", -pw:"[Password]", -un:"[Username]", -fw:"[Firmware]", -p:"[Protokoll]", -ui:"[UI-Kennwort]")

Fritz!Box-Angabe in fb_config.php

Theoretisch können Sie die Zugangsdaten im Script selber angeben, was aber nicht zu Empfehlen ist. (z.B. würden diese bei einen Update verloren gehen) Man kann in einer separaten Datei: "fb_config.php" die Zugangsdaten von einer oder mehreren Fritz!Boxen hinterlegen. Die entsprechende Fritz!Box ist dann über den vergebenen Schlüsselnamen (z.B. maxbox) erreichbar.
Diese Datei kann mit Lese-Rechten versehen oder auf in einen verschlüsselten Container speichern. - Generell ist nicht zu Empfehlen die Zugangsdaten direkt in die Konsole einzugeben, da einige Betriebssysteme diese Eingaben in einer Log-Datei speichern.
fb_Tools sucht die "fb_config.php" zuerst im Aktuellen Verzeichnis, anschließend im Script-Verzeichnis, wo fb_Tools selber liegt.
Es gibt noch eine Optionsangabe -cc:[configfile], wo man den genauen Ort der Konfig-Datei angeben kann.
Beispiel in fb_config.php: (Eine Beispieldatei finden Sie im Archiv fb_tools.7z.)

  • 'maxbox' => array('sock' => 'http', 'host' => 'fritz.box', 'port' => 80, 'user' => 'max', 'pass' => 'h34dr00m'),
  • 'myfritz' => array('sock' => 'https', 'host' => '01234567890abcdef.myfritz.net', 'port' => 443, 'user' => 'max', 'pass' => 'h34dr00m'),
  • 'smarthome' => array('host' => 'fritz.box', 'user' => 'clever', 'pass' => 'smart'),
 

Beispiel aufruf:

  • fb_tools maxbox logintest
  • fb_tools myfritz logintest
  • fb_tools smarthome logintest
  • fb_tools meinebox logintest -cc:/media/veracrypt1/Fritz!Box/fb_config.php
  • fb_tools 7456 logintest

Ältere Fritz!Box-Angabe als Fernwartung (Ein Sonderfall mit Fritz!OS 4.x)

Als die Fernwartung gerade frisch eingeführt wurde und noch mit HTTP-Auth Basic realisiert wurde, (Ja, wirklich ;-) ) gab es noch keine Benutzerverwaltung in der Fritz!Box! D.H. man brauchte für die Fernwartung Benutzer & Kennwort + Anmeldekennwort der Fritz!Box-Oberfläche. fb_Tools unterstützt jetzt diesen Sonderfall mit:

  • fb_tools https://Benutzername:Kennwort@fritzbox.dyndns.xx:443#UI-Password logintest
 

Man beachte, dass man dazu zwingend PHP 5.4 oder PHP 5.5 benötigt, da neuere PHP-Versionen mit entsprechender OpenSSL-Version diesen alten Login-Prozess nicht mehr unterstützen. (Ein erfolgreicher Login, ist mir nur unter Windows gelungen.)

Argumente

Ab fb_Tools 0.25 müssen die Parameter NICHT mehr in der vorgegebene Reihenfolge eingegeben werden, sondern können fast in beliebiger Reihenfolge übergeben werden.
Alle Parameter haben einen eigenen Namen z.B. mode:, func:, file: etc. Die trennung von Namen und Inhalt kann etweder mit : oder = angegeben werden.
Beispiel:

  • fb_tools mode:info func:echo str:"Hello World"
  • fb_tools mode=info func=echo str="Hello World"
 

Benannte Argumente brauchen keine vorgegebene Reihenfolge.
Beispiel:

  • fb_tools func:echo str:"Hello World" mode:info
 

Ebenso können benannte Argumente, wenn erforderlich, mehrmals angegeben werden. Dafür gibt zwei schreibweisen:
Beispiel:

  • fb_tools mode:info func:arg arg:multi multi:1.Argument multi:2.Argument multi:3.Argument
  • fb_tools mode:info func:arg arg:multi multi[/]:1.Argument/2.Argument/3.Argument (Das Trennzeichen kann ein beliebiges sein!)
 

Es ist möglich benannte und unbenannte Argumente zu kombinieren. Man muss nur darauf achten, dass die unbenannten Argumente in der korrekten Reihenfolge übergeben werden.
Beispiel:

  • fb_tools konfig file-decrypt fritz!box.export geheim fritz!box_decrypt.export
  • fb_tools mode:konfig func:file-decrypt if:fritz!box.export of:fritz!box_decrypt.export pass:geheim
  • fb_tools konfig file-decrypt fritz!box.export fritz!box_decrypt.export pass:geheim

Optionen

Im dem letzten optionalen Parameter können die Optionen gesetzt werden. Alle Optionen müssen mit ein Minus-Zeichen eingeleitet werden, und bei mehreren Optionen müssen alle Optionen entweder zusammen geschrieben werden oder dürfen durch ein Leerzeichen getrennt werden! (Beides ist NICHT möglich)
Soll ein Wert übergeben werden, muss hinter der Option ein ":" folgen und dann der Wert. Erlaubt ist auch den Wert in Anführungszeichen zu setzen.
Intern werden alle Optionen von Rechts nach Links gelesen, d.H. die Reihenfolge kann eine Rolle spielen.
Beispiel:

  • fb_tools fritz.box info -d-w:80-o:ausgabe.txt
  • fb_tools fritz.box info -d -w:80 -o:"ausgabe.txt"

-b:[Buffergröße], -p:[Protokoll], -t:[TCP/IP-Timeout], -ua:[User-Agent]

Mit diesen Optionen kann man Feintuning bei den TCP/IP Verbindungen einstellen. In der Regel werden diese nicht benötigt.

-c:[code] für CharCode

GruppeKodierungen
Windowscp437, cp850, dos, oem
Ansicp1252, cp851, cp28591, iso8859/1, ansi, ascii
Winecp1250, cp852, cp28952, iso8859/2
7Bit-ASCcp65000, 7bit, asc, utf7
UTF-8cp65001, utf8
Weitereauto, html, none

Je nach Betriebssystem werden verschiede Kodierungen für die Umlaute eingesetzt. fb_Tools versucht selber die richtige zu finden. Sollte es Probleme geben, kann man mit dieser Option die Kodierung Manuell ändern.
Folgende Kodierungen stehen zur Verfügung: auto, 7bit, ansi, cp437, cp850, cp851, cp852, cp852, cp1250, cp1252, cp28591, cp28592, cp65000, cp65001, dos, html, iso8859/1, iso8859/2, oem, utf7, utf8 ("auto" ermittelt die Kodierung automatisch - Fackback ist 7bit oder utf7)
Beispiel:

  • fb_tools info -c:oem (Für Windows)
  • fb_tools info -c:utf8 (Für Linux)

-d für Debug (Auch als Alternative für Verbose)

Um mehr Ausgaben zu Erzeugen kann man den Debug-Modus einschalten. Je nach Level bekommt man entsprechende Mitteilungen zu sehen. Im Standard Debug-Modus werden z.B. Status-Meldungen ausgegeben, wie Login/Logout etc.
Beispiel:

  • fb_tools info -d

-h:<a|b|k|o> für Hilfe

Alle Funktionen haben eine Hilfe-Ausgabe. Egal welche Funktion man benutzen möchte, kann man mit -h eine kleine Hilfe ausgeben lassen.
Eine erweitere Hilfe mit Beispielen: -h:b oder mit Optionen: -h:o und beides zusammen: -h:a
Benötigt eine Funktion zusätzliche Parameter werden [Pflicht]-Parameter in eckigen Klammen und <Optionale>-Parameter in spitzen Klammern markiert.
Beispiel:

  • fb_tools info -h
  • fb_tools bi -h
  • fb_tools ss -h

-o:[Datei] für Output

Diese Option ist eigentlich Identisch mit Stdout - Alle Ausgeben werden in die angegebene Datei geschrieben. Nur hier wird für die Ausgabe nichts verändert. Die Zeichenkodierung der Ausgabe ist immer Ansi (ISO_8859-1) oder gleich der Eingabecodierung!
Beispiel:

  • fb_tools info -o:"Datei.txt"

-s:[SID] für SessionID

Möchte man fb_Tools in Batchdateien einsetzen, kann das ständige Anmelden hinderlich sein. Mit diesen Parameter kann man die erneute Anmeldung umgehen. (Voraussetzung ist die Login/Logout-Funktion)
Beispiel:

  • fb_tools info -s:0123456789abcdef -fw:456
  • fb_tools info -s:sid.txt

-w:[Länge] für Wortumbruch

Da die größe des Terminal-Fenstern begrenzt ist, können die Ausgaben Intelligent umgebrochen werden. Unter Linux und Windows wird die Terminal-Breite Automatisch ermittelt.
Beispiel:

  • fb_tools info -w:80

-gz:[Level] für GZip Komprimierung

Einige Funktionen erlauben es Ausgabe-Dateien mit GZip zu komprimieren. Diese müssen mit .gz enden. Als Level wird eine Zahl zwischen 0 bis 9 erwartet. (0 -> Unkomprimiert im GZ-Header / 9 -> Maximale Komprimierungsstärke)
Beispiel:

  • fb_tools fritz.box sd SupportDaten.tar.gz extrakt -gz:9

-p:[Protokoll], -fb:[fritz.box], -un:[Benutzername], -pw:[Kennwort], -pt:[Port], -fw:[Firmware-Version], -ui:[UI-Kennwort] für Login-Alternative

Da in der Windows-Version die Einschränkung mit den 9 maximalen Parametern aufgehoben wurde, wurden jetzt neue Parameter als Login-Alternative hinzugefügt. Die können mit dem ersten Startparameter vermischt werden.
Eine Besonderheit ist die Angabe der Firmware-Version. Die wird als Integer (OS 6.51 -> 651) übergeben. Und dient als Hilfe für ältere Fritz!Boxen mit OS4 oder noch älter. (Ab OS 5 ist diese Option unnötig)
Protokoll dient als eindeutige Angabe ob HTTPS genutzt werden soll oder nicht. Folgende Werte sind möglich: auto, http, https, ssl, tls. Bei der Angabe https wird ab PHP 5.4 die Zertifikatsprüfung deaktiviert.
Beispiel:

  • fb_tools info -d -fb:fritz.box -pw:kennwort -fw:434
  • fb_tools fritzbox info -d -un:max -pw:headroom -fw:530

Normale Funktionen

Alle Funktionen werden mit den Parameter mode definiert und lassen sich mit den angezeigten Grossbuchstaben abkürzen:
Beispiel:

  • BoxInfo -> bi
  • WahlHilfe -> wh
  • GetIP -> gip
  • Konfig ImPort-CalcSum -> k ipcs

Ordner bzw. Ordernamen

Wenn Sie einen Ordner in den Parametern angeben, wird Empfohlen ein Slash /oder Backslash \ dahinter zu setzen, damit FB-Tools weiss, dass es sich um ein Ordner handelt. Wenn der Ordner noch nicht existiert und sich im Ordnernamen ein %-Zeichen befindet, wird der komplette Ordnername mit strftime geparst.
Einige Funktionen erlauben es statt ein Ordner ein Tar-Archiv anzugeben. Der Dateiname muss auf .tar .tgz oder .tar.gz enden!

 

Dateien bzw. Dateinamen

Wenn kein Dateiname angegeben wird, wird der Dateiname automatisch vergeben. Aber einige Parameter-Konstellationen erlauben es leider nicht, den Dateinamen einfach weg zu lassen. Als Alternative kann einfach als Dateiname ein Punkt . angeben.
Einige Funktionen erlauben es GZip komprimierte Dateien zu verarbeiten. Der Dateiname muss dann auf .gz enden!

 

Automatische HTTPS-Erkennung

Ist OpenSSL verfügbar, versucht fb_Tools anhand der Portnummer zu erkennen, ob der Request mit HTTP oder HTTPS gemacht werden soll:
Für Port 80, 8080 und 49000 verwendet fb_Tools das Protokoll HTTP und für alles andere HTTPS (Wenn verfügbar...)


Drag'n'Drop

Wird nur EIN Parameter übermittelt, die den Pfad einer Datei angibt, dann werden die Befehle aus der Variable $cfg[drag] angewendet. (Das "*" steht in der Variable für den Dateinamen)

 

Das heißt: Sie ziehen eine Datei auf die fb_Tools Skript-Datei und die Funktion in der $cfg[drag]-Variable wird für die Datei angewendet. (Ähnlich wie bei fb_calcsum.vbs)

 

Eine Voraussetzung ist, dass der Desktop-Manager dies unterstützt und für Windows zusätzlich, dass die Umgebungsvariable php auf den genauen Pfad von php.exe verweist, da das aktuelle Verzeichnis auf verschiedene Orte zeigen kann.


AnrufListe <file:Datei> <from> <to>

Zeigt eine Anrufliste aller Telefonate der Fritz!Box an. Die Anrufliste wird als CSV-Datei gespeichert. Wobei der Dateiname mit strftime geparst wird.
Der Separator ist mit der Option -cs: frei wählbar. Mit der Option -ch wird noch ein Kopfzeile an jeder neuen Datei erstellt. Mit der Option -lf kann die Anrufliste als Logfile gespeichert werden. (d.H. Alle Einträge werden mit strftime geparst und am Ende der Datei angehängt oder in einer neuen Datei gespeichert) Mit den Parameter from und to kann die Anrufliste auf ein Zeitfenster reduziert werden. (Die Zeitangaben werden mit strtotime() geparst)
Beispiele:

  • fb_tools fritz.box anrufliste
  • fb_tools fritz.box mode:anrufliste file:anrufe.csv -cs:","
  • fb_tools fritz.box anrufliste calls.csv -ch
  • fb_tools fritz.box al file:calls-%y%m%d.log -lf

BoxInfo <file:Datei>

Liest "jason_boxinfo.xml" und "juis_boxinfo.xml" aus gibt diesen aufbereitet in leserlicher Form aus! Der Optionale Parameter erlaubt eine vorhandene Boxinfo-Datei zu parsen.
Beispiele:

  • fb_tools fritz.box boxinfo
  • fb_tools boxinfo file:jason_boxinfo.xml

Ereignisse <file> <filter> <from> <to> <-cs:[Separator]> <-lf>

Zeigt alle Ereignisse der Fritz!Box an. Die Ereignisse können als CSV-Datei gespeichert werden. Wobei der Dateiname mit strftime geparst wird.
Der Separator ist mit der Option -cs frei wählbar. Mit der Option -lf können die Ereignisse als Logfile gespeichert werden. (d.H. Alle Einträge werden mit strftime geparst und am Ende der Datei angehängt oder in einer neuen Datei gespeichert) Mit den Parameter from und to können die Ereignisse auf ein Zeitfenster reduziert werden. (Die Zeitangaben werden mit strtotime() geparst)
Alle Ereignisse können nach Kategorien gefiltert werden. Folgende Filter/Kategorien stehen zur Verfügung: alle, telefon, internet, usb, wlan, system
Beispiele:

  • fb_tools fritz.box ereignisse
  • fb_tools fritz.box mode:Ereignisse file:event-internet.csv filter:internet -cs:";"
  • fb_tools fritz.box Ereignisse event.csv
  • fb_tools fritz.box e -pw:secret
  • fb_tools fritz.box e file:logs-%y%m%d.log filter:alle -lf

GetIP <filter>

Gibt die aktuelle Externe IP-Adresse (IPv4 & IPv6) der Fritz!Box aus. Zusätzlich werden noch die externen DNS-Adressen ausgegeben. Alle Adressen werden ohne externe Dienste per UPnP ermittelt. Wird "0.0.0.0" ausgegeben, dann hat die Fritz!Box keine Internet-Verbindung! Befindet sich die Fritz!Box hinter einen NAT-Router, dann wird logischerweise die IP-Adresse angezeigt, die vom NAT-Router vergeben wurde. Mit den Filter kann nur den entsprechenden Eintrag ausgeben lassen.

 

Hinweis: Diese Funktion ist nicht über HTTPS nutzbar!

 

Beispiele:

  • fb_tools fritz.box getip
  • fb_tools fritz.box gip filter:ipv4

Info <func|Datei>

Die Info-Funktion ist eine Interne Funktion und benötigt keine Fritz!Box. Man kann einige nützliche Informationen ausgeben lassen und kleine Tests durchführen.
Ohne weitere Parameter wird die aktuelle Version von fb_Tools ausgeben, sowie die verwendete PHP-Version.

Arg <arg>

Alle geparsten Argumente ausgeben (Benannte und unbeannte Argumente - Teilweise mit Regex-Ergebnisse)
Beispiel:

  • fb_tools info arg foo foo:bar

Echo <str:String>

Wenn es Probleme mit den Parametern gibt, kann es hilfreich sein, zu überprüfen, ob die Parameter Fehlerfrei an fb_Tools übergeben wurden.
Beispiel:

  • fb_tools info echo *.php $$$$Geheim 'D4$ 1$7 31n 73$7*,;%'

(Hasher) <Datei>

Geben Sie als Parameter eine Datei an, wird von dieser Datei mehrere Checksummen (CRC32, MD5, SHA1, SHA256 und SHA512) erstellt.
Beispiel:

  • fb_tools info konfig.export

StrfTime <str:String> <time>

Dient um zu überprüfen, welche Datumsformate vom Betriebssystem unterstützt werden. Wird nichts als String angegeben, werden alle ausgegeben.
Beispiel:

  • fb_tools info strftime
  • fb_tools info strftime str:"%d.%m.%y %H:%M:%S" time:@1234567890

Update <opt:check> <-f>

Hiermit können Sie fb_Tools über das Internet updaten. Soll nur geprüft werden, ob es ein Update gibt, dann muss zusätzlich "Check" mit angegeben werden. Soll fb_Tools im jeden Fall durch die aktuelle Version im Internet ersetzt werden, dann müssen Sie die Option "-f" zusätzlich mit angeben.
Beispiel:

  • fb_tools info update
  • fb_tools info update check
 

Hinweis: Bei der Windows-Version ist es möglich, dass nach dem eigentlichen Update Script-Fehler auftreten. Dies passiert, weil zwei verschiedene Script-Interpreter das selbe Script ausführen und ein Interpreter nicht mitbekommt, dass das Script ausgetauscht wurde.

Extension

Gibt alle externen Bibliotheken aus, die von fb_Tools gefunden/nachgeladen wurden

OpenSSL

Prüft ob OpenSSL vorhanden ist und damit HTTPS möglich ist

 

Nicht alle Info-Funktionen sind hier Dokumentiert... - Einfach mal fb_tools info -h aufrufen ;-)


Konfig [export|extrakt|file|import] <if/of:Datei/Ordner> <pass:Kennwort>

Mit der Konfig-Funktion können Sie die Einstellungen der Fritz!Box exportieren:
fb_tools fritz.box konfig export <of:Datei> und importieren:
fb_tools fritz.box konfig import [if:Datei].

 

Beim Export ist es mit fb_tools fritz.box konfig extrakt <of:Ordner> möglich, die Einzelnen Fragmente der Konfiguration zu entpacken, die auch mit Import-Funktion wieder importiert werden können.

 

Um Konfig-Dateien zu Konvertieren gibt es die File-Funktion, die es Teilweise erlaubt auch ohne Fritz!Box zu Arbeiten.

 

Werden Manipulationen an der Konfiguration vorgenommen, können diese mit:
fb_tools fritz.box konfig import-calcsum [if:Datei] importiert werden. Die Checksumme wird dabei neu berechnet. (Somit kann man auch Manipulation an allen aktuellen Fritz!Boxen UND Kabelboxen (z.B Fritz!Box 6590) vornehmen).
Eine Alternative dazu ist Fritz!Box JSTool in JavaScript oder Fritz!Box VBScripte in VBScript

 

Möchte man seine Zugangsdaten in Klartext angezeigt bekommen, kann man sich diese mit:
fb_tools fritz.box konfig export-decrypt entschlüsseln lassen. Dazu wird entweder die PHP-Erweiterung: OpenSSL oder MCrypt benötigt. Als Alternative reicht eins der AES-Scripte, die im Archiv fb_tools.7z mit beiliegen. (Sind aber sehr langsam!)
Mit fb_tools info extension können sie überprüfen, ob und welche Erweiterung erfolgreich geladen werden konnte. (OpenSSL ist die beste Wahl)

 

Möchte man die Daten aus einer vorhandenen Konfig-Datei in Klartext, dann entschlüsselt man die Daten ohne Fritz!Box mit:
fb_tools konfig file-decrypt [if:Datei] [pass:Kennwort].

 

Die Kennwort-Angabe darf mehrfach vorkommen oder der Dateiname einer Kennwort-Datei.
Beispiel:

  • fb_tools k fdc ./fb.export pass:admin pass:admin123 pass:ADMIN pass:ADMIN123
  • fb_tools k fdc ./fb.export pass[/]:admin/admin123/ADMIN/ADMIN123
  • fb_tools k fdc ./fb.export ./passwd.txt
 

Bei Konfig-Dateien die OHNE Kennwort gespeichert wurden, wird folgenes benötigt:

Beispiel:

  • fb_tools_dev k fdc if:fb7330_nopass.export pass:11:23:58:13:21:34
  • fb_tools_dev k fdc if:fb7530_nopass.export pass:K175.678.30.000.196-98:9B:CB:30:01:96
 

Hinweise:

  • Ab Fritz!OS 6.2 sollte man die Konfig nur MIT Kennwort exportieren, da man sie sonst nicht mehr zurück spielen kann.
  • Ab Fritz!OS 6.69 muss VORHER in "System / Fritz!Box-Benutzer / Anmeldung im Heimnetz" die Option "Ausführung bestimmter Einstellungen und Funktionen zusätzlich bestätigen" deaktiviert werden, da sonst die Fritz!Box ständig eine Bestätigung per Telefon haben möchte.
  • Bei der Entschlüsselung wird KEINE Sicherheitslücke oder sonstige Schachstelle ausgenutzt. - Ohne Anmelde/Export-Kennwort funktioniert das NICHT!!!
  • Entschlüsselte Konfig-Dateien können nicht wieder zurück importiert werden, da das Konfig-Kennwort nicht mehr existiert.
  • Die "Alte" Entschlüsselungsfunktion aus fb_Tools 0.13 bis 0.22 wird nicht mehr weiterentwickelt und wurde in ein Plugin ausgelagert. Die benötigt eine Fritz!Box mit FRITZ!OS 5 bis 7.
  • Sollte es beim entschlüsseln der Zugangsdaten Probleme geben, gibt es mit Fritz!Box JSTool noch ein alternatives Entschlüsselungs-Tool.

LED [on|off|an|aus|test]

Schaltet die LEDs (Power, Telefon (DECT, Internet, Festnetz), LAN, WLAN und Info) von Fritz!Boxen und PowerLines an und aus. (Ab ca. Fritz!OS 5.5)
Einige Fritz!Boxen haben zusätzliche LEDs (z.B. für Internet) die leider weiterhin leuchten.
Mit dem Test Funktion kann der Status der LEDs abgefragt werden.
Beispiele:

  • fb_tools fritz.box led off
  • fb_tools fritz.box led test

Login / Logout

Für Batch-Script können Sie sich damit Manuell einloggen und eingeloggt bleiben. Die SID (SessionID) kann entweder direkt oder als Datei angegeben werden.
Dies könnte wie folgt aussehen:
fb_tools fritz.box login sid
fb_tools plugin privat.php -s:sid
fb_tools logout -s:sid

 Mal ein Beispiel für eine Windows Batch-Datei:
call fb_tools.bat password@fritz.box login sid.txt
call fb_tools.bat ereignisse file:internet-%y%m.log filter:internet -s:sid.txt
call fb_tools.bat ereignisse file:telefon-%y%m.log filter:telefon -s:sid.txt
call fb_tools.bat ereignisse file:wlan-%y%m.log filter:wlan -s:sid.txt
call fb_tools.bat ereignisse file:usb-%y%m.log filter:usb -s:sid.txt
call fb_tools.bat ereignisse file:system-%y%m.log filter:system -s:sid.txt
call fb_tools.bat logout -s:sid.txt
del sid.txt

Plugin [plug:Plugin-Datei] <...> oder [Check|Install|List|Update]

# md5_summer 22.09.2019 23:41:33 (fbt_plugins.tgz) a51bbbc8f5c4f7b951e42a8660bf32a6 0.25 *fbtp_konfigdecrypt.php 1abffbb1d96261ec2623f1e6886cebe3 0.01 *fbtp_konfighacker.php c2a46683a8cab908c26e1ae60d9cd267 0.05 *fbtp_laborsync.php 68b4d0caf5c16049bb4db314735aa73c 0.01 *fbtp_manualsync.php 7bc849111cedabdf77bbdb29a58ded1f 0.02 *fbtp_neustart.php 634b7c0a24338792cc32d73445ea74e6 0.00 *fbtp_test.php a036ae82a9538e5a91d1cf43f342b9a2 0.03 *fbtp_unprotect.php 012ab8d634bea4ef8bd07546cfabd14f 0.05 *fbtp_websync.php Mit der Plugin-Schnittstelle ist es möglich eigene PHP-Erweiterungen für fb_Tools zu schreiben. Die Plugin-Datei wird mit include aufgerufen und das Plugin kann über alle Funktionen von fb_Tools verfügen.
fb_Tools sucht Plugins zuerst in den Ordner plugins im aktuellen Verzeichnis. Alternativ nur im aktuellen Verzeichnis. Anschließend das ganze nochmal im Script-Verzeichnis. Man kann auch ein vollständigen Pfad mit Dateinamen zur Plugin-Datei angeben, um das Plugin zu starten. (Dazu ist die mode:plugin Angabe erforderlich!)
Als Alternative dazu gibt auch eine Option -pp:<Plugin-Path>, wo man das genaue Verzeichnis angeben kann, wo die Plugins liegen oder installiert werden sollen.

 

Im Archiv fb_tools.7z liegen einige Plugins mit dabei. Diese können ab fb_Tools 0.25 OHNE das Mode-Argument plugin aufgerufen werden.
Beispiel:

  • fb_tools plugin
  • fb_tools fritz.box plugin konfigdecrypt export
  • fb_tools fritz.box konfigdecrypt export
  • fb_tools plugin c:/Users/Max/Desktop/fbtp_test.php args
  • fb_tools test args -pp:/media/USB-Stick/plugins
 

Die Plugins können unabhängig von fb_Tools über das Internet mit plugin install Installiert oder plugin update Aktualisiert werden. Mit der Option -ow wird das alte Plugin mit dem Update überschrieben und keine Sicherheitskopie angelegt. Die Option -f ignoriert sämtliche Fehler.
Beispiel:

  • fb_tools plugin list
  • fb_tools plugin check
  • fb_tools plugin update -ow
  • fb_tools plugin install
 

WARNUNG: Achten Sie darauf, welche Scripte Sie einbinden - Es gibt KEINE Prüfung auf Malware oder Schadsoftware!!!

 

fbtp_konfigdecrypt.php [ExPort|ExTrakt|File] <if/of:Datei/Ordner> <pass:Kennwort> <of:Datei> (End of Service)

Die Entschlüsselungsfunktion für die Konfig-Dateien aus fb_Tools 0.13-0.22 wurde als Plugin ausgelagert. Für die entschlüsselung wird eine Fritz!Box mit Fritz!OS 5 - 7 benötigt. (Provider Fritz!Boxen spielen dabei nicht mit!)
Man kann die Konfig entschlüsselt exportieren mit:
fb_tools fritz.box konfigdecrypt export of:fb.export oder entschlüsselt aufsplitten mit:
fb_tools fritz.box konfigdecrypt extrakt of:export

 

Dann kann noch eine separate Konfig-Datei mit:
fb_tools fritz.box konfigdecrypt file if:fb.export pass:geheim of:fb_decrypt.export entschlüsselt werden.

 

Hinweise:

  • Es wird Empfohlen VOR entschüsseln den Push-Dienst zu deaktivieren, da es sonst unnötig lange dauert und man von seiner eigenen Fritz!Box währenddessen zugespamt wird... ;-)
  • KonfigDecrypt wird in zukunft nur noch an die aktuelle fb_Tools-Version angepasst, NICHT mehr an die aktuelle Fritz!OS-Version!

fbtp_konfighacker.php [crypt] <pass> <mac> <serial>

Mit KonfigHacker können Sie alte Konfig-Dateien, die OHNE Kennwort gespeichert wurden, die MAC-Adresse zum Entschlüsseln per Brute-Force herausfinden. Auch wenn es nur ein PHP-Script ist, dass nur mit einen Threat läuft, ist es relativ effizent:

  • Ein Raspberry Pi 1 kommt auf 8000 Versuche in der Sekunde
  • Ein Raspberry Pi 4 schon auf 128.000 Versuche pro Sekunde
  • Ein moderner PC schafft ca. 1.000.000 Versuche pro Sekunde

Theoretisch müssten alle 248 Möglichkeiten durchprobiert werden. Da es ein System in der Vergabe der MAC-Adressen gibt, reduziert sich das auf maximal 25*224.

 

Der Pflicht-Parameter benötigt den ersten Verschlüsselten Wert aus der Konfig-Datei, dass ohne Kennwort gespeichert wurde. (Password=$$$$ABC...456)
Mit dem ersten Optionalen Parameter kann man eine Kennwort-Datei angeben, die der Reihe nach durchprobiert werden. Damit kann man auch Kennwort geschützte Konfig-Dateien durchprobieren.
Wurde das Konfig-Kennwort gefunden, wird es ausgegeben. Handelt es sich um eine MAC-Adresse kann Konfig-Datei mit:

  • fb_tools konfig file-decrypt [if:Datei] [pass:MAC-Adresse] entschlüsselt werden.
 

Es sollte KLAR sein, dass man nur seine eigene Konfig-Dateien knacken darf.

fbtp_laborsync.php [dir:Lokal-Dir] <Option>

Aktuelle Labor Firmware-Images können Sie mit diesen Plugin automatisiert vom AVM-Server herunterladen. Als einziger Parameter wird ein Verzeichnis verlangt, wo die Firmware-Dateien gespeichert werden sollen.
Zusätzlich gibt einige neue Optionen, die das Verhalten beeinflussen:

  • -dl:[Sekunden]
    Wartezeit zwischen zwei Downloads
  • -f
    Es werden mögliche Fehler ignoriert.
  • -fd:[Datei]
    Erstellt zu den durchgeführten Downloads eine Datei-Liste mit den Vollen Download-Urls.
  • -fl:[Datei]
    Keine Firmware-Images herunterladen, sondern nur eine Download-Liste erstellen
  • -fp:[Pattern]
    Es werden nur die Firmware-Dateien heruntergeladen, die auf dem Pattern passen.
  • -md:<Datei>
    Wird keine Datei angegeben, werden gelöschte Dateien auf dem AVM-Server Lokal mit _DEL markiert bzw. umbenannt. Wird eine Datei angegeben, dann wird nur eine Liste den gelöschten Dateien erstellt.
  • -ow
    Alte Labor-Dateien werden mit neuen überschrieben.

fbtp_manualsync.php [dir:Lokal-Dir] <group> <lang>

langLand
beBelgië
befrBelgique
enEnglish
esEspaña
itItalia
lufrLuxembourg
luLuxemburg
nlNederland
plPolska
atÖsterreich
chSchweiz
chfrSuisse

Aktuelle PDF-Anleitungen können mit diesen Plugin vom AVM-Server heruntergeladen werden. Mit dem Parameter dir wird ein lokales Verzeichnis angegeben. Der Parameter group filtert die PDF-Anleitungen nach der Gruppe. Wird keine Gruppe angegeben, wird nichts gefiltert. Folgende Gruppen sind möglich: Box, Fon, WLAN, PowerLine, DECT, Additional und Schnittstellen. Zusätzlich ist Möglich mit dem Parameter lang die gewünschte Sprache auszuwählen, wenn es nicht Deutsch sein soll. (In der rechten Tabelle finden Sie die unterstützten Sprachen)
Des weiteren gibt einige Optionen, die das Verhalten beeinflussen:

  • -dl:[Sekunden]
    Wartezeit zwischen zwei Downloads
  • -dt:[Sekunden]
    Definiert die erlaubt Differenzzeit zwischen Ihren PC und dem AVM-Server. Erst wenn die überschritten wird, wird die PDF-Datei als neu erachtet.
  • -f
    Es werden mögliche Fehler ignoriert.
  • -fd:[Datei]
    Erstellt zu den durchgeführten Downloads eine Datei-Liste mit den Vollen Download-Urls.
  • -fl:[Datei]
    Keine PDF-Anleitung herunterladen, sondern nur eine Download-Liste erstellen
  • -fp:[Pattern]
    Es werden nur die PDF-Anleitungen heruntergeladen, die auf dem Pattern passen.
  • -md:<Datei>
    Wird keine Datei angegeben, werden gelöschte Dateien auf dem AVM-Server Lokal mit _DEL markiert bzw. umbenannt. Wird eine Datei angegeben, dann wird nur eine Liste den gelöschten Dateien erstellt.
  • -ow
    Alte Labor-Dateien werden mit neuen überschrieben.
  • -st:[Strftime]
    Doppelte PDF-Anleitungen werden mit Strftime umbenannt

fbtp_neustart.php

Startet die Fritz!Box über Weboberfläche neu. Abgesehen von Anmeldedaten der Fritz!Box benötigt dieses Plugin keine weiteren Parameter.

fbtp_unprotect.php

Einige Internet-Provider setzen auf ungebrandete Fritz!Boxen, wo nur Teile der Konfiguration gegen Einsicht und Veränderung geschützt sind. Dieser Schutz lässt sich mit dem Plugin aufheben. Als einziger Parameter wird opt mit on oder off erwartet. Anschließend wird die Konfig exportiert, modifiziert und wieder importiert. Nach dem Neustart sollten die Modifikationen wirksam sein.

fbtp_websync.php [dir:Lokal-Dir] [web:HTTP-Dir] <web:HTTP-Dir> ... <Option>

Syncronisiert alle Firmware Versionen auf dem AVM-Server mit einen Lokalen-Verzeichnis.
Mit dem ersten Parameter dir wird das Lokale-Verzeichnis definiert. Der Parameter web ist ein Multiparameter. d.H. er darf mehrmals angegeben werden. Wenn mehrere Web-Verzeichnisse angegeben werden, brauchen weitere Parameter nicht den Protokoll und Domain-Angabe. Die Server-Adressen von AVM lauten: https://download.avm.de, https://service.avm.de/downloads/ und https://osp.avm.de und können wie folgt angegeben werden:
fb_tools websync d:/AVM https://download.avm.de/fritzbox/fritzbox-7490 /fritzbox/fritzbox-7590 -gm -d
Ich Empfehle, dass man den korrekten Pfad mit dem Browser vorher ausprobiert.
Zusätzlich gibt einige Optionen, die das Verhalten beeinflussen:

  • -dl:[Sekunden]
    Wartezeit zwischen zwei Downloads
  • -do
    Unterverzeichnisse ignorieren
  • -f
    Es werden mögliche Fehler ignoriert.
  • -fd:[Datei]
    Erstellt zu den durchgeführten Downloads eine Datei-Liste mit den Vollen Download-Urls.
  • -fe:[ext,ext]
    Nur die angegebenen Datei-Typen herunterladen
  • -fl:[Datei]
    Keine Firmware-Images herunterladen, sondern nur eine Download-Liste erstellen
  • -gm
    Zeitangaben im Webverzeichnis als Greenwich Mean Time interpretieren
  • -md:<Datei>
    Wird keine Datei angegeben, werden gelöschte Dateien auf dem AVM-Server Lokal mit _DEL markiert bzw. umbenannt. Wird eine Datei angegeben, dann wird nur eine Liste den gelöschten Dateien erstellt.
  • -ow
    Alte Labor-Dateien werden mit neuen überschrieben.
  • -st:[Strftime]
    Doppelte Dateien werden mit Strftime umbenannt
  • -td
    Datum aller Mutterverzeichnisse ändern auf das Datum des letzten Downloads setzen

Reconnect

Veranlasst die Fritz!Box über UPnP sich im Internet neu einzuwählen. (Falls die Externe IP-Adresse geändert werden muss) Es werden bei Erfolg keinerlei Ausgaben gemacht!

 

Hinweis: Diese Funktion ist nicht über HTTPS nutzbar!


Smarthome [func:Funktion] <ain> <hkr> <file>

Mit dem Modus SmartHome kann Aktoren wie Schaltsteckdosen und Heizkörperregler schalten und auslesen. Um ein Aktor direkt zu steuern muss man die AIN oder die ID wissen. Alternativ kann man auch den Namen verwenden. (Letztere enthält meistens Leerzeichen und muss "Anführungszeichen" übergeben werden).
Eine Übersicht aller Aktoren erhält man mit den Befehl list:

list

Gibt eine einfache Übersicht aller Aktoren aus.
Beispiel:

  • fb_tools fritz.box smarthome list

csv <file:Datei>

Gibt wie list, eine einfache Übersicht aller Aktoren als CSV-Datei aus.
Mit der Option -cs kann man den Separator frei wählen.
Beispiel:

  • fb_tools fritz.box smarthome csv overview.csv -cs:","

json <file:Datei>

Gibt im gegensatz zu list oder csv eine umfangreiche Liste aller Aktoren als JSON-Datei aus.
Beispiel:

  • fb_tools fritz.box smarthome json overview.json

info [ain:Aktor]

Hiermit kann man sich sämtliche Informationen über einen Aktor als Texttabelle anzeigen lassen. Als Parameter ain wird eine eindeutige Aktor-ID erwartet, die eine AIN, ID oder der Name sein kann. (AIN und ID können OHNE Leerzeichen angegeben werden!)
Beispiel:

  • fb_tools fritz.box smarthome info 20
  • fb_tools fritz.box smarthome info 098760054321
  • fb_tools fritz.box smarthome info 04:08:15:16:23:42
  • fb_tools fritz.box smarthome info Pflanzenlicht

an/aus/off/on/schalt/switch [ain:Aktor]

Mit diesen 6 Befehlen lassen sich Schaltbare-Aktoren entsprechend schalten. Als Parameter ain wird eine eindeutige Aktor-ID erwartet, die eine AIN, ID oder der Name sein kann. (AIN und ID können OHNE Leerzeichen angegeben werden!)
Mit der Option -f kann man den Aktor direkt, ohne weitere Hilfestellung, ansprechen. (d.H. Es muss die korrekte AIN angegeben werden - ID oder Name gehen dann nicht!)
Beispiel:

  • fb_tools fritz.box smarthome on 21
  • fb_tools fritz.box smarthome aus 098760054321
  • fb_tools fritz.box smarthome switch 04:08:15:16:23:42 -f
  • fb_tools fritz.box smarthome schalt Pflanzenlicht

test [ain:Aktor]

Mit diesen Befehl läßt sich der aktuelle Schaltzustand eines Aktors abfragen. Als Parameter ain wird eine eindeutige Aktor-ID erwartet, die eine AIN, ID oder der Name sein kann. (AIN und ID können OHNE Leerzeichen angegeben werden!)
Beispiel:

  • fb_tools fritz.box smarthome test 23

set [ain:Aktor] [hkr:8-28|an|aus|komfort|spar]

Hiermit kann einen Heizkörperregler direkt auf eine Temperatur einstellen. Beim Parameter hkr entspricht komfort und spar, die in der Fritz!Box eingestellten Werte. Als Parameter ain wird eine eindeutige Aktor-ID erwartet, die eine AIN, ID oder der Name sein kann. (AIN und ID können OHNE Leerzeichen angegeben werden!)
Beispiel:

  • fb_tools fritz.box smarthome set 16 20
  • fb_tools fritz.box smarthome set 098760054321 spar

SupportDaten <file:Datei|Ordner|.> <func:ExTrakt|Datei> <-tm:(on|off)>

Alle Support-Daten der Fritz!Box auslesen. Beim Aufruf wird die Support-Datei im aktuellen Arbeitspfad oder im Angegebenen Verzeichnis erstellt. Mit Extrakt können die SupportDaten in einzelne Dateien aufgesplittet werden. (Ähnlich die Konfig ExTrakt) und man kann zusätzlich die Telemetrie-Daten mit -tm:on ein und -tm:off wieder ausschalten. Statt Extrakt kann man mit den Parameter func auch eine Datei angeben, die ausgesplittet werdem soll.
Beispiel:

  • fb_tools fritz.box supportdaten Support/ et
  • fb_tools fritz.box sd support.txt -tm:on
  • fb_tools sd Support/ func:supportdata.txt

SystemStatus <code:SupportCode>

Liest den Status-String aus gibt diesen in leserlicher Form aus! Ist ist auch Möglich einen eigenen SupportCode anzugeben.
Beispiel:

  • fb_tools fritz.box status
  • fb_tools status "FRITZ!Box Fon WLAN 7390-B-010203-040506-000000-000000-147902-840522-22574-avm-de"

WahlHilfe [tel:Rufnummer] <fon:Telefon>

Die Funktion Dial ist in Wahlhilfe umbenannt worden, aber dial ist z.Z. noch gültig. Nach Angabe einer Telefonnummer wählt die Fritz!Box selber und gibt das Telefonat an ein bestimmtes Telefon weiter. Es werden nur Zahlen sowie * und # akzeptiert. Alle anderen Zeichen werden für die Telefonnummer ignoriert. (Leerzeichen dürfen nicht ohne "Anführungszeichen" übergeben werden)
Beispiel:

  • fb_tools fritz.box wahlhilfe *111#0123456789
  • fb_tools fritz.box wahlhilfe "*111# 0123 456789"

Besteht eine Rufnummer nur aus Sonderzeichen dann wird aufgelegt!
Beispiel:

  • fb_tools fritz.box wh -
Code:Anschluss:
1-4FON 1-4
50ISDN & DECT
51-58ISDN 1-8
60-65DECT 1-6

Optional kann zusätzlich das Telefon für die Wahl mit angegeben werden! Man kann entweder die Interne Rufnummer für das Telefon verwenden oder den Anschlussnamen. ( OHNE Leerzeichen!)
Beispiel:

  • fb_tools fritz.box wahlhilfe 0123456789 1
  • fb_tools fritz.box wahlhilfe 0123456789 FON1
  • fb_tools fritz.box wahlhilfe 0123456789 61
  • fb_tools fritz.box wahlhilfe 0123456789 DECT2
 

Hinweis: Die Wahlhilfe der Fritz!Box unterstützt KEINE IP-Telefone!

 

Es werden außer im Fehlerfall, keinerlei Ausgaben gemacht!


Bekannte Probleme

  • Intern arbeitet fb_Tools mit der ANSI-Kodierung: ISO_8859-1, das Terminal arbeitet, je nach Betriebssystem, mit entsprechenden Voreingestellte Zeichen-Kodierung und die neueren Fritz!Boxen arbeiten mit UTF-8.
    Sind die Zeichen-Kodierungen unterschiedlich, können bei der Parameterübergabe oder bei der Ausgabe, Übersetzungsfehler auftreten. Insbesondere bei Kennwörtern!
    Abhilfe: Meiden Sie Umlaute oder Sonderzeichen außerhalb der 7Bit Ascii-Kodierung!
  • Für die Entwicklung von fb_Tools werden Deutschsprachige Fritz!Boxen eingesetzt, wird nun fb_Tools an einer Internationalen Fritz!Box betrieben, können Sprach-bedingte Nebeneffekte auftreten.
  • Da mir ausschließlich DSL-Boxen zum testen zur Verfügung stehen, ist das verhalten an Fiber, Kabel, LTE und Internationale Geräte ungetestet! Gleiches gilt auch für MacOS!

Getestet:

  • Fritz!OS 4.01 - 7.1
  • Fritz!Box 3030, 3131, 3270, 5140, 40xx, 7xxx
  • Fritz!Repeater N/G, 300E, 310, DVB-C, 1750E
  • Fritz!Powerline 540E, 546E

Benutzte Bibliotheken:


Fragen & Antworten

Ich habe mein Anmeldekennwort vergessen! - Kann man es mit fb_Tools hacken?

Nein! fb_Tools ist KEIN Hacking-Tool. Entweder Sie suchen weiter oder Sie setzen Ihre Fritz!Box zurück.
 

"Der Befehl ""php"" ist entweder falsch geschrieben oder konnte nicht gefunden werden."

Sie haben vergessen PHP zu installieren! - oder Sie haben fb_tools.bat nicht in das PHP-Verzeichnis kopiert.
 

Warum liegt PHP nicht im Archiv mit bei?

Erstens: fb_Tools wurde für mehrere Betriebssysteme Programmiert, wo man unmöglich alle entsprechende PHP-Versionen mit bei legen kann und zum anderen: Ich bin KEIN Download-Hoster! Für Windows-Benutzer habe ich ein Neben-Projekt PHP Batch, wo man verschiedene PHP-Binaries bei mir herunterladen kann.
 

Warum werden von Ihnen so alte PHP-Version empfohlen? Haben die nicht alle Sicherheitslücken?

Ja! Haben sie! ABER: In der CLI-Version greifen diese Lücken nicht, da Sie als Skript-Benutzer schon alle Rechte auf der Konsole haben. Cross-Site-Scripting funktioniert nicht, da die Konsole kein HTML oder JavaScript kann. (Okay: SQL-Injection wäre tatsächlich möglich, aber vor solchen Fehlern kann PHP nicht schützen - Da muss schon der Programmierer aufpassen)
Wenn man fb_Tools direkt mit einen Webserver betreiben möchte, dann sollte man in der Tat auf ältere PHP-Versionen verzichten, da dann die Sicherheitslücken sehr wohl Relevant werden. - Wer möchte, kann sich mein Projekt: Attack Forum mal genauer ansehen, dort habe ich mit Sicherheitslücken ein wenig herumgespielt ;-)
Auf der anderen Seite sind Programmierfehler oder Änderungen mit neueren PHP-Version viel wahrscheinlicher als mit älteren PHP-Versionen. z.B. Gibt es ein Problem mit PHP 7.0, wo auf einigen Betriebssystemen der UTF-8-Support unvollständig ist!
Daher Empfehle ich gerne für die CLI-Version ältere PHP-Versionen, da sich dort nichts mehr gravierendes ändern wird.
Zur Zeit nutze ich für die Entwicklung von fb_Tools bei Windows PHP 5.4.45 und Linux mit PHP 7.2.
 

Wird es eine GUI / Benutzeroberfläche kommen?

Nein! fb_Tools ist als Konsolen-Programm gedacht und es ist keine Oberfläche geplant.
Aber es gibt eine JavaScript-Version und für Windows eine Version in VBScript, die Teilweise eine GUI mitbringen.
 

Die Übergabeparameter für die Fritz!Box-Adresse sind Kryptisch - Warum?

Das Problem WAR die Windows-Version - Da waren eine ganze Zeit lang nur maximal 9 Parameter möglich und so musste ich etwas sparsam sein - Jetzt ist das Geschichte und man kann nun mit den Optionen: -fb:[fritz.box], -un:[Benutzername], -pw:[Kennwort] arbeiten.
Ich Empfehle die fb_config.php für die Zugangsdaten zu verwenden, da manche Betriebssysteme die Konsolen eingaben unverschlüsselt mit loggen.
 

Welche Funktionen sind noch zu erwarten?

Ereignisse, Telefonbuch, Smarthome, Internetstatus, TR064, Plugins, Konfig-Datei Entschlüsselung ohne Fritz!Box, usw.
 

Wird es von fb_Tools auch eine Internationale-Version geben?

Wenn sich jemand als Übersetzer Anbietet, läßt sich möglicherweise drüber reden...
 

"Telefoniert" fb_Tools nach Hause?

Ja! Die Funktion, die das tut, nennt man Update :-)
Es wird ca. 3.5 mal im Jahr eine Hash-Datei angefordert, und geprüft, ob es ein Update gibt. - Das eigentliche Update müssen sie Manuell auslösen.
Abschalten kann man es mit der Variable $cfg['upda'].

Programmgeschichte

V0.26 23.09.2019

  • BUG: Workaround unwirksam, wenn zlib nicht vorhanden ist
  • BUG: Benannte Argumente wurden trotz fehlgeschlagener Prüfung akzeptiert
  • BUG: Konfig File-DeCrypt sucht sich tot, wenn kein richtiges Kennwort angegeben wurde
  • NEU: Option -cc:[KonfigDatei] dazu gekommen, um eine alternative Benutzerkonfig nachzuladen
  • NEU: Option -pp:<PluginPath> dazu gekommen, um Plugins in einen alternativen Ordner zu benutzen
  • Es können jetzt auch einzelne Plugins installiert/aktualisiert werden
  • Info Extension zeigt jetzt auch zlib an (.gz-Support)
 

V0.25 11.09.2019

  • BUG: Lokale Benutzer-Konfig konnte nicht gefunden werden
  • BUG: cfgdecrypt konnte in bestimmen Fällen nicht den AES-Key finden
  • FIX: Anpassungen an PHP 5.2 und älter vorgenommen
  • NEU: Plugins: LED und AnrufListe (Call) sind nun bestandteil von fb_tools
  • NEU: Plugins können nun ohne den Parameter "Plugin" aufgerufen und von fb_tools installiert/aktualisiert werden
  • NEU: SmartHome für unterstützung für Schaltsteckdosen und Heizregler (Schalten und Daten ermitteln)
  • NEU: Unterstützung von benannten Argumenten in beliebiger Reihenfolge (pass:admin123 func:export mode:konfig)
  • NEU: Login über HTTPS mit älteren Fritz!Boxen ermöglicht (Funktioniert nur mit PHP 5.4 - 5.5 / OpenSSL 0.98)
  • NEU: Konfig File-DeCrypt akzeptiert Password-Listen (Als Datei oder direkt angegegen: pass[,]:foo,bar,admin)
  • NEU: Kontextbasierte Optionen ermöglicht und Option -ua für User-Agent dazu gekommen und Option -dl umbenannt in -pe
  • Sämtliche Funktionen können nun GZip-Dateien mit stftime erstellen
  • Interne Funktionen request(), file_content(), preg_array(), ifset(), listDir() erweitert/ersetzt
  • Drag'n'Drop-Modus geändert ',' ersetzt durch '*'
  • Verbesserte Ausgabe von Text-Tabellen
  • Codepage-Tabellen erweitert und verbessert
  • Dial wurde in Wahlhilfe umbenannt und unterstützt Telefonbezeichnungen als Angabe für das Telefon
  • Zur vereinfachung in fast allen Beispielen, die Login-Angabe durch fritz.box ersetzt
 

V0.24 10.04.2019

  • Bug: Plugins wurden nicht mit Absoluten Pfad gefunden
  • Bug: SupportDaten konnten ab Fritz!OS 6.8 nicht mit Telemetrie gespeichert werden
  • Funktion Dial an Fritz!OS 7.1 angepasst
 

V0.23 01.04.2019

  • Bug: Etliche Anpassungen an PHP 7.x
  • Bug: Ereignisse konnten ab OS.6.69 nicht gefiltert werden
  • Bug: Unsinnige Dateigröße wird im Debug-Modus ignoriert
  • Bug: konfig2array hat Strings, die nicht in Anführungszeichen waren, als Integer interpretiert
  • Plugin-Aufruf überarbeitet und vereinfacht
  • Konfig-Decrypt 0.23 ist End-Of-Service und wurde in ein Plugin verbannt (fbtp_konfigdecrypt.php)
  • Neue Entschlüsselungsfunktion implementiert, die keine Fritz!Box zum entschlüsseln benötigt
  • Zugangsdatenübersicht erweitert (Diagnose/Wartung, Netzwerkumgebung, TR-64, GUI-Unterordner)
  • Eigenen UTF-8 En/Decoder implementiert
  • SystemStatus verbessert (Jetzt mit Bootloader-Hash)
  • Boxinfo verbessert (Unterstützung von juis_boxinfo.xml)
  • Option -dl:[extension] dazu gekommen, um ohne rückfrage PHP-Erweiterungen nachzuladen
  • HTTPS-Requests über die Option -p:https möglich, wenn die PHP-Erweiterung OpenSSL verfügbar ist
  • Updates werden, wenn möglich, über https abgefragt/heruntergeladen
 

V0.22 11.04.2017

  • Bug: date.timezone wird nun etwas früher gesetzt
  • Bug: Ereignisse machte bei deaktivierten wrap Probleme
  • Bug: Windows-Laufwerksbuchstaben wurden bei Pathangaben entwertet
  • Bug: SID-Option funktionierte nicht richtig
  • Neuer Parameter für Login (Speichert SID mit Firmware-Version und Host-Daten)
 

V0.21 01.04.2017

  • Bug in Anmeldung mit älteren Boxen behoben
  • Bug in Info StrfTime entfernt, die bei Windows 2000 / XP auftreten
  • Downloads können auch mit GZip gepackt werden
  • Erste vorbereitungen getroffen, um fb_Tools außerhalb der Konsole zu betreiben
 

V0.20 20.03.2017

  • Char-Kodierung: cp65001 (utf8) hinzugefügt
  • Workaround für PowerShell Erkennung verbessert
  • GetIP: Filter implemmentiert
  • Konfig DeCrypt: Internationale Sprachen an OS 6.8 angepasst
  • Konfig Extract: pattern.txt in index.txt umbenannt
  • Konfig Extract/File/Import: Unterstützung von gz-Dateien / tar/tgz-Archiven
  • SupportDaten: Unterstützung von gz-Dateien
  • SupportDaten Extrakt: Unterstützung von tar/tgz-Archiven
  • pcre.backtrack_limit von 16 MB auf 64 MB erhöht
 

V0.19 29.01.2017

  • Bug in Auto-Update-Check beseitigt
  • Firmware wird nun auch bei Labor-Versionen korrekt erkannt
  • Ereignisse und Konfig-DeCrypt an OS 6.8 angepasst
  • Workaround für Konfig-DeCrypt an Fritz!Box 7312 implemmentiert
  • GetIP unterstützt nun auch DNS und IPv6
  • Info StrfTime implementiert
  • Workaround für HTTP-Fehler 503 implementiert
 

V0.18 20.08.2016

  • Bug: Downloads waren teilweise immer file.bin
  • Bug: Bei allen HTTP-Requests wurden fehlerhafte HTTP-Header geschickt
  • Zugangsdatenübersicht an Repeatern angepasst
  • PHP Extensions werden auch im Unterordner ext gesucht
  • Char-Kodierung: ASCII hinzugefügt
 

V0.17 06.08.2016

  • Bug: FRITZ!WLAN Repeater N/G machte probleme beim Login und im Dateinamen
  • Bug: SID wird nur noch dann gesendet, wenn eine vorhanden ist
  • Bug: Beim Update unter Linux wurde chmod nicht korrekt gesetzt
  • Debug-Behandlung verbessert
  • Optionen-Erkennung etwas verbessert
  • Timeout für sehr langsame Fritz!Boxen von 3 auf 30 Sekunden erhöht (ist mit -t:<sec> veränderbar)
  • UpGrade in "info update" umbenannt
  • Konfig-DeCrypt verbessert (Entschlüsselt auch Kennwörter im Binaer-Bereich der Konfig - Danke für den Hinweis)
  • Zugangsdatenübersicht mit DECT-eMail erweitert
  • Supportdaten ünterstützt nun ab OS6.5 Telemetrie
  • Alle Neu erstellen Ordner unterstützen strftime im Ordnernamen und können weitere Unterordner enthalten
 

V0.16 20.07.2016

  • Bug in Drag entfernt (Parameterzähler war falsch)
  • Bug: Ansi-Ausgabe war nicht Möglich - jetzt auch zusätzlich cp1252, iso8859
  • Kleine Bugs in Dial und Login/out entfernt
  • Windows-Version an die PowerShell angepasst und Einschränkung mit 9 Maximalen Parametern aufgehoben
  • Optionen erweitert - Jetzt können die Optionen auch einzeln übergeben werden
  • Option -s akzeptiert auch eine Datei, in der sich die SID befindet
  • Option Hilfe aufgeteilt (Beispiele und Optionen können zusätzlich ausgegeben werden)
  • Neue Optionen zum Einloggen (-fw, -fb, -un, -pw, -pt) implementiert
  • Konfig-DeCrypt verbessert (Entschlüsselt auch Konfigurationen mit mehreren Kennwörtern - Danke an Herby007)
  • Zugangsdatenübersicht für WLAN, VoIP und TR069 verbessert, unnötige Einträge werden in der Übersicht weggelassen
  • NEU: Ereignisse können ausgelesen und Syncronisiert werden
  • NEU: SupportDaten können ab OS 6.5 extrahiert werden
  • Interne Routinen zu Login, Optionen und Konfig geändert bzw. verbessert
  • Kleines EasterEgg versteckt
 

V0.15 07.07.2016

  • Bug in der UpGrade-Funktion entfernt (Das Umbenennen war fehlerhaft)
  • Option -s (sid) erweitert (Damit sind umfangreiche Batch-Dateien möglich)
  • Option -w (Wortumbruch) erweitert (Unter Windows wird ebenfalls die Konsolen-Breite automatisch ermittelt)
  • Zugangsdaten können auch bei einer Internationalen Fritz!Box (z.B. 4020) ausgelesen/entschlüsselt werden
  • Verbesserte Fehlermeldung
  • Auto-Update Check implementiert (Abschaltbar)
  • Konfig->JSON Konverter implementiert
  • Request-Download implementiert (z.Z. nur für SupportDaten und Konfig Export)
  • Debug-Ausgabe erweitert
  • Plugin-Schnittstelle eingebaut, damit können eigene Scripte in fb_Tools eingebunden werden (Mit Beispielscript)
 

V0.14 30.06.2016

  • Bug in der Import-Funktion entfernt
  • Workaround wenn PHP kein utf8 unterstützt (PHP 7.0 ohne php-xml unter Linux)
  • Option -c:7bit implementiert (Fallback auf 7Bit wenn PHP kein utf8 unterstützt)
  • UpGrade zeigt als Gag Cookies an ;-)
  • Drag'n'Drop-Modus implementiert
  • Suchfunktion für Zugangsdaten neu entwickelt (Leider auch nicht viel besser...)
 

V0.13 25.06.2016

  • Bugs mit großeren PHP-Versionen entfernt
  • Bug in der Konfig-Checksum berechnung entfernt
  • Arbeitsgeschwindigkeit Optimiert (strtr)
  • Text-Ausgabe verbessert
  • Option -d verbessert (Mit Bit-Codierung)
  • Option -w (Wortumbruch) implementiert (Unter Linux wird die Konsolen-Breite automatisch ermittelt)
  • Option -o (File-Output) implementiert
  • Option -c:html implementiert
  • NEU: Fritz!Konfig kann als Ordner im/exportiert werden (Mit Checksum berechnung)
  • NEU: Alle Zugangsdaten können OHNE Telnet aus der Fritz!Konfig ausgelesen und angezeigt werden
  • NEU: Die aktuelle Version kann mit dem Internet abgeglichen werden (mit automatischen Update)
 

V0.12 16.06.2014

  • UPnP-Funktionen ermitteln den Link-Pfad selber
  • Erste anpassungen für PHP 5.5 (preg_replace -> preg_replace_callback)
  • Unterstützung von CRYPTEDBINFILE bei Powerline-Konfig
 

V0.11 17.02.2014

  • Config in Konfig umbenannt
  • Konfig akzeptiert auch DOS/Windows Dateien
  • Konfig File implemmentiert
  • Keine Trennung mehr zwischen Modes mit und ohne Login
  • Script läuft immer bis zuende durch (Kein DIE oder EXIT mehr)
  • Bug in Dial behoben (Das Telefon könnte nicht ausgewählt werden)
 

V0.10 07.01.2014

  • Config Export/Import implementiert (Mit CheckSum berechnung)
  • Boxinfo implementiert (Jason_Boxinfo.xml)
  • Interne Request-Funktion erweitert
  • Weitere kleine Hilfs-Unterfunktionen implemmentiert
  • Anpassung an PHP 5 für große RegEx-Ergebnisse
 

V0.09 22.10.2013

  • Info-Option erkennt auch kurzschreibweise
  • Bug im Dialer behoben: # lässt sich nicht wählen
  • Externe IP ermittlung der aktuellen Firmware angepasst
 

V0.08 01.04.2013

  • Hilfe-Ausgabe verbessert
 

V0.0 - 0.07 19.01 - 30.03.2013 (Interne Releases)

  • Interne Request Funktion implementiert
  • Login & Logout Funcktion implementiert
  • Einfache Hilfeausgabe implementiert
  • SystemStatus implementiert
  • Fehlerverarbeitung verbessert
  • Interne UPnP-Request Funktion implementiert
  • GetIP implementiert
  • Reconnect implementiert
  • Option -c (Kodierung für die Konsole) implementiert
  • Option-übergabe implementiert
  • Hilfeausgabe verbessert
  • Kleiner Bug in SystemStatus behoben
  • Optionen -d (Debug) und -t (Timeout) implementiert
  • Hilfeausgabe weiter verbessert
  • Interne Request Funktion überarbeitet (POST/Multipart)
  • SupportDaten implementiert
  • Option -b (Buffergröße) implementiert
  • Programmablauf für Login-Funktionen überarbeitet
  • Automatische ermittung der Kodierung von der Konsole implementiert
  • Info implementiert
  • Dial implementiert
  • Hilfeausgabe weiter verbessert

 << Links | Home | Serien >> << Fritz!Box JSTool | Projekte | Fritz!Box VBScripte >>