Inhalt

 



Menü Ausschalten

MEngelke.de / Projekte / Fritz Box / Fritz!Box Tools (.dg)

Fritz!Box VBScripte

zu HTTPS wechseln Suchen Drucken RSS-Feed eMail

Fritz!Box Tools

Fritz!Box Tools ist eine Multi-Funktions-Sammlung, um Daten aus der Fritz!Box auszulesen und wieder einzuspielen oder um automatisiert Funktionen in der Fritz!Box auszulösen.
Mit vielen Plugins wird die Funktionsvielfalt ständig erweitert.

 

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

Unterstützte Betriebssysteme

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

Lizenz

Copyright © 2013-2020 Michael Engelke <https://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 <https://www.gnu.org/licenses/>.

Download

# md5_summer 16.11.2020 19:07:42 (fb_tools 0.29) 30a311ed52b966951d0dfac3de3dcc83 *fb_tools.bat aaeb34a4a9a3d929c15f9e6ef25f9fe4 *fb_tools.php d6c2b309ca38e2cf28249ac82c3eb82c *fb_tools.php.gz a596b2efad4e0520f283fe536fd5d623 *fb_tools.7z 8e0a825bd8087906f207a9223e39523d *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.1 oder neuer benutzen.
Die unterstützten PHP-Erweiterungen Bzip2, MCrypt, MHash, OpenSSL, MySQLi und SQLite3 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

Alle Betriebssysteme

Solange es PHP ab Version 4.4 für das Betriebssystem gibt, ist auch fb_tools lauffähig. Befindet sich PHP innerhalb der path Variable kann fb_tools.php wie folgt aufgerufen werden:
php fb_tools.php
Ansonsten muss man Notfalls den kompletten Pfad mit angeben (Entsprechend der Schreibweise des Betriebssystems):
/Service/PHP/php /fritzbox/fb_tools.php
Unterstützung kann ich nur für Windows und Linux anbieten - da ich andere Betriebssysteme nicht testen kann...

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
  • Für das neue Login-Verfahren (PBKDF2 ab Fritz!OS 7.24) wird idealerweise PHP 5.5 oder neuer benötigt. Alternativ wird das HashTool-Script benötigt, was im Archiv fb_tools.7z mit bei liegt. Und sollte PHP älter sein als 5.1.2, noch zusätzlich die Dateien php_mhash.dll und libmhash.dll.
  • Um Bzip2 lesen/schreiben zu können wird die Erweiterung: php_bz2.dll benötigt. (Es werden nicht alle Dateioperationen unterstützt)
  • Um das Plugin SQLDB nutzen zu können wird die Erweiterung: php_mysqli.dll und/oder php_sqlite3.dll benötigt.
 

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

Windows mit BusyBox

Diese etwas gefahrene 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/FritzBox-Tools.html | grep -a -o -E '/Projekte/FritzBox;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.
  • Optional kann noch einige PHP-Erweiterungen nachladen, die von fb_Tools unterstützt werden:
    sudo apt install php-bz2 php-mysqli php-sqlite3

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/FritzBox-Tools.html | grep -a -o -E '/Projekte/FritzBox;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 alternativ auch php 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/FritzBox-Tools.html | grep -a -o -E '/Projekte/FritzBox;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 alternativ auch php 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/FritzBox-Tools.html | grep -a -o -E '/Projekte/FritzBox;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 alternativ auch php fb_tools.php
 

Getestet mit MacOS X 10.6 Snow Leopard (PHP 5.3)
Erfolgreiche Rückmeldungen: (Vielen Dank an die Tester)

  • Mac OS Sierra 10.12.4 mit PHP 5.6.30 von Roland F.
  • Mac OS Catalina 10.15.6 von Dirk B.
  • Mac OS Catalina 10.15.7 mit PHP 7.3.11 von Steven K.
  • Sollte es jemanden geben andere Tests/Erfahrungen gemacht hat, kann es mir gerne mitteilen ;-)

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

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.)

 

Ab Fritz!OS 7.24 wird ein neues Login-Verfahren (PBKDF2) eingesetzt, dass idealerweise PHP 5.5 voraussetzt. Alternativ reicht auch die HashTool-Bibliothek. Allerdings sollte man dann Mindestens PHP 5.1.2 oder die MHash-Erweiterung haben. Mit SHA256-Bibliothek geht es Notfalls auch, ABER dann würde der Login ca. 15 Minuten dauern. 8-O (Das MD5-Login-Verfahren kann man mit -fw:723 oder kleiner erzwingen.)


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

Ab fb_Tools 0.28 können die Optionen zusammen mit den Argumenten übergeben werden und dürfen nicht im letzten Parameter zusammen geschrieben werden. Alle Optionen müssen mit ein Minus-Zeichen eingeleitet werden.
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.
Beispiel:

  • fb_tools fritz.box info -d-w:80-o:ausgabe.txt - Ab fb_Tools 0.28 nicht mehr Gültig!
  • 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)

-cc:[Config-File] für Eigene Einstellungen

Falls man mehrere Konfig-Dateien oder die Konfig-Datei von einen besonderen Ort laden möchte, kann mit -cc die Datei manuell angeben.
Beispiel:

  • fb_tools fb7590 supportdaten -cc:/veracrypt1/fritzbox/fb_config.php

-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

-nu für KEIN Update-Check

Unterdrückt die Regelmäßige Update-Prüfung.
Beispiel:

  • fb_tools getip -nu

-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"

-pe:[Extension] für PHP-Erweiterung

Wenn fb_Tools irgendeine PHP-Erweiterung laden soll, kann dies mit -pe:[...] erzwingen. Die Angabe wird direkt an dl() übergeben.
Beispiel:

  • fb_tools info et -pe:"php_openssl.dll"

-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

-ua:[String] für UserAgent

Definiert einen eigenen UserAgent. FB_Tools generiert ein UserAgent mit Technischen-Daten vom Betriebssystem. Wer dies nicht möchte, kann mit der Option einen eigenen festlegen. In der Konfig-Datei kann dies mit $cfg['head'] = array('User-Agent' => 'fb_tools'); dauerhaft festlegen.
Beispiel:

  • fb_tools info webget http://example.org -ua:"fb_tools"

-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/BZip komprimierte Dateien zu verarbeiten. Der Dateiname muss dann auf .gz für GZip oder .bz2 für BZip 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. Falls Sie ein anderes Datum-Format in der Ausgabe wünschen, können Sie es mit -ft:'strftime' ändern. 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. Falls Sie ein anderes Datum-Format in der Ausgabe wünschen, können Sie es mit -ft:'strftime' ändern. 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 unbenannte 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 unverändert 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.
  • Das Konfig-Format hat sich ab Fritz!OS 7.19 geändert - fb_Tools unterstützt dies ab Version 0.27!
  • 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 [auto|off|low|on|high|aus|dunkel|an|hell|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 der Test Funktion kann der Status der LEDs abgefragt werden.
Ab Fritz!OS 7.20 gibt es zusätzliche Optionen für Helligkeit Hell/Dunkel bzw. low/high sowie auto für Automatische Helligkeitsanpassung. (Natürlich muss das auch die Fritz!Box unterstützen!)
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 16.11.2020 17:54:22 (fbt_plugins.tgz) 41890e67a1f847aec6b6bff59ce76cf4 0.01 *fbtp_callmonitor.php eebbf8ba05874c791f5439706189e452 0.28 *fbtp_konfigdecrypt.php 6cb8841d73d7958a05589d3420a8bc62 0.02 *fbtp_konfighacker.php 6f9d08eca8e5fda8bffa6ee18a2030d8 0.06 *fbtp_laborsync.php 7c952f28f22289d7f0227ea7575a39d0 0.02 *fbtp_manualsync.php 818d98e7250b0b93904b20338c6e295f 0.03 *fbtp_neustart.php 2542a2d6b112259979aa57817dbe2945 0.02 *fbtp_otpauth.php cca1e13644815739259ca1047e6e81af 0.01 *fbtp_phonebook.php 0b802cfa58dc63565ac51c2632d19a8a 0.02 *fbtp_sqldb.php cd190037f0666b36b64e3aa4572b2206 0.00 *fbtp_test.php d226d53cb6297af08834db2f802a7f41 0.03 *fbtp_unprotect.php c29809253bf619492f336d216e6088e7 0.07 *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 pro 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_otpauth.php [secret|preset|file] <time>

Die Zwei-Faktor-Authentisierung der Fritz!Box kann ab Fritz!OS 7 mit einen sechsstelligen Token durchgeführt werden. Dazu wird das 160 Bit Geheimnis (Der Code ist entweder zusammen geschrieben oder in 8 Blöcken zu je 4 Zeichen unterteilt) benötigt, das die Fritz!Box bei der Erstellung für den Google Authenticator generiert hat.
Von den zwei Möglichkeiten können Sie sich eine aussuchen:

  • Der 32-Zeichen langer Code, der als Fallback mit den QR-Code mit angeboten wird, für Fall, dass man keine Kamera im Smartphone hat
  • Aus der entschlüsselten Export-Datei sucht man die Variable "googleauth_sharedsecret" heraus und übernimmt den 32-Zeichen langen Code
 

Entweder wird PHP in der Version 5.1.2+ oder es wird die Bibliothek hashtool.php in den libs-Ordner benötigt.

 

Es gibt nun drei Möglichkeiten fb_Tools das Geheimnis zu übermitteln:

  • Direkt mit den Parameter secret
    Beispiel: fb_tools otpauth secret:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
  • In der Datei fb_config.php und den Parameter preset
    Beispiel für die fb_config.php:
    $cfg['plugin']['otpauth']['preset'] = array('meinebox' => 'ABCD EFGH IJKL MNOP QRST UVWX YZ23 4567');
    Beispiel für den aufruf: fb_tools otpauth preset:meinebox
  • Das Geheimnis wird direkt in einer Datei geschrieben und an fb_Tools mit file übergeben.
    Beispiel: fb_tools otpauth file:"Z:/otp.txt"
 

Mit den Optionalen Parameter time kann man Datum/Uhrzeit angeben, zu wann der Token gültig sein soll. (Vorzugsweise im Format: YYYY-MM-DD HH:MM:SS)
Beispiel: fb_tools otpauth preset:meinebox time:'2020-11-26 07:27:14'

 

Zusätzlich gibt es noch zwei Optionen:

  • -ft:[strftime] - Kann zusammen mit Option -rp verwenden, um ein eigenes Datum-Format zu erzeigen
  • -rp:[count] - Erzeugt die angegebene Anzahl von Tokens, die zusammen mit Datum/Uhrzeit ausgegeben werden, wann diese Gültig sind.

fbtp_sqldb.php [func] [mysql|sqlite|preset] <query|sql> <file>

Liest aus der Fritz!Box die Anrufliste, Ereignisse oder den Traffic-Zähler aus und schreibt diese in eine MySQL oder SQLite Datenbank.
Dieses Plugin richtet sich demnach an die jenigen, die wissen was eine Datenbank ist und wie man die Datenbank administriert.
Unterstützt werden die Datenbanken MySQL 4.1+ und SQLite 3.8+ mit den entsprechenden Erweiterungen: mysqli und sqlite3.
Wer noch nie mit Datenbanken gearbeitet hat, sollte von MySQL vorerst die Finger lassen. SQLite ist für Anfänger gut geeignet. (Eine Datenbankdatei ohne Benutzer oder Zugriffsverwaltung).

 

Weitere Datenbanken sind bislang noch nicht geplant. Die SQL-Anweisungen im Quelltext sind Augenscheinlich für SQLite geschrieben, werden falls erforderlich, mit Regulären Ausdrücken für MySQL umgewandelt.
Bei dem Design der Tabellen habe ich einen Kompromiss zwischen Einfach und Redundanzarm getroffen. d.H. Es gibt alle Funktionen eine Haupttabelle und eine für zusätzliche Daten. Alle Daten können jederzeit Export und Import werden. (Falls sich das Datenbankschema mal ändern sollte)

 

Um mit PHP auf eine Datenbank zugreifen können, werden die PHP-Erweiterungen: mysqli und/oder sqlite3 benötigt.

  • Windows-Nutzer können die Entweder aus den PHP-Original-Archiv oder aus der WebPHP-Variante von meinen Projekt: PHPBatch entnehmen. (php_mysqli.dll und php_sqlite3.dll)
  • Linux-Nutzer installieren einfach die Pakete php-mysqli und php-sqlite3 nach. Ich Empfehle zusätzlich noch den sqlitebrowser nach zu installieren, da man damit die Datenbank gut einsehen kann.
  • MacOS-User müssen vermutlich nichts weiter tun - wenn doch, kann mir jemand das gerne mitteilen ;-)

Mit fb_tools info extension kann man testen, ob die PHP-Erweiterungen korrekt installiert sind.

 
$cfg['plugin']['sqldb']['preset'] = array(
'mydb' => array(
 'type' => 'mysqli',
 'host' => 'localhost',
 'port' => 3306,
 'user' => 'root',
 'pass' => '12345',
 'base' => 'fb_tools'
),
'lite' => array(
 'type' => 'sqlite3',
 'file' => 'pfad/sqlite.db')
);

Beispiel für fb_config.php

Für den Zugriff auf die Datenbank gibt es drei mögliche Argumente:

  • [mysql:'username:password@mysql-server:port/database'] - Für Zugriff auf MySQL-Datenbanken
  • [sqlite:'pfad/dateiname'] - Für Zugriff auf eine Lokale SQLite3-Datenbank
  • [preset:name] - Datenbank aus der fb_config.php auswählen (Siehe Rechts)
 

Als aller erstes muss man die Tabellen anlegen.

  • Bei MySQL sollte man dazu vorher eine Unterdatenbank und einen Benutzer mit entsprechenden Rechten anlegen.
  • Für SQLite gibt nichts weiter zu beachten. Einfach nur eine nicht existiere Datei angeben.

fb_tools wird dann mit der Datenbank zusammen mit init aufrufen.
Beispiel:
fb_tools sqldb mysql:'user:pass@localhost:3306/fb_tools' init
fb_tools sqldb sqlite:'./meinebox.db' init

 

Speziell für init gibt einige Optionen: -dt, -f, -it (Siehe Optionen - weiter unten)
Die Optionen -pf und -pm müssen entweder immer wieder angegeben werden oder können auch in fb_config.php hinterlegt werden.

Funktionen (func)Beschreibung
Call | AnrufListeAnrufliste der Fritz!Box mit Datenbank abgleichen[1]
Call-Export <file>Datenbank-Export der Anrufliste als CSV-Datei[2,3]
Call-Import [file]Datenbank-Import der Anrufliste von einer CSV-Datei[2,3,4]
Event | EreignisseEreignisse der Fritz!Box mit Datenbank abgleichen[1]
Event-Export <file>Datenbank-Export der Ereignisse als CSV-Datei[2,3]
Event-Import [file]Datenbank-Import der Ereignisse von einer CSV-Datei[2,3,4]
Traffic | VerkehrDaten-Zähler der Fritz!Box mit Datenbank abgleichen[1]
Traffic-Export <file>Datenbank-Export der Daten-Zähler als CSV-Datei[2,3]
Traffic-Import [file]Datenbank-Import der Daten-Zähler von einer CSV-Datei[2,3,4]
InitTabellen für die Anrufliste, Ereignisse und Traffic erstellen[2]
Query | Abfrage [sql] <file>Eigene Datenbank-Abfragen durchführen[2,3]
Query [query] <file>Vorgefertigte Datenbank-Abfragen durchführen[2,3]
(1) Fritz!Box Anmeldung erforderlich
(3) GZip/BZip2-Unterstützung
(2) Ohne Fritz!Box nutzbar
(4) Verzeichnis mit mehreren Dateien

Die Funktionen in SQLDB sind in drei Gruppen aufgeteilt, die wiederum in drei Gruppen aufgeteilt sind:

  • Einmal die Art der Daten: Anrufliste, Ereignisse und Verkehr. Die Deutschen Namen sind keine Pflicht. Möglich sind auch call, event und traffic (Intern werden nur die Englischen Namen verwendet, da auch die Tabellen so heißen.)
  • Und dann die Richtung der Daten: Aus der Fritz!Box, Import und Export.
 

Bei Export werden die Daten in einer CSV-Datei umgewandelt, so als ob sie aus der Fritz!Box gekommen wären. Die Datei kann mit GZip/BZip2 komprimiert oder als komprimierte Datei gelesen werden. Wird beim Export KEINE Datei angegeben, wird eine Tabelle auf den Bildschirm erzeugt und auf 100 Einträge reduziert. (Bei Zuvielen Daten bricht fb_Tools in sich zusammen)

 

Beim Import ist eine Verzeichnis-Angabe und das Wildcard-Zeichen * im Dateinamen erlaubt. - So können die ganze Anruflisten aus den Push-Dienst in einen Ordner gepackt werden und importiert werden.

 

Soll die Datenbank von der Fritz!Box gefüttert werden, sind natürlich noch Zugangsdaten der Fritz!Box erforderlich. (Die fb_config.php läßt grüßen ;-))
Das ganze "schreit" nach einen Cron-Dienst.
Ich empfehle die Anruflisten und die Ereignisse Stündlich abzurufen. Die Traffic-Daten müssen nur Täglich abgerufen werden.
Das Plugin kann immer nur einen Abgleich durchführen. - Alles auf einmal ist leider NICHT möglich.

 

Zusätzlich gibt es Vorgefertigte Datenbank-Abfragen die mit [query:name] angegeben werden können.
Eine vollständige liste erhalten Sie mit fb_tools sqldb [Datenbank] query
Hinweis: Die Vorgefertigten Datenbank-Abfragen verhalten sich teilweise je nach Datenbank und PHP-Version unterschiedlich. - Da es nur Abfragen sind, halten sich meine Prioritäten diesbezüglich in Genzen...

 

Alternativ können auch eigene Abfragen durchführen - Ich Empfehle es direkt über die Datenbank zu machen und nicht über fb_tools. (WICHTIG: IMMER ein Limit setzen!)
Beispiel:
fb_tools sqldb preset:lite query sql:'select * from [sqlite_master] limit 100'

 

Zusätzlich gibt einige Optionen, die das Verhalten beeinflussen:

  • -ch
    Erzeugt beim Export einen CSV-Header mit Separator-Angabe vor den Daten.
  • -cp:[ansi|utf8]
    Zeichensatz der Datenbank-Tabelle. Standard ist UTF-8
  • -cs:[Seperator]
    Einen eigenen CSV-Separator festlegen. Standard ist ;
  • -dt
    Führt bei init VOR "Create Table" ein "Drop Table" aus. Alle Daten, die den Tabellen gehen dabei VERLOREN!
  • -f
    Sämtliche Fehler bei init ignorieren.
  • -ft:[strftime]
    Bei Export können Sie hier ein eigenes Datum-Format für die Ausgabe angeben, dass mit strftime geparst wird.
    Dabei sind gleich drei Eingaben erlaubt. -ft:'%Y-%m-%d %H:%M:%S' oder -ft[,]:'%Y-%m-%d %H:%M:%S','%Y-%m-%d','%H:%M:%S'
  • -it:[Name]
    Legt bei init nur die angegebene Tabelle an. Mögliche Namen sind call, event und traffic
  • -lm:[limit]
    Legt bei der Konsolen-Ausgabe die maximalen Einträge fest. (Werte über 1000 sind nicht sinnvoll!)
  • -mu:[String]
    Bei den Vorgabe-Abfragen kann man das Ergebnis nach Mesh-Gerät filtern.
  • -nl
    Statt leerer Zellen wird "NULL" ausgeben. Falls man leeren Zellen mit NULL unterscheiden möchte.
  • -rj:<Regex>
    Bei der Konsolen-Ausgabe werden Zahlen rechtsbündig in den Zellen angeordnet. Mit dem Regulären Ausdrück können sie das verhalten selber bestimmen. (Geben Sie keinen Ausdruck an, werden Zahlen ebenfalls Linksbündig angeordnet)
  • -pf:[String]
    Legt ein Präfix vor allen Datenbank-Tabellen. Also bei -pf:'fb_' wird aus call und call_text ein fb_call und fb_call_text. Sinnvoll, wenn man keine eigene Unterdatenbank erstellen kann.
  • -pm:[String]
    Legt ein Präfix vor der Haupt-Tabelle. Also bei -pm:'mayer_' wird aus call und call_text ein mayer_call und call_text. Sinnvoll, wenn man mehrere Fritz!Boxen in einer Datenbank führen möchte.

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|kelvin|dimm|hsv|color|file>

Mit dem Modus SmartHome kann Aktoren wie Schaltsteckdosen, Heizkörperregler, Lampen und Rolladen 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

close/down/runter/stop/halt/open/up/rauf [ain:Aktor]

Damit lassen sich die Rolladen steuern (Vermutlich - denn es ist ungetestet, weil ich keine habe ;-)) Beispiel:

  • fb_tools fritz.box smarthome down 098760054321
  • fb_tools fritz.box smarthome stop 098760054321
  • fb_tools fritz.box smarthome up 098760054321

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|kelvin|dimm|hsv|color]

ArgumentInhaltBeschreibung
hkr:8.0-28.0 | an | aus | komfort | sparTemperatur vom Heizkörperregler setzen[1]
kelvin:2700-6500Farbtemperatur von der Lampe in Kelvin setzen[2,3]
dimm:0-100Helligkeit der Lampe in Prozent setzen
hsv:0-359,0-100,0-100Farbwinkel, Farbsättigung und Helligkeit von der Lampe setzen[2]
color:Farbname 1-3Farbname mit Sättigungsnummer[2,3]
(1) Temperatur auf 0.5° genau setzen (Änderungen dauern bis zu 15 Minuten)
(2) Akzeptiert z.Z. nur Vorgabewerte - Alternativ [color] nutzen
(3) Verfügbare Farbnamen mit [func:info] abfragen

Hiermit kann man eine Lampe oder einen Heizkörperregler einen Wert zuweisen. Bei einen Der Parameter hkr ist für den Heizkörperregler gedacht. Mit den Werten komfort und spar lassen sich die in der Fritz!Box eingestellten Werte einstellen. Ansonsten wird der Wert als soll Temperatur gesetzt.

 

Die Parameter kelvin, dimm, hsv und color sind für die Farblampe gedacht. [kelvin], [hsv] und [color] akzeptieren nur Vorgabewerte, die man mit [func:info] abfragen kann.

 

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
  • fb_tools fritz.box smarthome set 2000 color:kalt2
  • fb_tools fritz.box smarthome set 2000 kelvin:4200

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 werden 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"

Traffic

Hier wird sämtlichen Daten-Zähler der Fritz!Box ausgelesen und in einer Tabelle ausgegeben. Weitere Funktionen/Optionen gibt es bislang keine!


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.24
  • Fritz!Box 3030, 3131, 3270, 5140, 40xx, 7xxx
  • Fritz!Repeater N/G, 300E, 310, DVB-C, 1750E, 1200, 2400
  • 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 für Windows 10: PHP 7.1.33 - Linux: PHP 7.2 - Wine: PHP 5.4.45
 

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.29 16.11.2020

  • BUG: PHP4/5 Speicherzugriffsfehler bei fehlerhaften Regulären Ausdruck
  • FIX: realpath() unterscheidet bei Windows mit älteren PHP-Versionen nicht zwischen Gross/Kleinschreibung
  • Bei Logintest gibt es jetzt Debug-Infos
  • Aus allen Plugins, fb_config.php und history.txt das CR-Zeichen (\r) entfernt
 

V0.28 13.11.2020

  • ÄNDERUNG: getevent() gibt nun ein Array zurück
  • ÄNDERUNG: Optionen können mit den Argumenten vermischt werden
    (Zusammengeschriebene Optionen [Alte Schreibweise im letzten Parameter] werden jetzt nicht mehr erkannt)
  • FIX: Option -cs erkennt \t (Tabulator)
  • FIX: Umlaute in der Konfig wurden nicht decodiert
  • FIX: Hash() hatte im RAW-Modus fehlerhafte ausgaben erzeugt
  • NEU: Option -ft:[strftime] für Ereignisse und Anrufliste für eigene Datumsformate
  • NEU: Plugins können eigene Voreinstellungen bekommen $cfg['plugin'][<Plugin>] = array()
  • NEU: Interne Funktion file_stream() liest/schreibt Zeilenweise GZip/BZip2-Daten
  • NEU: Smarthome: Unterstützung für Fritz!DECT 500 und vermutlich auch andere Han-Fun Geräte
  • NEU: Zugangsdatenübersicht mit Apps, GoogleAuth und um Tickets erweitert
  • NEU: Traffic-Zähler kann ausgelesen werden
  • NEU: Unterstützung von PBKDF2-Login ab Fritz!OS 7.24
  • NEU: Unterstützung von weiteren Hash-Bibliotheken für PHP 4/5
  • Interne Funktionen ifset(), getArg() erweitert
  • PHP-Batch für Windows weiter optimiert (Benötigt keine Schleife mehr) - Danke an Peter G.
  • PHP-Datenbank Erweiterungen (mysqli|sqlite3) werden für das Plugin "SQLDB" erkannt
  • Der erste Parameter mit der Fritz!Box Angabe akzeptiert Benutzername/Kennwort in Anführungszeichen
 

V0.27 07.07.2020

  • FIX: Info-Hilfe
  • FIX: Konfig-Checksum Berechnung und Konfig <-> TAR für Fritz!OS 7.19+ angepasst
  • FIX: LED für Fritz!OS 7.19+ angepasst und mit weiteren Funktionen
  • BUG: Ereignis-Filter funktionierten nicht korrekt
  • BUG: "konfig file" hat TAR-Archive immer mit GZ Komprimiert
  • NEU: Eingeschränkter BZip-Support
  • Zugangsdatenübersicht für weitere WLAN-Daten erweitert
  • Kurzschreibweise $str{$offset} entfernt
  • Auto-Update Check verbessert (Speichert das Update-Datum entweder im Script, Plugins oder in fb_config.php)
 

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 implementiert
  • 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 unterstü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 Synchronisiert 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 implementiert
  • 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 Funktion 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


Kategorie: AVM, Fritz!Box, PHP, Konsole


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