Im Kurztest: Argbash 2.2.2, HTTP-Prompt 0.8.0, Converge 0.4.0, Hitch 1.4.3, Rssgen 1.0
Argbash 2.2.2
Aufrufparameter für Shellskripte erzeugen
Quelle: https://github.com/matejak/argbash
Lizenz: BSD
Alternativen: Getopts, Argparse
Wer sich beim Erzeugen der Aufrufoptionen seiner Shellskripte schwertut, erhält Hilfe von Argbash. Der Codegenerator trägt außerdem Sorge für eine rudimentäre Onlinehilfe, die beim Aufruf ohne oder mit falschen Parametern auf Stdout erscheint.
Argbash selbst ist in Bash implementiert und leistet daher unter Linux, Mac OS und Windows gute Dienste. Neben Bash 3.0 oder neuer benötigt das Tool unter anderem »autom4te« und »autoconf«. Anwender definieren ihre Parameter in einer Vorlage, die der »m4«-Syntax folgt. Das Template übergeben sie dann beim »argbash-init«-Aufruf und erhalten als Ergebnis ein ausführbares Shellskript. Beispiele für Vorlagen im »m4«-Format liefert das Github-Repository.
Die Argbash-Entwickler stellen neben einer Quickstart-Anleitung auch einen ausführlicheren Template Writing Guide mit Beispielen bereit. Wer das Tool ohne Installation testen möchte, kann den Onlinegenerator unter https://argbash.io ausprobieren.
5 Argbash ist ein guter Assistent für Entwickler, die sich mit Parametern in komplexen Shellskripten herumschlagen. Im Gegensatz zu anderen Lösungen wie etwa Getopts kommt das Tool auch mit langen Parameternamen zurecht. Den Einarbeitungsaufwand sollten Nutzer jedoch nicht unterschätzen.
HTTP-Prompt 0.8.0
HTTP-Client für die Konsole
Quelle: https://github.com/eliangcs/http-prompt
Lizenz: MIT
Alternativen: HTTPie, Curl
Mit HTTPie und Curl stehen unter Linux zwei renommierte HTTP-Clients für die Konsole bereit. Wer nach einer interaktiven Alternative sucht, wird bei HTTP-Prompt fündig. Das Python-Tool setzt auf HTTPie und das »prompt_toolkit«, beherrscht Autovervollständigung und Syntax Highlighting.
Beim ersten Aufruf verbindet sich der Client mit der Dummy-Adresse »localhost:8000« und das Kommando »cd« wechselt zur gewünschten URL. Alternativ übergeben Nutzer diese schon beim Aufruf. Da im Hintergrund HTTPie werkelt, kommt das Tool auch mit HTTPS-Adressen zurecht. Hat die Verbindung zum Server geklappt, zeigt »head« den Header einer Seite an; »get« lädt den Inhalt herunter. Eine Übersicht über alle Befehle liefert »help«.
Anwender dürfen die Header-Informationen interaktiv anpassen und so im laufenden Betrieb den Zeichensatz oder die Sprache ändern. Auch den User Agent modifiziert das Tool on the Fly. Selbst das Setzen der HTTPie-Optionen ist möglich. Nicht mehr benötigte Parameter löschen Benutzer mit »rm«. Die HTTP-Prompt-Ausgabe erfolgt im Json-Format.
4 HTTP-Prompt ist ein praktischer, interaktiver HTTP-Client für die Shell, der den Funktionsumfang von HTTPie um Syntax Highlighting und Autocompletion erweitert.
Converge 0.4.0
Konfigurationsdateien verwalten
Quelle: http://converge.aster.is
Lizenz: Apache 2.0
Alternativen: Cdist, Ansible
Converge ist ein Konfigurationsmanagement-Tool und kümmert sich um Laptops, Server und andere Geräte – lokal und übers Netzwerk. Anwender richten das Werkzeug über HCL-Dateien ein (Hashicorp Configuration Language). Im Quellarchiv und auf der Converge-Website stehen Beispiele bereit. In der aktuellen Version gibt es 20 Vorlagen, darunter solche, die sich um den Dateizugriff, um die Benutzer- oder Paketverwaltung (APT und RPM), Docker-Container sowie LVM kümmern.
Der Befehl »converge validate« überprüft die Converge-Konfiguration, »apply« führt sie aus. Wer das lokale System meint, gibt »–local« an. Benutzer, die entfernte Rechner pflegen möchten, starten das Tool zusammen mit »server«. Converge erwartet nun auf Port 4774 eingehende Befehle. Auf Client-Seite definieren Nutzer über »–rpc-addr« die Serveradresse. Für eine sichere Kommunikation unterstützt Converge SSL.
Wer das »converge«-Binary nicht selbst aus den Quellen bauen möchte, findet auf Github Pakete für viele Plattformen und Architekturen, darunter auch solche für Mac OS, Free BSD und Solaris.
4 Obwohl Converge noch ein recht junges Projekt ist, überzeugt es jetzt schon durch seine einfache Installation und Bedienung. Die umfangreiche Dokumentation ist ebenfalls gelungen.
Hitch 1.4.3
Einfacher TLS-Proxy
Quelle: https://hitch-tls.org
Lizenz: BSD License
Alternativen: Stunnel, TLS Wrap
Bis heute existieren etliche netzwerkfähige Programme, die weder SSL noch eine andere Verschlüsselungsform nutzen. Wer auf eine derart sorglose Anwendung nicht verzichten kann oder will, rüstet mit dem TLS-Proxy Hitch nach und stellt eine sichere Kommunikation zur Verfügung. Ursprünglich entwickelt, um den HTTP-Beschleuniger Varnish abzusichern, arbeitet Hitch inzwischen auch mit einigen anderen Anwendungen zusammen.
Benutzer beeinflussen das Verhalten entweder über Parameter beim Aufruf oder über eine Konfigurationsdatei; ein recht einfach gehaltenes Beispiel liegt dem Archiv bei. In der Voreinstellung unterstützt das Tool TLSv1.x. Wer SSLv3 benötigt, muss dies explizit angeben. Über »frontend« legen Benutzer fest, auf welcher Schnittstelle und auf welchem Port Hitch die eingehenden Verbindungen erwartet. Wer einen Port unterhalb von 1024 ansprechen möchte, benötigt Rootrechte. Über »user« und »group« definieren Admins, mit welchen Berechtigungen Hitch nach dem Start weiterläuft. Der Parameter »daemon« sorgt für den Betrieb als Dienst im Hintergrund.
In der Voreinstellung startet Hitch nur einen einzigen Prozess. Für einen leistungsfähigen Proxy, der mehrere Verbindungen abarbeitet, erhöhen Benutzer die Anzahl mittels »worker«. Um eine Verbindung offen zu halten, kann Hitch »keepalive«-Pakete verschicken. Das Intervall ist variabel.
4 Hitch eignet sich sehr gut, um bisher unverschlüsselte Netzwerkdienste mit SSL sicherer zu machen. Die Konfiguration ist nicht zu komplex, aber hinreichend flexibel und in der Dokumentation gut erklärt.
Rssgen 1.0
RSS-Feeds nachrüsten
Quelle: https://github.com/ColumPaget/rssgen
Lizenz: GPLv3
Alternativen: RSS Builder, RSS Feeds Generator
Blogger, die gerne einen RSS-Feed für ihre Artikel erzeugen möchten, greifen entweder zu einem entsprechenden Plugin für das eingesetzte CMS oder skripten schnell selbst. Als Mittelweg empfiehlt sich das kleine C-Programm Rssgen, das die Titel übergebener HTML-Dateien zu einem Feed zusammensetzt und in der XML-Datei ablegt.
Eine Einrichtungsdatei gibt es nicht; Anwender steuern das Tool auf der Konsole über Parameter beim Aufruf. Als Erstes geben sie immer die URL der Website an, für die der Feed gedacht ist. Alle weiteren Schalter sind optional. So versieht »-t« den Feed mit einem Titel, »-x« nimmt gezielt HTML-Dateien aus dem Feed aus. In der Voreinstellung heißt die Feed-Datei »feed.rss«. Wer einen anderen Namen bevorzugt, bestimmt diesen hinter der Option »-o«.
Rssgen sucht in den HTML-Dateien nach dem Tag »<title>«, um den Titel korrekt einzubinden. Ist dieser nicht gesetzt, gilt die erste Überschrift (»<h1>«). Für die Kurzbeschreibung hält »<meta name=”description”>« und alternativ die erste »<h2>«-Überschrift her. Das Tool berücksichtigt zudem »<meta name=”author”>« für den Namen des Autors. Sofern das Attribut »pubdate« gesetzt ist, gilt dies als Veröffentlichungszeitpunkt im Feed, alternativ »mtime«. Um das Veröffentlichen und Aktualisieren der Feed-Datei müssen sich Anwender selbst kümmern. Ein Eintrag in der »crontab« automatisiert Letzteres.
3 Rssgen ist ein nützliches Skript, eignet sich aber nur für Anwender, die einen Shellzugang auf ihrem Webserver besitzen.











