Quellcode vergleichen mit Difftastic 0.52.0, moderne Ls-Alternative Eza 0.15.2, selbst gehostete Github-Alternative Gitea 1.20.5, Proxy mit Protokollfunktion Logged-tcp-proxy 0.1.2, Python-Code-Checker Ruff 0.1.4, SSH-Config-Prüfer Ssh-audit 3.0.0.
Difftastic 0.52.0
Quellcode vergleichen
Quelle: https://github.com/Wilfred/difftastic
Lizenz: MIT
Alternativen: GNU Diff
Zum Vergleich von Texten nutzen viele Anwender GNU Diff. Daneben gibt es zahlreiche Alternativen für spezielle Aufgaben. Difftastic ist primär für den Vergleich von Quellcode konzipiert. Es unterstützt über 30 Programmiersprachen und Formate wie CSS, JSON, LaTeX, HTML und YAML. In den meisten Distributionen fehlt Difftastic, sodass Sie auf eines der Binärpakete auf Github zurückgreifen müssen. Dort finden Sie auch eine detaillierte Anleitung. Eine Online-Hilfe steht mit »-h« zur Verfügung.
Die zu vergleichenden Codedateien oder auch ganze Verzeichnisstrukturen geben Sie Difftastic als Aufrufparameter mit. Mit dem Schalter »–skip-unchanged« unterbinden Sie die Ausgabe unveränderter Dateien, was mehr Übersicht bietet. Die Ausgabe erfolgt mit Syntax-Highlighting, falls Sie das nicht mit »–syntax-highlight« deaktivieren. Enthaltene Kommentare lassen sich mit »–ignore-comments« beim Vergleich überspringen. Mit »–check-changes« erhalten Sie einen Überblick über die Anzahl der Unterschiede, Difftastic listet dann nur die Namen der Dateien mit Änderungen auf. Die Weite von Tabulatoreinschüben geben Sie mit »–tab-width« vor. Bei Problemen können Sie ein Standard-Diff als Rückfallebene definieren, wozu Sie mit »–parse-error-limit« die Obergrenze für Parsing-Fehler festlegen.
Das handliche Difftastic bietet mehr Übersicht als das GNU-Original, ein Blick darauf lohnt sich.
Eza 0.15.2
Moderne Ls-Alternative
Quelle: https://github.com/eza-community/eza
Lizenz: MIT
Alternativen: Ls
Das Auflisten von Verzeichnisinhalten in der Konsole übernimmt bei den meisten unixoiden Betriebssystem das Tool Ls. Das Rust-basierte Eza sieht sich als moderne Alternative zum Unix-Urgestein. Es fehlt in den meisten Distributionen, fertige Binärpakete finden Sie auf Github. Für eine einfache Ausgabe des aktuellen Verzeichnisinhalts rufen Sie Eza ohne weitere Parameter auf, die Ausgabe ähnelt der von Ls. Im Gegensatz zum Original hebt Eza allerdings nicht nur Verzeichnisse und ausführbare Dateien farblich hervor, sondern setzt auch bekannte Datentypen wie MD, TOML oder bekannten Quellcode farblich ab. Die Zuordnung erfolgt dabei anhand der Dateierweiterung. Eza versteht einige gängige Ls-Parameter. So erhalten Sie mit »-l« eine ausführliche Ausgabe, und »-a« zeigt versteckte Dateien mit an. Mit »-T« gibt Eza den Inhalt in einer Baumstruktur aus. In Kombination mit der ausführlichen Ansicht stehen zusätzliche Parameter zur Verfügung, die weitere Details liefern. So zeigt beispielsweise der Parameter »-M« bei Mount-Punkten das eingebundene Gerät und das verwendete Dateisystem an. Der Schalter »-o« liefert oktale Zugriffsrechte, »-Z« zeigt sicherheitsrelevante Parameter an.
Es lohnt sich, Eza auszuprobieren. Als Dokumentation steht lediglich die Online-Hilfe (»–help«) zur Verfügung. Auf Github finden Sie Installationsbeispiele und eine Anleitung zur Integration in die Z-Shell.
Gitea 1.20.5
Selbstgehostete Github-Alternative
Quelle: https://github.com/go-gitea/gitea
Lizenz: MIT
Alternativen: Git, Gitlab
Mit Gitea betreiben Sie lokal ein webbasiertes Git-Repository. Das Tool kommt als einzelnes Binary samt eigener Web-Engine; fertige Pakete finden Sie auf der Projektseite. Beim Datenbank-Backend wählen Sie zwischen MySQL, PostgreSQL und SQLite. Der Aufruf »gitea web« startet den integrierten Webserver inklusive Oberfläche. Standardmäßig lauscht Gitea an Port 3000, einen anderen Port legen Sie mit »–port« fest. Mit »–install-port« besteht zudem die Möglichkeit, den Webserver ausschließlich zur Installation auf einem anderen Port zu betreiben.
Über die Weboberfläche wählen Sie bei der Ersteinrichtung das Datenbank-Backend und setzen die Pfade für die Repositories und das Logging. Außerdem richten Sie ein Administratorkonto ein, über das Sie später weitere Anpassungen vornehmen und neue Benutzer anlegen. Alternativ können sich Benutzer auch selbst registrieren. Wünschen Sie das nicht, deaktivieren Sie es in der Konfigurationsdatei »app.ini«. Deren Speicherort hängt vom Installationspfad ab und lässt sich in der Oberfläche ablesen, die im Aufbau stark an Github erinnert. Sie legen darin in wenigen Schritten sowohl private als auch öffentliche Repos an. Auf der Kommandozeile stehen weitere Unterbefehle zur Verwaltung von Gitea zur Verfügung. Die Projektseite hält eine ausführliche Dokumentation bereit.
Wer ein eigenes Github betreiben möchte, sollte Gitea eine Chance geben.
Logged-tcp-proxy 0.1.2
Proxy mit Protokollfunktion
Quelle: https://github.com/qwerty541/logged-tcp-proxy
Lizenz: Apache 2.0
Alternativen: keine
Proxies gibt es unter Linux viele. Dabei fällt das Rust-basierte Logged-tcp-proxy in die Kategorie der Sonderlösungen. Es konkurriert nicht mit Squid oder Socks, sondern eignet sich primär für die Analyse von Datenverbindungen. Das macht das Tool besonders für Administratoren und Entwickler interessant. Sie bauen die Software mit dem Rust-Paketmanager Cargo selbst aus den Quellen.
Logged-tcp-proxy leitet eingebende TCP-Verbindungen zu einem Zielsystem um. Dazu geben Sie ihm beim Aufruf mit »–remote-addr« die Zieladresse samt Port mit. Über »–bind-listener-addr« legen Sie Adresse und Port für eingehende Verbindungen fest. Im Gegensatz zu vielen anderen Proxies protokolliert das Tool die übertragenen Daten, die sogenannte Payload, und gibt sie in hexadezimaler Form in der Standardausgabe aus. Über »–formating« wählen Sie andere Darstellungsformen wie dezimal, binär oder oktal. Als Feldtrenner zwischen den Werten kommt der Doppelpunkt zum Einsatz, sofern Sie nicht mit »–separator« ein anderes Zeichen festlegen. Der Proxy versieht jede Payload-Zeile mit einem sekundengenauen Zeitstempel, mit »–precision« erhöhen Sie die Genauigkeit bei Bedarf auf Milli-, Mikro- oder Nanosekunden. Über »-h« steht eine Online-Hilfe zur Verfügung, im Github-Repository finden sich verschiedene Anwendungsbeispiele.
Der Funktionsumfang des noch relativ jungen Projekts fällt bislang begrenzt aus.
Ruff 0.1.4
Python-Code prüfen
Quelle: https://github.com/astral-sh/ruff
Lizenz: MIT
Alternativen: Pytype, Pychecker
Wer Python-Code auf gute Struktur oder undefinierte Variablen prüfen möchte, der greift dazu auf Ruff zurück. Sie müssen das Tool nicht selbst kompilieren, sondern können eines der zahlreichen Binärpakete von Github nutzen. Als Dokumentation steht lediglich eine Online-Hilfe zur Verfügung.
Sie konfigurieren Ruff über Unterbefehle auf der Kommandozeile. Standardmäßig arbeitet es im »check«-Betrieb und prüft übergebene Dateien oder auch den Inhalt ganzer Verzeichnisse auf unsaubere Elemente wie nicht definierte Namen oder falsch platzierte Modulimporte. Das Ergebnis seiner Analyse schreibt es in die Standardausgabe. Neben dem Dateinamen erscheint hier auch die exakte Stelle, an der sich der unsaubere Code befindet. Fehler in der Codeformatierung lassen sich mit dem Unterbefehl »format« korrigieren. Auch ihn können Sie auf ganze Verzeichnisse anwenden. Ruff teilt nach Abschluss der Arbeit mit, wie viele Dateien es verändert hat. Das Verhalten des Unterbefehls passen Sie mit zusätzlichen Parametern weiter an. Eine Konfigurationsdatei erlaubt weitere Vorgaben zu Zeilenlänge, Einrücktiefe, der Art der Quotierung sowie auszunehmenden Dateitypen. Ruff wertet die Konfigurationsdateien »pyproject.toml« oder »ruff.toml« aus. Eine ausführliche Dokumentation zur Konfiguration findet sich auf der Github-Seite des Projekts.
Für Python-Entwickler ist Ruff ein nützlicher Helfer. Ein Blick lohnt sich.
Ssh-audit 3.0.0
SSH-Konfiguration prüfen
Quelle: https://github.com/jtesta/ssh-audit
Lizenz: MIT
Alternativen: keine
Wer sein System über die SSH-Standardkonfiguration hinaus härten möchte, muss die Einstellungen permanent prüfen, um das Sicherheitsniveau zu halten. Dabei hilft Ssh-audit, das sowohl die Client- als auch die Server-Konfiguration abklopft und dabei alle Algorithmen und Fingerprints unter die Lupe nimmt. Um die Konfiguration eines Servers zu testen, geben Sie dessen IP-Adresse oder FQDN als Parameter an. Lauscht SSH nicht auf dem Standard-Port, geben Sie mit »-p« einen alternativen Port an. Über die Parameter »-4« und »-6« legen Sie das gewünschte Internet-Protokoll fest, über »-1« und »-2« die zu nutzende SSH-Protokollversion.
Seine strukturierte Ausgabe bereitet Ssh-audit farblich auf, falls Sie das nicht via »-n« deaktivieren. Über »-b« erzeugen Sie eine Batch-Ausgabe zur Weiterverarbeitung. Um mehrere Server gleichzeitig zu prüfen, erfassen Sie diese zeilenweise in einer Textdatei, die Sie Ssh-audit mit »-T« übergeben. Standardmäßig nimmt das Tool die Prüfung parallel vor, wozu es bis zu 32 Threads startet. Zum Prüfen der Client-Konfiguration starten Sie Ssh-audit mit »-c« im Server-Modus, wobei das Tool eingehende Verbindungen auf Port 2222 erwartet.
Viele Distributionen bringen ältere Ssh-audit-Versionen mit. Das aktuelle Release beherrscht zwölf neue Host-Schlüssel- und acht neue Verschlüsselungsalgorithmen. Ein Update lohnt also. (Uwe Vollbracht/jlu)










