Kompakter Webserver HTTP-Server 0.8.5, Dateien deduplizieren mit Jdupes 1.21.3, Nginx-Logfiles erzeugen mit Logfilegen 1.2.0, Passwortgenerator Rucksack 0.8.1, Make-Alternative Task 3.20.0, Xlog 0.77.0 generiert statische Websites in Markdown.
HTTP-Server 0.8.5
Kompakter Webserver mit Transportverschlüsselung
Quelle: https://github.com/http-server-rs/http-server
Lizenz: Apache 2.0, MIT
Alternativen: Lighttpd
Suchen Sie nach einem schlanken Webserver mit SSL/TLS-Verschlüsselung, sollten Sie sich das Rust-basierte Tool HTTP-Server näher ansehen. Für Ubuntu, MacOS und Windows finden Sie fertige Pakete, ansonsten bauen Sie das Werkzeug mit Cargo selbst. Geben Sie nicht über »–host« und »–port« etwas anderes an, wartet HTTP-Server an Port 7878 der lokalen Schnittstelle auf eingehende Verbindungen. Als Document Root dient das aktuelle Verzeichnis. Einen anderen Ordner geben Sie bei Bedarf als letzten Aufrufparameter an.
Mit »–tls-cert«, »–tls-key« und »–tls-key-algorithm« richten Sie eine Transportverschlüsselung ein, »–tls« aktiviert sie. Der Parameter »–gzip« komprimiert die Antworten des Servers für den Transport, »–logger« protokolliert die Anfragen. Das Protokoll landet in der Standardausgabe. Mit den Schaltern »–username« und »–password« realisieren Sie eine rudimentäre Zugriffsbeschränkung.
Sie können die Einstellungen in einer TOML-Konfigurationsdatei speichern, deren Namen Sie beim Start hinter »-c« angeben. Mit dem Schalter »–proxy« dient HTTP-Server außerdem als Reverse Proxy. Zudem unterstützt die Software Cross-Origin Resource Sharing (CORS). Ein Beispiel dazu sowie zahlreiche weitere Anregungen finden Sie in der Anleitung auf Github.
Der kompakte HTTP-Server genügt, um in kleineren LANs Dateien oder statische Inhalte bereitzustellen. Für komplexere Webauftritte eignet er sich nicht.
Jdupes 1.21.3
Doppelte Dateien finden und bearbeiten
Quelle: https://github.com/jbruchon/jdupes
Lizenz: MIT
Alternativen: Fdupes
Um mehr Platz auf der Festplatte zu schaffen, bietet es sich an, den Massenspeicher regelmäßig aufzuräumen. Dazu empfiehlt sich Jdupes als praktischer Helfer, um Ordnung zu schaffen. Der Fdupes-Fork bietet laut seiner Entwickler viele Verbesserungen und vor allem eine höhere Performance. Im Github-Repository finden Sie die Quellen des in C implementierten Tools für Linux sowie eine native Windows-Portierung.
Um ein Verzeichnis nach Dubletten zu durchstöbern, geben Sie es beim Aufruf mit an; »-r« macht die Suche rekursiv. In der Voreinstellung listet Jdupes die doppelten Dateien mit ihrem vollen Pfad in der Ausgabe auf. Um zusätzlich die Dateigröße einzublenden, verwenden Sie den Schalter »-S«. Die Option »-j« sorgt für eine Komplettausgabe samt Größe im JSON-Format. Jdupes sortiert nach Dateinamen, kann aber auch die Mtime berücksichtigen (»–order=BY=time«). Eine knappe Zusammenfassung liefert »-m«.
Sind alle Duplikate identifiziert, können Sie mehrfach vorhandene Dateien mit »-l« oder »-L« durch Soft- respektive Hardlinks ersetzen. Alternativ löscht »-d« die Dubletten. Um gezielt Dateien auszuschließen, notieren Sie sie hinter »-X«. 0 Byte große Dateien stuft Jdupes automatisch als Dublette ein, wenn Sie »-z« einsetzen.
Jdupes überzeugt. Im direkten Vergleich mit Fdupes hatte das Tool auf dem Testrechner die Nase in Sachen Geschwindigkeit deutlich vorn.
Rucksack 0.8.1
Passwörter erzeugen und sicher aufbewahren
Quelle: https://github.com/oxur/rucksack
Lizenz: Apache 2.0
Alternativen: Pass
Den in Rust geschriebenen Passwortmanager Rucksack kompilieren Sie aus den auf Github angebotenen Quellen selbst. Mit aktuellen Rust- und Cargo-Versionen geht das schnell von der Hand. Bei der Installation legt das Tool eine eigene Passwortdatenbank unter »$HOME/.local/share/rucksack/data/secrets.db« an, über »-d« geben Sie eine eigene Datei für die Kennwörter vor.
Sie steuern Rucksack mit einer Kombination aus Kommandos und Parametern. Der Befehl »add« erzeugt einen neuen Eintrag in der Passwortdatei. Dazu gehört neben einem Benutzernamen und dem Kennwort eine URL. Das Passwort wird mit einem Salt-Wert gehashed. In der Voreinstellung ist das der Name des ausführenden Benutzers, »-s« nimmt einen alternativen Salt-Wert entgegen. Geben Sie das Passwort nicht beim Aufruf an, erfragt Rucksack es. Das Kommando »list« führt alle gespeicherten Einträge auf, wobei Rucksack die Passwörter unkenntlich macht und per Score deren Stärke signalisiert. »-f« filtert die Ausgabe.
Der Befehl »set« ändert vorhandene Einträge, »rm« entfernt nicht mehr benötigte. Haben Sie keine Ideen für starke und kreative Kennwörter, bietet »gen« Hilfe. Mit »export« und »import« tauschen Sie die Passwortdateien mit den Webbrowsern Firefox und Chrome aus. Allerdings stehen dabei die Kennwörter im Klartext in den Export-Dateien.
Das recht junge Programm hat noch kleinere Macken. Es lohnt sich jedoch, Rucksack weiter zu beobachten.
Task 3.20.0
Einfache Make-Alternative
Quelle: https://github.com/go-task/task
Lizenz: MIT
Alternativen: Make
Das Go-Programm Task tritt als Alternative zu Make an und verspricht eine einfachere Konfiguration. Dazu setzt es auf YAML-Dateien. Im Github-Repository finden Sie Pakete für viele Betriebssysteme und Architekturen, die keine weiteren Abhängigkeiten haben.
Ohne Parameter aufgerufen, prüft Task, ob es im aktuellen Verzeichnis eine Datei »Taskfile« mit der Endung ».yml«, ».yaml«, ».dist.yml« oder »dist.yaml« gibt. Ein Taskfile-Template erzeugt bei Bedarf »–init«. Die Einrichtungsdatei gliedert sich in die Bereiche »version«, »includes«, »vars« und »tasks«. Unter »vars« definieren Sie Variablen für die einzelnen Tasks, »tasks« enthält die Beschreibung der Aufgaben.
Jeder Task hat einen eindeutigen Namen, den Sie später beim Aufruf angeben. In der Voreinstellung legt »–init« einen Task namens »default« an, der immer dann läuft, wenn Sie keine Aufgabe definiert haben. Über »aliases« weisen Sie Tasks einen alternativen Namen zu. Das Schlüsselwort »cmd« leitet die Angabe der zum Task gehörigen Befehle ein, der Aufrufparameter »–summary« schreibt sie zur Kontrolle in die Shell. Task bietet außerdem die Möglichkeit, mit »–parallel« Aufgaben nebenläufig auszuführen, wobei »–concurrency« deren Anzahl begrenzt.
Task erweist sich als praktisches Build-Tool mit einer verständlichen Syntax. Anwendungsbeispiele liefert die ausführliche Dokumentation auf der Projektseite.
Xlog 0.77.0
Statische Websites in Markdown
Quelle: https://github.com/emad-elsaid/xlog
Lizenz: MIT
Alternativen: Hugo
Statische Webseiten laufen oft schneller und gelten zudem als sicherer, da keine serverseitigen Skripte laufen. Dafür erfordert die Pflege der Inhalte etwas mehr Aufwand. Erstellen Sie Webseiten lieber in Markdown als in HTML, sollten Sie sich Xlog ansehen. Das Go-Tool stellt Markdown-Dateien als HTML bereit. Pakete für Linux, Windows und MacOS gibt es auf Github.
Zum Bauen einer Website legen Sie Markdown-Dateien in einem Verzeichnis ab und rufen dort Xlog auf. Ohne weitere Parameter startet das Tool einen Webserver, der auf Port 3000 der Loopback-Schnittstelle lauscht. Mit »-bind« wechseln Sie Port oder Interface. Sofern Sie nicht über »-index« eine andere Startseite angeben, sucht Xlog nach einer »index.md«. Die Anzeige im Browser funktionierte im Test problemlos, das Bearbeiten klappte jedoch nicht. Mit dem Aufrufparameter »-readonly« deaktivieren Sie den Schreibmodus.
Weitere Parameter ermöglichen die Angabe von Metadaten wie Github-Links (»-github.branch« oder »-github.repo«) oder einer Twitter-Card mit Benutzernamen (»-twitter.username«). Eine Übersicht aller Aufrufoptionen blendet »-h« ein. Ein Blick in das auf der Github-Seite verlinkte Handbuch lohnt sich: Hier erfahren Sie auch etwas über das Schreiben und Einbinden von Erweiterungen.
Das recht junge Xlog hat noch ein paar Kinderkrankheiten. Möchten Sie statische Websites im Markdown-Format erstellen, sollten Sie sich das Tool trotzdem ansehen.
Logfilegen 1.2.0
Nginx-Logfiles zu Testzwecken erzeugen
Quelle: https://github.com/psemiletov/logfilegen
Lizenz: Unlicense License
Alternativen: keine
Ist das maßgeschneiderte Tool zur Logfile-Auswertung erst einmal f, fehlen oft noch die praktischen Tests. Das in C verfasste Logfilegen hilft aus der Patsche und erzeugt Protokolle, wie sie Nginx erzeugen würde. Sie bauen das Tool selbst aus den Quellen, als Abhängigkeiten nennen die Entwickler GCC oder Clang mit C++17-Support.
Über Templates passen Sie Inhalt und Struktur der Protokolle an, eine Beispieldatei aus dem Programmarchiv kann dazu als Vorlage dienen. Ausführliche Beschreibungen zur Template-Struktur liefert die Projektseite. Hinter »–template« übergeben Sie beim Aufruf eine Vorlage. Logfilegen schreibt seine Ausgabe in der Voreinstellung in die Konsole, mit »–logfile« speichert es das Ergebnis in einer Datei. Die Größe der Datei legt »–logsize« fest.
Logfilegen kümmert sich selbst um die Log-Rotation. Sie bestimmen über »–logcount«, wie viele Protokolle es vorhält. Zum Platzsparen komprimieren Sie die Dateien via »–gzip«. Wie viele Protokolle das Tool erstellt, geben Sie mit Optionen wie »–duration« (Zeitraum) oder »–lines« (Zeilenanzahl) vor. In der Voreinstellung erledigt Logfilegen seine Aufgaben so schnell wie möglich; »–rate« passt die Ausgabegeschwindigkeit an.
Logfilegen ist ein praktischer Helfer für alle, die generische Nginx-Protokolle benötigen, den Webserver aber nicht selbst betreiben. (Uwe**Vollbracht/hej/jlu)










