Kacl 0.2.1
Changelogs erzeugen und pflegen
Quelle: https://github.com/helstern/kacl
Lizenz: Apache 2.0
Alternativen: Conventional Changelog, Texteditor
Ob kleines Skript oder große Codebasis: Ein gut gepflegtes Changelog sorgt für mehr Übersicht. Idealerweise enthält eine solche Textdatei eine chronologisch sortierte Liste von Anpassungen und Neuerungen der einzelnen Versionen. Das Projekt Keep a Changelog gibt Hilfestellung und verrät, wie diese Dateien aufgebaut sein sollten. Das kleine Go-Tool Kacl greift Anwendern unter die Arme und erzeugt solche Files.
Der erste Aufruf lautet »kacl init«, das Ergebnis ist eine neue Datei namens »Changelog.md« im aktuellen Verzeichnis. Vorhandene Dateien überschreibt das Tool nicht; gegebenenfalls erzwingt »-f« das entsprechende Verhalten. Kacl erfragt im nächsten Schritt die URL des Projekts und die Nummer des initialen Releases (Voreinstellung: 0.0.1). Daneben unterstützt Kacl die Kommandos »added«, »changed«, »deprecated«, »fixed«, »removed« und »security«. Sie schreiben den entsprechenden Abschnitt ins Changelog. Als Letztes übergibt der Nutzer den Text des neuen Eintrags in Anführungszeichen.
Kacl gruppiert die Passagen automatisch und schreibt neue Funktionen, behobene Fehler und so weiter als zusammenhängende Blöcke ins File. Mit dem Befehl »kacl release« schließt der Anwender die Eingabe ab. Das Tool fragt nach der Release-Nummer und fügt diese dann zusammen mit dem aktuellen Datum über den Einträgen ins Changelog ein. Alle kommenden Befehle ordnet es automatisch dem nächsten Release zu.
Kacl macht das Erstellen und Pflegen von Changelog-Dateien zum Kinderspiel. Die Bedienung ist intuitiv, die Dokumentation jedoch etwas dürftig. Sie enthält einen Hinweis auf eine Konfigurationsdatei, zeigt aber kein Beispiel.
Broot 0.13.1
Konsolen-Dateimanager
Quelle: https://dystroy.org/broot
Lizenz: MIT
Alternativen: Wcd, Tree
Befehle wie »mkdir«, »cd«, »ls« und »rm« sind das täglich Brot aller Kommandozeilenfans; Ein- oder Umsteigern sei Broot ans Herz gelegt. Der in Rust implementierte Dateimanager für die Konsole wirbt mit einer besseren Navigation in Verzeichnissen und hält fertige Pakete für Linux und Windows bereit.
Beim ersten Start legt Broot unter »~/.config/broot/« eine Konfigurationsdatei an, die eigene Shortcuts, Tastenbelegungen und Wünsche an die farbliche Gestaltung aufnimmt. Ohne Parameter aufgerufen, zeigt Broot den Inhalt des aktuellen Verzeichnisses an. Alternativ gibt der Benutzer beim Start den gewünschten Ordner mit an. Für die optimale Darstellung muss das Terminal UTF-8-Zeichensätze unterstützen.
Der Anwender blättert mit den Pfeiltasten durch den Verzeichnisbaum. Enthält ein Ordner weitere Unterverzeichnisse, zeigt Broot sie als »unlisted« an. So erkennt der Benutzer sofort, dass es dort weitere Inhalte gibt, ohne dass das Gesamtbild unübersichtlich wird. Hinter einem Doppelpunkt erwartet der Dateimanager Befehle. So legt »:md« beispielsweise ein neues Verzeichnis an, »:os« öffnet eine Datei mit Less, und »:p« geht einen Schritt zurück. »:perm« blendet Infos zum Eigentümer und den Zugriffsrechten ein, »:dates« zeigt den Zeitstempel an.
Broot ist äußerst leistungsfähig, aber auch recht komplex. Das gut geschriebene und ausführliche Handbuch hilft bei den ersten Schritten; [F1] blendet eine kurze Online-Hilfe ein.
Tuir 1.28.3
Reddit im Terminal lesen
Quelle: https://gitlab.com/ajak/tuir
Lizenz: MIT
Alternativen: Rtv
Wer Nachrichten des Social-News-Aggregators Reddit auf der Shell lesen möchte, konnte bis vor Kurzem mit Rtv (Reddit Terminal Viewer) darauf zugreifen. Die Entwicklung wurde 2019 eingestellt, aber mit Terminal UI for Reddit oder kurz Tuir steht nun ein würdiger Nachfolger bereit. Er ist bereits im Python Package Index angekommen und wandert mit »pip install tuir« auf die Platte. Alternativ gibt es im Gitlab-Repository die neueste Version. Ehemalige Rtv-Anwender können die alte Konfiguration übernehmen und im Verzeichnis »~/.config/tuir/« ablegen. Die Datei »rtv.cfg« benennen sie in »tuir.cfg« um.
Ohne Parameter aufgerufen, öffnet Tuir die aktuellen Meldungen der Reddit-Hauptseite und zeigt sie in einer einfachen Ncurses-Oberfläche an. Der Schalter »–list-themes« listet vorhandene Themes auf; »–theme« wählt eines aus. Wer auf die Farben verzichten möchte, gibt beim Start »–monochrome« an. Ein Druck auf [F2]+ und [F3] ändert den Look im laufenden Betrieb. Der Benutzer navigiert mit den Pfeiltasten durch die Beiträge; optional hilft Mailcap beim Anzeigen verschiedener Medieninhalte.
Von Vim und Less borgt Tuir die beiden Kürzel [G]+[G] und [Umschalt]+[G], die an den Seitenanfang und ans Ende springen; [O] öffnet einen Reddit-Beitrag im Webbrowser. Der Schrägstrich ([Umschalt]+[ 7]) öffnet eine Befehlszeile am unteren Rand, und der Anwender kann einen Themenbereich angeben, in den Tuir wechseln soll. Auch mehrere Themenbereiche und die gewünschte Reihenfolge nimmt das Tool entgegen. Eine Übersicht aller Tastenbelegungen liefert die Online-Hilfe.
Wer Rtv schon kennt, muss sich nicht groß umstellen. Auch Tuir-Neulinge dürften sich dank des guten Handbuchs schnell zurechtfinden.
Fritzconnection 1.2.1
AVM Fritzbox auslesen
Quelle: https://github.com/kbr/fritzconnection
Lizenz: MIT
Alternativen: Fritzctl, Fb_tools
AVMs Fritzbox erfreut sich in Deutschland nach wie vor großer Beliebtheit, wozu die übersichtliche Webschnittstelle sicher beiträgt. Wer sich nicht im Webbrowser durch die Menüs klicken möchte, kann einige Statusinformationen auf der Shell abfragen. Möglich macht das Fritzconnection, das über das TR-064-Protokoll auf Port 49000 mit dem Gerät kommuniziert. Anwender installieren das Python-Tool aus den Quellen und lösen die Abhängigkeiten mit »pip3« und der mitgelieferten Datei »requirements« auf.
Danach stehen die sechs Befehle »fritzcall«, »fritzhomeauto«, »fritzhosts«, »fritzphonebook«, »fritzstatus« und »fritzwlan« bereit. Neben der IP-Adresse der Box muss der Anwender beim Aufruf immer das Zugangspasswort angeben; es steht im Klartext hinter »-p«. Optional aktiviert »-e« die TLS-Verschlüsselung der Kommunikation. Die Anruflisten der Fritzbox gibt »fritzcall« aus; der Befehl erlaubt auch das Wählen von Telefonnummern. Das Telefonbuch schreibt »fritzphonebook« ins Terminal. Alle verbundenen Geräte listet »fritzhosts« auf, und »fritzstatus« verrät den aktuellen Status inklusive Fritz-OS-Version, öffentlicher IP-Adresse und Datendurchsatz. »fritzwlan« informiert über per WLAN verbundene Geräte.
Alle Werkzeuge schreiben ihre Ausgaben in die Konsole. Alternativ liefern die Entwickler eine Bibliothek mit, die es dem Anwender erlaubt, die Fritzconnection-Funktionen bequem in eigenen Code zu integrieren. Wie das funktioniert, verrät das in Github verlinkte Handbuch.
Die Werkzeugsammlung liefert grundlegende Informationen zur Fritzbox und lässt sich gut in eigene Skripte integrieren; eine Konfiguration des AVM-Geräts gelingt nicht. Punktabzug gibt es wegen des im Aufruf im Klartext übermittelten Kennworts.
Just 0.5.8
Befehlskombinationen ausführen
Quelle: https://github.com/casey/just
Lizenz: CC0 1.0
Alternativen: Makefiles
Zum Kombinieren und Verketten mehrerer Shell-Befehle greifen viele Admins zu eigenen Skripten oder schreiben Makefiles. Just will sich als Alternative etablieren und verspricht mehr Komfort sowie detaillierte Fehlermeldungen. Das in Rust implementierte Tool fasst mehrere Befehle zu sogenannten Rezepten zusammen, den Justfiles. Als Erstes ruft der Benutzer daher »just –init« auf und erhält eine neue Rezeptdatei. Er bearbeitet diese anschließend mit »just -e« oder einem Texteditor.
Jedes Rezept beginnt mit einem eindeutigen Namen, der mit einem Doppelpunkt abschließt. Die folgenden, per Tabulator eingerückten Zeilen enthalten die auszuführenden Befehle mit allen Parametern und Optionen. Just achtet penibel auf das Einhalten der Syntax. Wer Leerzeichen statt Tabulatoren verwendet, erhält eine Fehlermeldung. Um ein Rezept auszuführen, gibt der Anwender dessen Namen an; es ist erlaubt, mehrere Rezepte zu übergeben.
Den jeweils ausgeführten Befehl hebt das Tool in der Ausgabe hervor. Der Output des Kommandos erscheint in normaler Schrift. Wer die Justfiles vor dem Einsatz testen möchte, kann mit »–dry-run« einen Probelauf starten. Eine Übersicht über alle Rezepte einer Datei liefert der Schalter »-l«. Just bietet außerdem die Möglichkeit, Aliasse für die Rezepte einzurichten. Die Github-Seite des Tools enthält eine ausführliche Dokumentation.
Komplexe, wiederkehrende Aufgaben lassen sich mit Just gut zusammenfassen. Das Handbuch erläutert die vielfältigen Konfigurationsmöglichkeiten gut.
Newsboat 2.18
RSS-Feedreader für die Shell
Quelle: https://newsboat.org
Lizenz: MIT
Alternativen: Newsbeuter, Snownews
Trotz des viel beschworenen Endes der RSS-Feeds gibt es nach wie vor zahlreiche Foren und Websites, die einen solchen Newsticker anbieten. Wer keinen grafischen Reader bemühen möchte, bleibt mit Newsboat rein textbasiert auf dem Laufenden. Das als Fork von Newsbeuter entstandene Tool besticht durch geringen Ressourcenbedarf sowie hohe Geschwindigkeit. Viele Linux-Distributionen enthalten ältere Versionen; die aktuelle Ausgabe muss der Nutzer aus den Quellen bauen.
Das Layout erinnert an den Mailclient Mutt, und auch bei den Tastenkürzeln gibt es viel Bekanntes. Die Konfiguration erwartet Newsboat im Verzeichnis »~/.newsboat/«. Hier befindet sich neben einem Cache, der den Artikelstatus der RSS-Feeds verwaltet, unter anderem die Datei mit den URLs der RSS-Feeds. Das File enthält eine Adresse pro Zeile. Wer bereits eine Liste in einem anderen Reader pflegt, kann diese mit dem Schalter »-i« im OPML-Format in Newsboat importieren.
Sogenannte Tags fassen einzelne RSS-Feeds zu Gruppen zusammen. Um ein Tag zu setzen, öffnet der Benutzer die Datei mit den URLs im Texteditor und schreibt das Tag hinter die Adresse. Newsboat erlaubt auch mehrere Tags pro Adresse; die Projektseite zeigt ein Beispiel. Gut gelungen ist die Podcast-Integration: Der Anwender stellt den Link zum MP3-Download über die Taste [E] in eine Warteschlange. Das Tool Podboat, das zu Newsboat gehört, kümmert sich anschließend um den Download.
Der Funktionsumfang überzeugt, und Newsboat erfordert keine lange Einarbeitungszeit. (Uwe**Vollbracht/hej)











