AVM-Router im Blick mit Fritzconnection 1.9.1, Sntpd 3.1 sorgt für die richtige Zeit, Taskctl 1.4.2 automatisiert Aufgaben, Tty2web 2.6.0 bringt CLI-Programme in den Browser.
Infozentrale
Mit Fritzconnection 1.9.1 behalten Sie AVM-Router im Blick.
Die einfache webbasierte Weboberfläche von AVMs Fritzboxen erlaubt keine automatisierte Datenabfrage, der Hersteller hat in den vergangenen Jahren die Möglichkeiten für den nicht webbasierten Zugriff auf seine Router fast komplett entfernt. Abhilfe schafft die Python-Werkzeugsammlung Fritzconnection. Sie erlaubt die Abfrage aller relevanten Statusinformationen über die Konsole. Bei Bedarf lenken Sie die Ausgabe zur Weiterverarbeitung in eine Datei um. Die Toolbox fehlt in den Repos der gängigen Distributionen, Sie installieren sie über den Paketmanager Pip3.
Mit Fritzcall, Fritzmonitor, Fritzconnection, Fritzhomeauto, Fritzhosts, Fritzphonebook, Fritzstatus und Fritzwlan umfasst der Werkzeugkasten Varianten für spezielle Anwendungsfälle. Die Kommunikation mit dem Router erfolgt stets über das Protokoll TR-64 an Port 49000. Zum Aufbau der Verbindung geben Sie den Tools die lokale IP-Adresse und das Router-Passwort als Parameter mit. Das in der Dokumentation beschriebene Hinterlegen in einer Umgebungsvariable funktionierte auf dem Testsystem nicht.
Für die Telefoniefunktionen stehen die Tools Fritzcall und Fritzphonebook bereit. Ersteres gibt eine Liste aller Anrufe aus und ermöglicht die Anwahl einer Nummer, mit Letzterem suchen Sie in den verwalteten Telefonbüchern. Das Hinzufügen neuer Einträge klappt jedoch nicht. Eine Liste aller verbundenen Hosts erhalten Sie mit Fritzhosts. Den Status des Routers ermitteln Sie mit Fritzstatus, das neben der aktuellen Fritz-OS-Version die externe IP-Adresse und den bisherigen Datendurchsatz liefert.
Die Tools Fritzmonitor und Fritzwlan, mit denen Sie die Fritzbox überwachen und den WLAN-Status ermitteln, funktionierten auf dem Testsystem nicht. Nichtsdestotrotz bietet das Gesamtpaket viele Möglichkeiten, um einen AVM-Router im Auge zu behalten. Eine ausführliche Dokumentation ist im Github-Repository des Tools verlinkt. Python-Entwickler haben außerdem die Möglichkeit, das Programm als Modul in eigene Skripte zu integrieren.
Zeitgeber
Mit Sntpd 3.1 halten Sie die Systemzeit auf aktuellem Stand.
Um die Zeit immer aktuell zu halten, gleichen Rechner via Network Time Protocol (NTP) die Systemzeit mit einer zentralen, vertrauenswürdigen Instanz ab. Das kompakte C-Programm Sntpd unterstützt alle wichtigen NTP-Funktionen und lässt sich sowohl als Client wie auch als Server einsetzen. Sie bauen die Software selbst aus den Quellen. Bei der Installation legt Sntpd eine Service-Datei für den Einsatz mit Systemd an. Es startet dann im Server-Modus und nutzt als NTP-Quelle pool.ntp.org. Um eine andere Quelle zu konfigurieren, passen Sie den Code entsprechend an.
System- und Fehlermeldungen übergibt die Software an den Syslog-Dienst. Geben Sie nichts anderes vor, arbeitet sie im Log-Level notice, der nur Fehlermeldungen erfasst. Für eine detaillierte Analyse steht außerdem der Log-Level debug bereit. Standardmäßig gleicht Sntpd die Systemzeit alle 10 Minuten ab, andere Intervalle stellen Sie mit dem Parameter -i ein. Wollen Sie, dass Sntpd im Vordergrund arbeitet, nutzen Sie den Parameter -n. Mit -d testen Sie die Konfiguration und Funktionsweise. In diesem Modus fragt das Tool zwar die aktuelle Zeit vom Server ab, passt die Systemzeit aber nicht an. Mit Root-Rechten als Dienst gestartet, steht Sntpd zudem auf Port 123 als lokaler Zeitserver bereit.
Ergänzend zur Online-Hilfe (-h) bringt das Quellarchiv eine aussagekräftige Manpage mit. Das Github-Repository stellt weitere Informationen zu bekannten Bugs und zur Fehlersuche bereit.
Alltagshelfer
Mit Taskctl 1.4.2 automatisieren Sie komfortabel wiederkehrende Aufgaben.
Das ursprünglich als Alternative zu GNU Make gedachte Taskctl eignet sich hervorragend zum Automatisieren wiederkehrender Aufgaben. Sie beziehen es als Binärpaket aus dem Github-Repository des Projekts, wo Sie auch eine ausführliche Dokumentation und Anwendungsbeispiele finden.
Rufen Sie Taskctl ohne weitere Parameter auf, sucht es im aktuellen Verzeichnis nach einer Konfigurationsdatei, was erlaubt, in verschiedenen Ordnern unterschiedliche Aufgaben festzulegen. Alternativ geben Sie mit -c beim Aufruf eine Konfigurationsdatei an. Ein solches YAML-File darf mehrere Aufgaben enthalten. Rufen Sie Taskctl mit dem Unterbefehl init auf, legt es eine Musterkonfiguration im aktuellen Verzeichnis ab. Die Konfiguration unterteilt sich in die Bereiche pipeline, task und watcher. Mit validate prüfen Sie eine Konfiguration vor dem Start auf syntaktische Korrektheit, --dry-run ermöglicht Ausführungstests. Die einzelnen Aufgaben definieren Sie im Bereich task. Jeder Eintrag umfasst einen eindeutigen Namen, eine Beschreibung der Funktion und den auszuführenden Befehl.
In pipeline legen Sie die Reihenfolge für das Ausführen der Aufgaben fest und dürfen dabei auch Abhängigkeiten vorgeben. Rufen Sie Taskctl mit dem Unterbefehl graph gefolgt von einem Pipeline-Namen auf, legt es eine Abhängigkeitsdatei an, die Sie bei Bedarf mit Tools wie Dot grafisch anzeigen. Mit task überwachen Sie Dateien und stoßen bei Änderungen einen Task an. Die entsprechende Definition schreiben Sie in den Bereich watcher. Rufen Sie Taskctl dann mit watch auf, startet es die Überwachung.
Webausgabe
Das pfiffige Tty2web 2.6.0 bringt Konsolenprogramme in den Webbrowser.
Das Go-basierte Tool Tty2web erleichtert die Anzeige der Ausgabe von Konsolenprogrammen im Webbrowser. Dazu übergeben Sie ihm einfach den vollständigen Pfad zum Tool als Parameter. Es bereitet die Ausgabe auf und stellt sie online, wozu es eine eigene Web-Engine mitbringt. Standardmäßig erwartet diese Anfragen auf Port 8080 auf allen Schnittstellen. Das ändern Sie über die Parameter -a (Interface) und -p (Port). Mit -t etablieren Sie eine verschlüsselte Verbindung. Zertifikat und Schlüssel geben Sie mittels --tls-crt und --tls-key an. Soll die Ausgabe des Konsolenprogramms wie eine Unterseite wirken, legen Sie über --url die zu verwendende Adresse fest.
Eine zufällige URL erzeugen Sie mit -r. Mit -w steht außerdem ein interaktiver Modus bereit, allerdings ohne Benutzer- und Zugangsverwaltung. Gleiches gilt für den Parameter --api, der eine REST-ähnliche Schnittstelle zum Aufruf von Programmen implementiert. Alle ausgeführten Befehle laufen mit den Rechten des Benutzers, der Tty2web gestartet hat. Für Testzwecke bietet das Tool die Funktion --once, bei der es nur eine gleichzeitige Verbindung erlaubt und sich nach deren Beendigung ebenfalls terminiert. Die Anzahl der gleichzeitigen Verbindungen begrenzen Sie ansonsten mit --max-connections. Mit den Parametern --upload und --download gibt es sogar ein Grundgerüst für einen rudimentären Dateitransfer.
Die Github-Seite des Projekts bietet eine Reihe von Beispielen für Konfiguration und Einsatzmöglichkeiten. Außerdem finden Sie dort fertige Binärpakete, sodass Sie das Tool nicht selber kompilieren müssen. (agr)








