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

Content

Dateianzeige für avm_fritz_toolbox (1.4.5)

usr/share/doc/avm_fritz_toolbox/avm_fritz_toolbox.txt
Skript zur Anzeige und Manipulation von Fritzbox-Einstellungen Copyright (c) 2016-2017 Marcus Roeckrath, marcus.roeckrath(at)gmx(dot)de released under GPL2 Um mit diesem Skript mit der Fritzbox kommunizieren zu koennen, ist in der Fritzbox unter Heimnetz->Heimnetzuebersicht->Netzwerkeinstellungen->Heimnetzfreigaben der Parameter "Zugriff fuer Anwendungen zulassen" zu aktivieren. Mit dem Aufruf: avm-fritz-toolbox.sh help erhaelt man folgende Hilfeseite zu Kommandos und ergaenzenden Parametern: ------------------------------------------------------------------------------------------ Fritzbox TR-064 command line interface Version: 1.8.5; Copyright: (2016-2017) Marcus Roeckrath ; Licence: GPL2 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. 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. 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. reconnect : Reconnects to internet. reboot : Reboots the fritzbox. savefbconfig : Stores the fritzbox configuration to /fritzbox____.config updateinfo : Informations about fritzbox firmware updates. deviceinfo : Informations about the fritzbox (model, firmware, ...). 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. --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 --experimental Enables experimental commands (*). --debugfb Activate debug output on fritzbox communication 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 given in the same type (ip or fqdn) in ${HOME}/.avm-fritz-toolbox 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 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 (insbesondere wenn Leerzeichen enthalten sind) als ein Parameter erscheinen. Portfreigaben: 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-Schnuttstellen 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. 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. 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). 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). 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. 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. deviceinfo: Liefert Informationen zur eigenen Fritzbox; insbesondere auch die Art der Anbindung ans Internet PPPoE oder IP. 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 im eigenen Home-Verzeichnis 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. 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 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 --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. --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 --experimental Schaltet als experimentell eingestufte Kommandos frei. --debugfb Aktiviert eine Debug-Ausgabe zur Fehlersuche. Stand: 2017-02-11 Marcus Roeckrath