Sie befinden sich hier: eisfair / Pack-Eis
News News News

Content

Dateianzeige für avm_fritz_toolbox (2.8.9)

usr/share/doc/avm_fritz_toolbox/avm_fritz_toolbox.txt
Das avm_fritz_toolbox-Paket Skript zur Anzeige und Manipulation von Fritzbox-Einstellungen Copyright (c) 2016-2019 Marcus Roeckrath, marcus.roeckrath(at)gmx(dot)de released under GPL2 1. Das Menue View documentation Show documents from fritzbox Show filtered documents from fritzbox Create sample soap files from fritzbox documents Im Menue des Paketes koennen diese Dokumentation und die auf der Fritzbox abgelegten xml-Dokumente zum TR-064-Protokoll eingesehen werden. Letztere benoetigt man zur Definition eigener SOAP-Kommandos, wobei im Menuepunkt "Show filtered doc from fritzbox" nur die fuer einen SOAP-Request relevanten Informationen dargestellt werden. Desweiteren koennen fuer alle TR-064 Funktionen der eigenen Fritzbox Beispiel-SOAP-Dateien erzeugt werden, die im Verzeichnis /usr/share/doc/avm_fritz_toolbox/samplesoaps abgelegt werden. Diese Beispieldateien werden aus der in der Fritzbox enthaltenen XML-Dokumentation abgeleitet. Diese erhalten Dateinamen nach folgendem Schema: ._ also z. B. deviceinfo.xml.GetInfo_1 Falls es mehrere Komponenten eines Servicetyps gibt, z. B. die verschiedenen WLANs, unterscheiden diese sich bei gleicher Funktion durch die Servicetyp-Nummer. In der Regel sind diese Beispieldateien dann anzupassen, wenn eine TR-064-Funktion die Uebergabe von Werten erfordert, welches in der Beispieldatei daran zu erkennen ist, dass sich darin ein Block wie data=" ... " befindet. Hier ist durch eine dem Datentyp entsprechenden Wert (Zahl, Zeichenfolge, ...) zu ersetzen. Hierzu ist die offizielle Entwickler- dokumentation von AVM zu Rate zu ziehen: https://avm.de/service/schnittstellen Beispieldateien fuer Funktionen, die keine weiteren Parameter erfordern, enthalten die Zeile data="" und koennen sofort genutzt werden. Man sollte sich aber immer ueber die Wirkung eines TR-064-Funktion im Klaren sein, da eventuell Veraenderungen an der Fritzbox vorgenommen werden, so wird die Beispieldatei deviceconfigSCPD.xml.FactoryReset_1 ohne weitere Rueckfrage die Fritzbox auf Werkseinstellungen zuruecksetzen. Ein erneuter Aufruf dieser Funktion loescht die vorhandenen Beispieldateien, bevor diese neu erzeugt werden. 2. Das Skript Um mit diesem Skript mit der Fritzbox kommunizieren zu koennen, ist in der Fritzbox je nach Firmware z. B. unter Heimnetz->Heimnetzuebersicht->Netzwerkeinstellungen->Heimnetzfreigaben oder Heimnetz->Netzwerk->Netzwerkeinstellungen->Heimnetzfreigaben der Parameter "Zugriff fuer Anwendungen zulassen" zu aktivieren. Einige Funktionen sind nicht verfuegbar, wenn unter System->FRITZ!Box-Benutzer->Anmeldung im Heimnetz die Option "Ausfuehrung bestimmter Einstellungen und Funktionen zusaetzlich bestaetigen" aktiviert ist. Mit dem Aufruf: avm-fritz-toolbox.sh help erhaelt man folgende Hilfeseite zu Kommandos und ergaenzenden Parametern: ------------------------------------------------------------------------------------------ Fritzbox TR-064 command line interface Version: ; Copyright: (2016-2019) Marcus Roeckrath ; Licence: GPL2 marcus(dot)roeckrath(at)gmx(dot)de Usage : avm-fritz-toolbox.sh command [option [value]] .. [option [value]] Commands: add : Adds a (predefined) port forward. del : Deletes a (predefined) port forward. enable : Activates a previous disabled (predefined) port forward. If not yet present in fritzbox port forward will be added enabled. disable : Deactivates a (predefined) port forward if present in fritzbox. If not yet present in fritzbox port forward will be added disabled. show : Shows all port forwardings whether set by authorized user or upnp. extip : Shows the external IP v4 and v6 addresses. extipv4 : Shows the external IP v4 address. extipv6 : Shows the external IP v6 address. connstat : Status of internet connection. ddnsinfo : Information/Status of dynamic dns service. wlancount : Prints number and type of available wlans. wlanswitch (*) : Activates/deactivates wlan global acting like button on fritzbox. wlan?switch (*) : Activates/deactivates wlan (2.4GHz, 5 GHz|guest wlan, guest wlan); ? = 1, 2 or 3. wlan?info : Information/Status of wlan (2.4GHz, 5 GHz|guest wlan, guest wlan); ? = 1, 2 or 3. dectinfo : Shows DECT telephone list. deflectionsinfo : Shows telephone deflections list. homeautoinfo : Shows informations from home automation / smart home devices. homeautoswitch "" (*) : Switches homeautomation switch. homepluginfo : Shows homeplug/powerline devices list. hostsinfo : Shows hosts list. autowolswitch : Activates/Deactivates Auto WOL configuration of client given by mac address. autowolinfo : Shows Auto WOL configuration of client given by mac address. wolclient : Wake on LAN client given by mac address. ftpswitch : Activates/deactivates ftp server. ftpwanswitch : Activates/deactivates ftp wan server. ftpwansslswitch : Activates/deactivates ssl only on ftp wan server. smbswitch : Activates/deactivates smb server. nasswitch : Activates/deactivates nas server (local ftp and smb). storageinfo : Information/Status of ftp and smb server. upnpswitch : Activates/deactivate of upnp status messages. mediaswitch : Activates/deactivate of media server. upnpmediainfo : Information/Status of upnp media server. tamcap : Shows capacity of answering machine. reconnect : Reconnects to internet. reboot : Reboots the fritzbox. savefbconfig : Stores the fritzbox configuration to /fritzbox____.config updateinfo : Informations about fritzbox firmware updates. tr69info : Informations about provider managed updates via TR-069. deviceinfo : Informations about the fritzbox (model, firmware, ...). devicelog : Shows fritzbox log formatted or raw. listxmlfiles : Lists all available xml files. showxmlfile [] : Shows xml file from fritzbox. mysoaprequest [/]| : Makes SOAP request defined in or from command line parameters. writeconfig : Writes sample configuration file to ${HOME}/.avm-fritz-toolbox. writesoapfile [/] : Writes sample SOAP configuration file to specified file or to sample file ${HOME}/avm-fritz-toolbox.samplesoap. Optional parameters: Parameter Used by commands --fbip | all but writeconfig and writesoapfile --description "" add, enable, disable --extport add, enable, disable, del --intclient add, enable, disable --intport add, enable, disable --protocol add, enable, disable, del --active add, *switch --inactive add, *switch --ftpwansslonlyon (**) ftpwanswitch --ftpwansslonlyoff (**) ftpwanswitch --ftpwanon (**) ftpwansslswitch --ftpwanoff (**) ftpwansslswitch --mediaon (**) upnpswitch --mediaoff (**) upnpswitch --upnpon (**) mediaswitch --upnpoff (**) mediaswitch (**) Previous status will be preserved if *on|off parameter is not given on the command line. --showfritzindexes show, deflectionsinfo, homeautoinfo, homepluginfo, hostsinfo --rawdevicelog devicelog --soapfilter showxmlfile --fbconffilepath "" savefbconfig --fbconffileprefix "" savefbconfig --fbconffilesuffix "" savefbconfig --fbconffilepassword "" savefbconfig Explanations for these parameters could be found in the SOAP sample file. --SOAPtype mysoaprequest --SOAPdescfile mysoaprequest --SOAPcontrolURL mysoaprequest --SOAPserviceType mysoaprequest --SOAPaction mysoaprequest --SOAPdata "" mysoaprequest --SOAPsearch "|all" mysoaprequest --SOAPtitle "" mysoaprequest --experimental Enables experimental commands (*). --debugfb Activate debug output on fritzbox communication. version|--version Prints version and copyright informations. help|--help|-h Prints help page. Necessary parameters not given on the command line are taken from default values or ${HOME}/.avm-fritz-toolbox. If modifying an existing port forwarding entry with the add, enable or disable commands the values for extport, intclient and protocol has to be entered in exact the same way as they are stored in the port forwarding entry on the fritzbox! Differing values for intport, description and active/inactive status could be used and will change these values in the port forwarding entry on the fritzbox. If deleting an port forwarding entry on the fritzbox the values for extport and protocol has to be entered in exact the same way as they are stored in the port forwarding entry on the fritzbox. The script reads default values for all variables from ${HOME}/.avm-fritz-toolbox. The script can use the fritzbox authentification data from ${HOME}/.netrc which has to be readable/writable by owner only (chmod 0600 ${HOME}/.netrc). Put into this file a line like: machine
login password f. e.: machine 192.168.178.1 login dslf-config password abcdefg The fritzbox address has to be given in the same type (ip or fqdn) in ${HOME}/.avm-fritz-toolbox or on command line parameter --fbip and ${HOME}/.netrc. Warning: If adding or deleting port forwardings in the webgui of your fritzbox please reboot it afterwards. Otherwise the script will see an incorrect port forwarding count through the tr-064 interface ending up in corrupted port forwarding entries. ------------------------------------------------------------------------------------------ Voreinstellungen werden aus einer Konfigurationsdatei gelesen, die mit dem Befehl avm-fritz-toolbox.sh writeconfig im Home-Verzeichnis des aufrufenden Users mit dem Dateinamen .avm.fritz.toolbox angelegt wird. Diese Konfigurationsdatei enthaelt Hinweise zur Bedeutung der Parameter. Bitte niemals direkt im Skript Aenderungen an den Default-Werten vornehmen. In der Konfigurationsdatei ist die IP-Adresse oder FQDN der eigenen Fritzbox anzugeben. Die Kommunikation mit der Fritzbox muss authentifiziert erfolgen, wozu in der Konfigurationsdatei die Werte fuer user und password anzupassen sind. Als Standarduser ist im TR-064-Standard "dslf-config" definiert, als Passwort ist jenes einzutragen, welches auch fuer die Anmeldung an der Fritzbox-Weboberflaeche verwendet wird. Es kann hier aber auch jeder andere in der Fritzbox definierte User mitsamt Passwort angegeben werden, sofern er ueber die erforderlichen Rechte in der Fritzbox verfuegt. Statt User und Password in der Konfigurationsdatei zu hinterlegen, wodurch diese Daten bei Ausfuehrung des Skriptes in der Prozessliste oder dem Environment im Klartext lesbar sind, koennen die Authentifizierungs-Daten auch im Home- Verzeichnis in der Datei .netrc hinterlegt werden. In dieser (moeglicherweise vorhandenen) Datei ist eine Zeile folgender Art anzulegen: machine login password also z. B.: machine 192.168.178.1 login dslf-config password abcdefg Die Datei .netrc darf nur fuer den Besitzer les- und schreibbar sein, welches mit folgendem Befehl erreicht wird: chmod 0600 ${HOME}/.netrc Der Befehl avm-fritz-toolbox.sh writeconfig kann jederzeit wiederholt werden, z. B. um die Konfigurationsdatei bei zukuenftigen Versionen des Skripts zu aktualisieren. Vorgenommene Einstellungen bleiben dabei erhalten. Fuer die Wirksamkeit der Optionen im Skript gilt dabei die Prioritaet (niedrig nach hoch): - Defaults im Skript - eigene Konfigurationsdatei ${HOME}/.avm-fritz-toolbox - Konfigurationsparamter der beim Kommando mysoaprequest angegebenen SOAP-Steuerdatei - Kommandozeilen-Optionen beim Aufruf des Skripts Die Reihenfolge der Kommandozeilen-Optionen ist beliebig, allerdings muss an erster Stelle der Kommandozeile das gewuenschte Kommando stehen. Erfordert eine Option eine Wertangabe, hat diese durch Leerzeichen getrennt hinter der Option zu erfolgen. Texte als Werte sind in Hochkommas einzuschliessen, damit sie, wenn Leerzeichen enthalten sind, als ein Parameter erscheinen. Dies gilt besonders auch dann, wenn der Text Zeichen enthaelt, die ansonsten auf der Kommandozeile als Sonderzeichen interpretiert wuerden, wie z. B. <, > oder |. Portfreigaben: Ueblicherweise wird hierfuer der Begriff Portweiterleitung benutzt. Da die Fritzbox dafuer jedoch den Begriff Portfreigabe nutzt, wird dies auch in dieser Dokumentation so genannt. Vorab wichtige Hinweise: Wurden Portfreigaben in der Fritzbox-Weboberflaeche definiert, sollte die Fritzbox anschliessend rebootet werden, da ansonsten die Bearbeitung von Portfreigaben durch die TR-064-Schnittstelle wegen eines moeglicherweise vorhandenen Firmwarebugs nicht erfolgreich ist. Einige Fritzboxen scheinen Quell- und Zielport einer Portfreigabe ueber die TR-064-Schnittstellen bei der Anzeige (show-Kommando) zu vertauschen, obwohl die Portfreigaben vom Skript korrekt angelegt wurden. In diesem Fall kann in der Konfigurationsdatei die Option "FBREVERSEPORTS" auf "true" gesetzt werden. Dieser Bug scheint in der Firmware 6.80 behoben zu sein. Vermutlich mit Firmware 6.90 wurde folgende Einschraenkungen beim Anlegen (add, enable, disable) von Portfreigaben mittels TR-064-Protokoll eingefuehrt: 1. Das Ziel der Portfreigabe muss im lokalen Netz der Fritzbox liegen. Falls nun am lokalen Netz der Fritzbox ein weiteres Netz durch einen weiteren Router angeschlossen ist, haengt die Reaktion der Fritzbox auf das Anlegen von Portfreigaben davon ab, ob auf diesem Zwischenrouter Masquerading aktiviert ist oder nicht. WAN | Fritzbox |(192.168.178.1) | |(192.168.178.2) weiterer Router |(192.168.0.1) | |(192.168.0.x) | internes Netz Nun kann aus dem 192.168.0.x-Netz jeder PC eine Portfreigabe auf sich selbst auf der Fritzbox anlegen, wenn auf dem zwischengeschalteten Router kein Masquerading aktiviert ist. Dann muss auf der Fritzbox aber eine Route fuer das 192.168.0.x-Netz konfiguriert werden, damit Pakete aus dem Internet ihren Weg ins interne Netz finden. Folgendes wuerde also funktionieren, wenn es auf 192.168.0.99 ausgefuehrt wird: Port 80 wird auf Port 999 des Rechners mit der IP 192.168.0.99 weitergeleitet: avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.0.99 --intport 999 --description "Meine neue Portfreigabe" --active Ist auf dem zwischengeschalteten Router das Masquerading aktiviert, koennen aus dem internen Netz nur Portfreigaben auf den Zwischenrouter selbst angelegt werden, wenn als Ziel der Portfreigabe dessen Adresse im internen Netz der Fritzbox angegeben wird und der Befehl somit aus Sicht der Fritzbox wegen des Masqueradings von diesem zu kommen scheint. Beispiel fuer eine Portfreigabe, welche auf jedem beliebigen Rechner im 192.168.178.x-Netz ausgefuehrt werden kann: Port 80 wird auf Port 999 des Zwischenrouters weitergeleitet: avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.178.2 --intport 999 --description "Meine neue Portfreigabe" --active 2. Ein PC kann nur Portfreigaben auf sich selbst einrichten. Fuer den Sonderfall einen Zwischenrouters mit auf diesem eingeschalteten Masquerading gilt die Beschreibung unter 1. Zur Bearbeitung und Anzeige von Portfreigaben dienen die Kommandos add, enable, disable, del und show In den Skriptdefaults bzw. der eigenen Konfigurationsdatei sind alle notwendigen Werte fuer Portfreigaben vordefiniert; diese Variablen beginnen alle mit new_. Fehlen Parameter auf der Kommandozeile werden diese aus diesen Defaults ergaenzt. Setzt man diese Defaults auf eine sinnvolle Portfreigabe, kann diese direkt mittels der Kommandos add, enable, disable und del bearbeitet werden, ohne weitere Parameter angeben zu muessen. add, enable und disable arbeiten grundsaetzlich gleich, wobei bei add der Aktivitaetsstatus ueber die Voreinstellungen (Skriptdefaults, Konfigurationsdatei, Programmoption --(in)active) angegeben wird, enable immer --active und disable immer --inactive setzt. enable und disable koennen also zum Erzeugen von Portfreigaben wie add verwendet werden. add, enable und disable bearbeiten eine bestehende Portfreigabe oder legen es an, wenn es nicht existiert. Die Fritzbox erwartet bei bei diesen Funktionen zwingend alle Parameter (extport, protocol, intclient, intport, description und active|inactive). Werden in der Kommandozeile des Skripts nicht alle Parameter angegeben, werden sie durch die entsprechenden Voreinstellungen (Skript-Defults, Konfigurationsdatei) ergaenzt. Die Kommandozeile der folgenden Beispiele sind hier aus technischen Gruenden umbrochen, sind also Einzeiler): avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.178.3 --intport 8080 --description "Meine Portfreigabe" --inactive legt die Portfreigabe deaktiviert an; --active wuerde sie gleich aktivieren (wenn in den Voreistellungen new_enabled=1 gesetzt ist, kann man sich das --active auch sparen). Soll obige Portfreigabe nun aktiviert werden, ist avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.178.3 --intport 8080 --description "Meine Portfreigabe" --active zu nutzen; oder aber durch Verwendung des enable-Kommandos (--active entfaellt): avm-fritz-toolbox.sh enable --extport 80 --protocol TCP --intclient 192.168.178.3 --intport 8080 --description "Meine Portfreigabe" Die Weboberflaeche der Fritzbox mit Firmwarestand 6.80 zeigt eine per TR-064 angelegte Portfreigabe scheinbar als nicht aktiviert an. Nach einem Reboot der Fritzbox erscheint dort korrekterweise der gruene Punkt als Anzeige fuer eine aktivierte Portfreigabe. Deaktiviert, aber nicht aus der Fritzbox geloescht, wird diese durch: avm-fritz-toolbox.sh disable --extport 80 --protocol TCP --intclient 192.168.178.3 --intport 8080 --description "Meine Portfreigabe" Wenn dieser Eintrag nun geaendert werden soll, ist das nur fuer description, intport und Aktivierungsstatus moeglich. Die anderen Parameter (extport, protocol, intclient) muesen uebereinstimmen. Wenn nicht, wird entweder eine neue Portfreigabe angelegt oder die Anforderung von der Box wegen "Conflict" zurueckgewiesen. Gibt man einen anderen intport an, wird die bestehende Portfreigabe auf einen anderen internen Port umgebogen. Folgende Befehlszeile aendert die vorher angelegte Portfreigabe: avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.178.3 --intport 999 --description "Meine neue Portfreigabe" --active Die Portfreigabe geht also nun an Port 999 und wurde aktiviert. Dieses avm-fritz-toolbox.sh add --extport 80 --protocol TCP --intclient 192.168.178.200 --intport 999 --description "Meine neue Portfreigabe" --active geht nicht, da das interne Ziel einer bestehenden Portfreigabe nicht geaendert werden kann, es wird eine neue zusaetzliche Portfreigabe eingerichtet! Wenn man sowas moechte, muss die alte Freigabe zunaechst geloescht werden, wobei als Parameter extport und protocol anzugeben sind: avm-fritz-toolbox.sh del --extport 80 --protocol TCP avm-fritz-toolbox.sh show zeigt eine Liste aller Portfreigaben, getrennt nach von authorisierten Usern und UPnP-Devices angelegten, an; letztere nur, wenn das unter "Internet|Freigaben|Portfreigaben" aktiviert ist. Die von UPnP-Devices erstellten Portfreigaben werden nur angezeigt, koennen aber nicht bearbeitet werden. Der Index wird ab "1" durchnummeriert, ist eine Nummerierung ab "0" gewuenscht, wie es intern die Fritzbox macht, ist die Option --showfritzindexes an der Kommandozeile hinzuzufuegen. Weitere Kommandos: Aufruf: avm-fritz-toolbox.sh Kommando [Optionen [Wert]] Switch-Kommandos erfordern immer die Angabe --active oder --inactive zur Festlegung des gewuenschten Status. Beispiele: avm-fritz-toolbox.sh wlan1info Informationen zum ersten WLan avm-fritz-toolbox.sh wlan2switch --active --experimental Erste WLan anschalten avm-fritz-toolbox.sh autowolswitch 12:34:56:78:90:ab --active Aktiviert Auto WOL fuer den Client mit der MAC-Adresse 12:34:56:78:90:ab avm-fritz-toolbox.sh wolclient 12:34:56:78:90:ab Weckt den Client mit der MAC-Adresse 12:34:56:78:90:ab auf avm-fritz-toolbox.sh ftpswitch --inactive Aktiviert den internen FTP-Server avm-fritz-toolbox.sh smbswitch --active Deaktiviert den internen Samba-Server avm-fritz-toolbox.sh ftpwanswitch --active Aktiviert den externen FTP-Server, die bisherige Einstellung fuer "SSL only" bleibt erhalten avm-fritz-toolbox.sh ftpwanswitch --active --ftpwansslonlyon Aktiviert den externen FTP-Server mit aktiviertem "SSL only" Modus avm-fritz-toolbox.sh ftpwanswitch --active --ftpwansslonlyoff Aktiviert den externen FTP-Server mit deaktivierten "SSL only" Modus avm-fritz-toolbox.sh smbswitch --active Schaltet den internen Samba-Server an avm-fritz-toolbox.sh extipv4 Ausgabe der externen IPv4-Adresse avm-fritz-toolbox.sh reconnect Erneuert die Internetverbindung avm-fritz-toolbox.sh reboot Reboot der Fritzbox avm-fritz-toolbox.sh savefbconfig Sichern der Fritzbox Konfiguration avm-fritz-toolbox.sh deviceinfo --fbip 192.168.100.1 Infos zur Fritzbox mit der IP 192.168.100.1 Kommandos: extip, extipv4, und extipv6: Zeigt die externen IPv4/v6-Adresse an (letztere mit Prefix). connstat: Zeigt des Status der Internetverbindung an. ddnsinfo: Zeigt Informationen und Status eines Dynaminc DNS Service an. wlancount: Zeigt die Anzahl der WLANs an (2,4 GHz, 5 GHz, Goeste-WLAN). wlanswitch: Schaltet WLAN komplett ein oder aus. Dieses Kommando arbeitet wie die Hardwaretaste an der Fritzbox. Die WLANs muessen in der Fritzbox komplett konfiguriert sein. Ist dies nicht der Fall, kommt es zu Fehlerzustaenden im WLAN-Teil der Fritzbox, die einen Reboot erforderlich machen. wlan?switch: Schaltet das betreffende WLAN ein bzw. aus (?=1..3). Die WLANs muessen in der Fritzbox komplett konfiguriert sein, damit sie geschaltet werden koennen. Ist dies nicht der Fall, kommt es zu Fehlerzustaenden im WLAN-Teil der Fritzbox, die einen Reboot erforderlich machen. wlan?info: Gibt Informationen zu einem der WLANs aus (?=1..3). dectinfo: Zeigt eine Liste alle Dect-Telefone an. deflectionsinfo: Zeigt eine Liste aller Rufumleitungen und -sperren an. In der Ausgabe werden diese von "1" ausgehend durchnummeriert; durch Angabe der Option --showfritzindexes wird mit "0" beginnend nummeriert, wie es die Fritzbox intern macht. Soll eine Deflection mittels der TR-064-Funktion "SetDeflectionEnable" an- oder ausgeschaltet werden, ist der Index ausgehend von "0" anzugeben. homeautoinfo: Gibt Informationen zu Homeautomation/Smarthome-Geraeten aus. Der Index wird ab "1" durchnummeriert, ist eine Nummerierung ab "0" gewuenscht, wie es intern die Fritzbox macht, ist die Option --showfritzindexes an der Kommandozeile hinzuzufuegen. Das Kommando kann durch Suchmasken verfeinert werden, wobei alle angegebenen Suchmasken, die auch als Reg-Exp definiert werden koennen, gleichzeitig erfuellt sein muessen. Die Suchmasken sind zwingend in Hochkommas anzugeben: --searchhomeautoain "" --searchhomeautodeviceid "" --searchhomeautodevicename "" homeautoswitch "": Schaltet den mittels AIN-Adresse angegebenen Smarthome-Schalter an oder aus, wobei die AIN immer in Anfuehrungszeichen anzugeben ist. Dies funktioniert nur fuer Schalter, die der Fritzbox bekannt sind. homepluginfo: Zeigt eine Liste alle Homeplug/Powerline-Geraete an. Der Index wird ab "1" durchnummeriert, ist eine Nummerierung ab "0" gewuenscht, wie es intern die Fritzbox macht, ist die Option --showfritzindexes an der Kommandozeile hinzuzufuegen. Der Index wird ab "1" durchnummeriert, ist eine Nummerierung ab "0" gewuenscht, wie es intern die Fritzbox macht, ist die Option --showfritzindexes an der Kommandozeile hinzuzufuegen. hostsinfo: Zeigt einer Liste aller Hosts mit folgenden Informationen an. autowolswitch : Schaltet Auto WOL fuer den mittels der MAC-Adresse angegeben Client ein bzw. aus. Dies funktioniert nur fuer Clients, die Fritzbox bekannt sind. autowolinfo : Zeigt fuer den mittels der MAC-Adresse angegebenen Client die Auto WOL Konfiguration an. wolclient : Weckt den mittels der MAC-Adresse angegebenen Client auf. Dies funktioniert nur fuer Clients, die der Fritzbox bekannt sind. Hinweis: Die MAC-Adresse ist immer in der Form xx:xx:xx:xx:xx:xx anzugeben, wobei fuer die x die Zahlen 0-9 oder die Buchstaben a-f in Gross- oder Kleinschreibung stehen. Eine fuehrende 0 darf nicht ausgelassen werden! ftpswitch: Schaltet den internen FTP-Server an bzw. aus. ftpwanswitch: Schaltet den externen FTP-Server an bzw. aus. ftpwansslswitch: Schaltet auf dem externen FTP-Server SSLonly an bzw. aus. Hinweis: Einige Fritzboxen scheinen die Schalter "externer FTP-Server" und "SSLOnly auf externem FTP-Server" zu vertauschen. In diesem Fall kann in der Konfigurationsdatei die Option "FBREVERSEFTPWAN" auf "true" gesetzt werden. Dieser Bug scheint in der Firmware 6.80 behoben zu sein. smbswitch: Schaltet den internen Samba-Server an bzw. aus. nasswitch: Schaltet den internen FTP- und Samba-Server an bzw. aus. Fuer die Nutzung des internen Medienservers muessen beide Server aktiviert werden. storageinfo: Zeigt den Status des FTP- und Samba-Servers an. upnpswitch: Schaltet die Anzeige von Statusinformationen per UPnP an bzw. aus. mediaswitch: Schaltet den Medienserver an bzw. aus. upnpmediainfo: Zeigt Informationen zum UPnP- und Medienserver-Status an. tamcap: Zeigt die verfuegbare Aufnahmekapazitaet der Anrufbeantworter an. reconnect: Erneuert die Internetverbindung reboot: Rebootet die Fritzbox savefbconfig: Sichert die Konfiguration der Fritzbox in einen definierbaren Pfad unter dem Namen: _Modellname_Seriennummer_Firmwareversion_YYYYMMDD_hhmmss. updateinfo: Zeigt Informationen zu verfuegbaren Firmwareupdates an. tr69info: Zeigt die Information ueber durch den Provider initiierte Updates via TR-069 Protokoll an. deviceinfo: Liefert Informationen zur eigenen Fritzbox; insbesondere auch die Art der Anbindung ans Internet PPPoE oder IP. devicelog: Zeigt das Log der Fritzbox an. Bei Angabe der Option --rawdevicelog geschieht dies unformatiert und ohne Kopfzeile. listxmlfiles: Zeigt eine Liste aller xml SOAP Beschreibungsdateien der Fritzbox an. showxmlfile: Zeigt die xml SOAP Beschreibungsdateien der Fritzbox an. Als Parameter ist der Dateiname der gewuenschten Datei anzugeben, sofern eine andere Datei als tr64desc.xml angezeigt werden soll, z. B.: avm-fritz-toolbox.sh showxmlfile igddesc.xml Die xml-Dokumente tr64desc.xml und igddesc.xml beschreiben alle verfuegbaren Services. Weitere xml-Dokumente sind im SCPDURL-TAG von tr64desc.xml bzw. igddesc.xml angegeben und enthalten detaillierte Informationen zu den Services, z. B.: avm-fritz-toolbox.sh showxmlfile deviceconfigSCPD.xml Mit der Option --soapfilter werden nur die fuer die Erstellung eigener SOAP-Request notwendigen Informationen ausgefiltert. Im Falle von tr64desc.xml und igddesc.xml werden folgende Informationen ausgegeben (Ausschnitt): avm-fritz-toolbox.sh showxmlfile tr64desc.xml --soapfilter ergibt: [...] urn:dslforum-org:service:DeviceInfo:1 /upnp/control/deviceinfo /deviceinfoSCPD.xml -------------------- urn:dslforum-org:service:DeviceConfig:1 /upnp/control/deviceconfig /deviceconfigSCPD.xml -------------------- [...] Fuer die in den SCPDURL-Tags von tr64desc.xml und igddesc.xml angegebenen xml-Dateien werden Aktionen und ihre Argumente (inklusive Richtung und Datentyp) angezeigt, z. B.: avm-fritz-toolbox.sh showxmlfile deviceconfigSCPD.xml --soapfilter und ergibt folgende Ausgabe: Filtered Content of deviceconfigSCPD.xml (FRITZ!Box 7490 113.06.83@abc.def.ghi.jkl) action: GetPersistentData out: NewPersistentData string action: SetPersistentData in: NewPersistentData string action: ConfigurationStarted in: NewSessionID string action: ConfigurationFinished out: NewStatus string action: FactoryReset action: Reboot action: X_GenerateUUID out: NewUUID uuid action: X_AVM-DE_GetConfigFile in: NewX_AVM-DE_Password string out: NewX_AVM-DE_ConfigFileUrl string action: X_AVM-DE_SetConfigFile in: NewX_AVM-DE_Password string in: NewX_AVM-DE_ConfigFileUrl string action: X_AVM-DE_CreateUrlSID out: NewX_AVM-DE_UrlSID string mysoaprequest: Dieses Kommando erlaubt die Ausfuehrung beliebiger SOAP-Request ueber die TR-064-Schnittstelle der Fritzbox. Der Befehl avm-fritz-toolbox.sh writesoapfile [/] erstellt eine SOAP-Beispieldatei unter dem dem angegebenen Dateinamen, der zwingend mit vollem Pfad anzugeben ist, oder eine Beispieldatei namens avm-fritz-toolbox.samplesoap im Home-Verzeichnis. Der Befehl kann jederzeit wiederholt werden, z. B. um die Datei bei zukuenftigen Versionen des Skripts zu aktualisieren. Vorgenommene Einstellungen bleiben dabei erhalten. In dieser Datei wird erlaeutert, wie man einen SOAP-Request erstellt, der dann mittels avm-fritz-toolbox.sh mysoaprequest ausgefuehrt wird. In dieser SOAP-Steuerdatei koennen auch alle variable="wert" Zeilen der normalen Konfigurationsdatei $[HOME}/.avm-fritz-toolbox angegeben werden und haben Vorrang vor den entsprechenden Werten der Konfigurationsdatei. Hierzu am Ende der SOAP-Steuerdatei die Marker-Zeile # [GENERAL_CONFIGURATION] mit Zeilenvorschub hinzufuegen und darunter die gewuenschten Konfigurationszeilen einfuegen. Fehlt die Marker-Zeile oder ist falsch geschrieben, gehen bei einem Update der SOAP-Steuerdatei mittels des writesoapfile-Kommandos diese hinzugefuegten Optionen verloren. Ein SOAP-Request kann auch direkt ueber die Kommandozeile angegeben werden. Dabei sind die Parameter wie in der SOAP-Beispieldatei ergaenzt um "--SOAP" und dem Wert nach einen Leerzeichen anzugeben. Hierzu ein Beispiel (alles in einer Zeile): ./avm-fritz-toolbox.sh mysoaprequest --SOAPdescfile tr64desc.xml --SOAPcontrolURL deviceinfo --SOAPserviceType DeviceInfo:1 --SOAPaction GetDeviceLog --SOAPdata "" --SOAPtype https Sind fuer SOAPdata keine Werte zu uebergeben, kann der Parameter entfallen. SOAPtype kann ebenfalls entfallen, wobei dann https angenommen wird, ebenso SOAPdescfile, wobei dieser Parameter mit tr64desc.xml vorbesetzt wird. Wird eine Headerzeile bei der Ausgabe gewuenscht, ist die Option --SOAPtitle "mein text" der Kommandozeile hinzuzufuegen, wobei dann automatisch ein standardisierter Geraetetext wie "(FRITZ!Box 7490 113.06.83@192.168.178.1)" hinzugefuegt wird. Unter https://avm.de/service/schnittstellen findet man detaillierte Informationen und Dokumente zur SOAP-Schnittstelle. Unter dem Menue-Punkt "Create sample soap files from fritzbox documents" (siehe oben unter 1. Das Menue) koennen fuer alle TR-04-Funktionen der eigenen Fritzbox SOAP-Beispieldateien erzeugt werden. writeconfig: Schreibt die Konfigurationsdatei; siehe Erlaeuteungen am Beginn dieses Dokuments help|--help|-h: Zeigt eine Hilfeseite an. Folgende Parameter, die Vorrang vor den in der Konfigurationsdatei oder einer SOAP-Steuerdatei gesetzten Optionen haben, ergaenzen die Kommandos: Parameter Benutzt vom Kommando --fbip | Alle ausser writeconfig and writesoapfile IP-Adresse oder FQDN der Fritzbox --description "" add, enable, disable Beschreibung der Portfreigabe. --extport add, enable, disable, del Externen Port der Portfreigabe. --intclient add, enable, disable Interner Zielrechner der Portfreigabe. --intport add, enable, disable Interner Port der Portfreigabe. --protocol add, enable, disable, del Protokolltyp der Portfreigabe. --active add, *switch --inactive add, *switch Aktivierungs-/Deaktivierungsschalter --searchhomeautoain "" homeautoinfo Suchmaske fuer die AIN eines Homeautomation/Smarthome-Geraetes. --searchhomeautodeviceid "" homeautoinfo Suchmaske fuer die Device-ID eines Homeautomation/Smarthome-Geraetes. --searchhomeautodevicename "" homeautoinfo Suchmaske fuer den Devicenamen AIN eines Homeautomation/Smarthome-Geraetes. In diesen search-Parametern kann die Suchmaske Text oder eine Reg-Exp sein. --ftpwansslonlyon (**) ftpwanswitch --ftpwansslonlyoff (**) ftpwanswitch --ftpwanon (**) ftpwansslswitch --ftpwanoff (**) ftpwansslswitch (Bitte Hinweis bei der Erlaeuterung der Kommandos ftpwanswitch iund ftwansslswitch beachten!) --mediaon (**) upnpswitch --mediaoff (**) upnpswitch --upnpon (**) mediaswitch --upnpoff (**) mediaswitch Schaltet eine weitere Funktion an bzw. aus, z. B. avm-fritz-toolbox.sh upnpswitch --active --mediaon schaltet sowohl die Statusinformationen per UPnP als auch den Medianserver gleichzeitig an. Wird die Option bei gekoppelten Funktionen nicht angegeben, bleibt der vorige Schaltzustand der gekoppelten Funktion unveraendert. --showfritzindexes show, deflectionsinfo, homeautoinfo, homepluginfo, hostsinfo Beginnt den Index in diesen Listen mit "0" statt "1", was der internen Nummerierung der Fritzbox entspricht. Soll ein ermittelter Index in einer anderen TR-64-Funktion als Eingabewert genutzt werden, ist in der Regel von einer ab "0" ausgehenden Nummerierung auszugehen. --rawdevicelog devicelog Zeigt das Log unformatiert und ohne Kopfzeile an. --soapfilter showxmlfile Zeigt nur die moeglichen Aktionen und die zugehoerigen Argumente (inklusive Richtung und Datentyp) an. --fbconffilepath "" savefbconfig --fbconffileprefix "" savefbconfig --fbconffilesuffix "" savefbconfig --fbconffilepassword "" savefbconfig Parameter zur Definition des Pfades und Dateinamens bzw. des Passworts der Fritzbox-Konfigurationsdatei. Erklaerungen fuer diese Parameter stehen in der SOAP-Beispieldatei. --SOAPtype mysoaprequest --SOAPdescfile mysoaprequest --SOAPcontrolURL mysoaprequest --SOAPserviceType mysoaprequest --SOAPaction mysoaprequest --SOAPdata "" mysoaprequest --SOAPsearch "|all" mysoaprequest --SOAPtitle "" mysoaprequest --experimental Schaltet als experimentell eingestufte Kommandos frei. --debugfb Aktiviert eine Debug-Ausgabe zur Fehlersuche. Stand: 2019-02-10 Marcus Roeckrath