Im Kurztest: HTTP Dirfs 1.0.1, Gotop 2.0.1, SSHW 1.0.8, FZF 0.17.5, Gosh 0.2.1, Pet 0.3.4
HTTP Dirfs 1.0.1
HTTP-Verzeichnisse mounten
Quelle: https://github.com/fangfufu/httpdirfs
Lizenz: GPLv3
Alternativen: keine
HTTP Dirfs (Hyper Text Transfer Protocol Directory Filesystem) bindet HTTP-Verzeichnis-Auflistungen lokal ein. Das in C geschriebene Tool nutzt das Curl-Multi-Interface und kann bestehende HTTP-Verbindungen wiederverwenden. Auch die Fuse-Komponente läuft im Multithreading-Modus.
Beim Aufruf erwartet »httpdirfs« die URL und den lokalen Mountpunkt. Das Tool erfordert Rootrechte, um das entfernte Verzeichnis einzubinden. Benötigt die Website eine Authentifizierung, können Nutzer hinter »-u« und »-p« den Benutzernamen und das Passwort angeben. Einen Proxyserver definieren Anwender hinter »-P«. Mit dem Schalter »-f« halten sie das Tool nach dem Verbindungsaufbau im Vordergrund, was bei der Fehleranalyse hilft.
Da HTTP Dirfs auf Libfuse setzt, können Anwender hinter »-o« Fuse-spezifische Parameter notieren. So dürfen sie beispielsweise über »-o allow_other« den Zugriff für das gemountete Verzeichnis für andere freigeben. Hinter »-o umask« legen sie die Rechte für Benutzer, Gruppen und alle anderen fest.
HTTP Dirfs tut genau das, was es verspricht: Es macht HTTP-Verzeichnis-Auflistungen lokal im Dateisystem verfügbar. Zeigt die URL auf eine PHP- oder »index.html«-Datei, erzeugt HTTP Dirfs nur ein leeres Unterverzeichnis.
Gotop 2.0.1
Grafische Aktivitätsanzeige fürs Terminal
Quelle: https://github.com/cjbassi/gotop
Lizenz: AGPLv3
Alternativen: Top, Htop
Hier kommt ein in Go implementierter Systemmonitor fürs Terminal. Gotop listet aktuelle Prozesse auf, sortiert diese wahlweise nach CPU- und Speicherbedarf und zeigt die CPU-Auslastung sowie den eingehenden und ausgehenden Datendurchsatz von Netzwerkschnittstellen an. Eine Plattenbelegung zeigt, wie sich die Daten auf die verschiedenen Partitionen verteilen. Sofern das Board es erlaubt, kann Gotop auch die CPU-Temperatur ermitteln.
Benutzer steuern das Tool mit der Tastatur; für einige Bereiche gibt es eine Maus(rad)-Unterstützung. Darüber hinaus kennt Gotop einige Aufrufparameter, die unter anderem eine minimale Anzeige aktivieren (»-m«), ein Aktualisierungs-Intervall vorgeben (»-r«), eine Statusanzeige einblenden (»-s«) und ein Farbschema wählen (»-c«).
Gotop liefert vier Designs für Anwender im Ordner »colorschemes« mit. Wer eine eigene Darstellung kreieren möchte, kann die Dateien »default.json« und »template.go« als Vorlage verwenden. Ein fertiges Farbschema gehört in das Verzeichnis »~/.config/gotop«.
Gotop arbeitet unter Linux, Free BSD und Mac OS. Das Tool überzeugt auf ganzer Linie und macht auch in SSH-Sitzungen eine gute Figur. Gotop erfordert zwingend UTF-8, andernfalls zeigt es nur kryptische Zeichen.
SSHW 1.0.8
Wrapper für den SSH-Client
Quelle: https://github.com/yinheli/sshw
Lizenz: MIT
Alternativen: SSH, Cluster SSH, Pssh
Wer auf vielen entfernten Systemen via SSH arbeitet und sich abseits der Datei »~/.ssh/config« ein Werkzeug zum Verwalten der Verbindungen wünscht, wird vielleicht bei SSHW fündig. Das Go-Tool nimmt Verbindungsparameter und Zugangsdaten in einer Yaml-Konfigurationsdatei (»~/.sshw« oder ».sshw« im aktuellen Verzeichnis) auf. Eine Steuerung mit Parametern ist nicht vorgesehen.
Die Einrichtungsdatei fasst Einstellungen in Gruppen zusammen. Alle Verbindungen enthalten Angaben zur Adresse und zum Port des entfernten Rechners sowie zum dortigen Benutzerkonto. Die Authentifizierung erfolgt wahlweise über SSH-Schlüssel oder über Kennwörter. Diese stehen im Klartext in der ».sshw«-Datei, und die Schlüssel müssen passwortlos sein, da das Tool keine Benutzerinteraktion vorsieht.
Der Befehl »sshw« zeigt alle bekannten Verbindungsgruppen. In diesen navigieren Nutzer mit den Pfeiltasten, [Eingabe]+ wechselt in eine Gruppe. Hier blättern sie dann zur gewünschten Verbindung und initiieren diese wiederum über [Eingabe]. In jeder Ebene steht zudem eine Suche zur Verfügung.
Die Konfiguration und das Arbeiten mit SSH sind kinderleicht. Punktabzug gibt es allerdings für die Klartext-Kennwörter und die fehlende Interaktion zur Passworteingabe.
FZF 0.17.5
Fuzzy-Suche für die Shell
Quelle: https://github.com/junegunn/fzf
Lizenz: MIT
Alternativen: Peco
Find und Grep liefern oft viele Ergebnisse zurück, Anwender müssen die Ausgabe also filtern, bis sie das Gewünschte finden. Wer eine flexible Alternative zu den klassischen GNU-Tools sucht, sollte sich den Commandline Fuzzy Finder (kurz: FZF) anschauen.
Neben dem eigentlichen Programm »fzf« landet auch das Werkzeug »fzf-tmux« auf der Platte, das für den Einsatz in Tmux-Sessions gedacht ist. Zudem gibt es Erweiterungsskripte, die FZF in gängige Shells (Bash, Zsh und Fish) integrieren. Vim-Fans dürften sich über das FZF-Plugin für den Editor freuen.
Im einfachsten Fall übergeben Anwender die Ausgabe eines Programms über eine Pipe an FZF. In der Ergebnisliste navigieren sie mit den Cursor-Tasten oder mit der Maus. Am FZF-Prompt geben sie einen Suchbegriff ein, und das Go-Tool schränkt die Treffer ein. Ein Druck auf [Eingabe] schreibt die Auswahl nach Stdout und beendet FZF.
Wer mehrere Zeilen selektieren möchte, übergibt beim Start »-m«. Mit [Tab]+ markieren Nutzer nun die gewünschten Treffer. Nach dem Druck auf [Eingabe] landet die durch Leerzeichen getrennte Liste in der Standardausgabe.
Eine Vorschau gewährt einen Blick in Dateien unter dem Cursor. Dafür rufen Anwender das Tool mit »–preview« und einem Anzeigetool wie etwa Cat auf. Die Aufteilung des FZF-Fensters beeinflusst der Schalter »–preview-window«. Ein Blick in die Manpage oder die ausführliche Doku unter Github lohnt sich.
FZF gefällt und ist äußerst flexibel. Einziger Wermutstropfen: Die mitgelieferten Skripte landeten nach dem Kompilieren und Installieren nicht in den korrekten Pfaden.
Gosh 0.2.1
Kleine Webengine für Tester
Quelle: https://github.com/Checksum/gosh
Lizenz: MIT
Alternativen: Weborf
Entwickler von kleinen Tools oder Skripten, die mit Webservern interagieren, benötigen ein Testsystem. Einige Sprachen wie etwa Python liefern eine solche Umgebung aus – das inspirierte die Macher von Gosh. Ihr in Go implementiertes Tool bietet eine rudimentäre Webengine zum Testen. Im Github-Repository stehen Pakete für alle gängigen Betriebssysteme und Plattformen bereit.
Ohne Parameter aufgerufen stellt Gosh den Inhalt des aktuellen Verzeichnisses auf Port 8000 der lokalen Schnittstelle dar. Das Interface ist fest im Code verankert; einen alternativen Port können Nutzer aber über die Option »-port« vorgeben. Wer ein Dokumentenverzeichnis bestimmen möchte, erledigt das über »-dir«. Wenn keine Indexdatei vorhanden ist, zeigt Gosh den Inhalt des Ordners als Liste an.
Bei dem Versuch, auf eine nicht vorhandene Seite zuzugreifen, zeigt der Webbrowser den Quellcode der Reload-Funktion an, was das automatische Aktualisieren ermöglichen soll. Allerdings funktioniert diese auf dem Server-Sent-Event basierende Funktion nicht in allen Browsern. Die Microsoft-Browser verweigern hier den Dienst, auch mit dem Firefox des Testrechners (Ubuntu 18.04) klappte dies nicht. Gosh ermöglicht den automatischen Reload für Javascript-, CSS- und HTML-Dateien.
Die Idee ist gut: Gosh stellt eine einfache Webengine zum Testen bereit, sodass Entwickler keinen vollwertigen Webserver einrichten müssen. Die Dokumentation ist jedoch recht spärlich. Die Tester bemängeln ebenfalls, dass es nicht möglich ist, die Schnittstelle per Parameter zu ändern.
Pet 0.3.4
Erinnerung an Shell-Befehle
Quelle: https://github.com/knqyf263/pet
Lizenz: MIT
Alternativen: Memo
An die oft getippten Shellbefehle erinnern sich die meisten Anwender ohne Probleme – für selten genutzte Kommandos bietet Pet nun eine Gedächtnisstütze. Das Go-Tool speichert Befehle und optionale Kommentare mit einer Beschreibung. Unter Github gibt es Pakete für viele Plattformen und Betriebssysteme sowie die Quellen.
Eine Manpage fehlt; dafür ist das Handbuch im Github-Repository lesenswert. Anwender füttern Pet mit »new« von Hand mit Befehlen oder integrieren das Tool in die Shell. In der Dokumentation gibt es Beispiele für das Teamwork mit Bash, Zsh und Fish. Eine Funktion namens »prev()« kann jeweils das letzte Kommando automatisch in den Pet-Speicher aufnehmen. Das Handbuch verrät auch, wie Benutzer die Suchfunktion des Tools an ein Tastenkürzel binden. Zum Suchen greift Pet auf externe Tools zurück und arbeitet etwa mit FZF oder Peco zusammen.
Die Konfiguration und die Liste aller erfassten Befehle speichert Pet als Yaml-Datei im Verzeichnis »~/.config/pet«. Über »pet configure« bearbeiten Anwender die Einrichtungsdatei im Standard-Texteditor. Um das File mit den angesammelten Befehlen zu bearbeiten, rufen Nutzer »pet edit« auf, »pet list« zeigt die Kommandos an. »pet search –query« fahndet nach Einträgen, »pet exec« führt einen Befehl aus. Gut gefällt, dass Pet seinen Speicher mit einem Github- oder Gitlab-Konto synchronisieren kann.
Einziger Minuspunkt beim sonst sehr praktischen Helfer: Die Notwendigkeit eines speziellen Auswahltools ist nicht sofort ersichtlich. Leider ist diese Abhängigkeit auch nicht in den Paketen definiert.











