Imgdiff 1.0.0
Bilder miteinander vergleichen
Quelle: https://github.com/n7olkachev/imgdiff
Lizenz: MIT
Alternativen: Odiff, Pixelmatch
Zum Vergleich von Textdateien nutzen viele Anwender Diff und Co.; beim Gegenüberstellen von Bildern helfen diese Werkzeuge aber nicht weiter. Stattdessen treten Odiff, Pixelmatch und jetzt auch Imgdiff an. Letzteres wirbt mit einer besonders guten Performance und erschien erst vor Kurzem als initiales Release. Der Entwickler des Tools stellt unter Github nicht nur die Quellen des Go-Tools bereit, sondern auch ein kurzes Readme und die Ergebnisse eines kleinen Benchmarks. Für Linux, Windows und MacOS gibt es fertige Pakete (32 und 64 Bit).
Die Konfiguration erfolgt über Kommandozeilenparameter beim Aufruf. Für einen schnellen Vergleich geben Sie beide Bilder an. In der aktuellen Version unterstützt Imgdiff nur Bilder im JPG- und PNG-Format. Unterscheiden sich die beiden Dateien, meldet das Tool das mit dem Hinweis Failure und schreibt die Anzahl der unterschiedlichen Pixel nach Stdout. Stimmen beide Dateien überein, erscheint stattdessen der Hinweis Success.
Imgdiff erkennt die farblichen Abweichungen der einzelnen Pixel; der Parameter »–threshold« legt die Schärfe bei der Bestimmung der Farbabweichung fest. Geben Sie »–fail-on-layout« an, vergleicht das Tool die Bilder nur, wenn das Layout übereinstimmt, was bei großen Dateimengen den Vergleich beschleunigt. Damit ist der überschaubare Funktionsumfang des Neulings erschöpft. Wer einen Blick in den Imgdiff-Quellcode wirft, sieht, dass das Tool auf die Funktionen der gleichnamigen Go-Bibliothek zurückgreift.
Das noch junge Imgdiff zeigt Potenzial, bietet aber noch nicht so viele Funktionen wie die Konkurrenz und unterstützt bislang erst zwei Bildformate.
Jtab 0.4.4
JSON-Dateien als Tabelle formatieren
Quelle: https://github.com/wlezzar/jtab
Lizenz: Freeware
Alternativen: Json2table, Json-Table
Die Javascript Object Notation (JSON) eignet sich gut zum Datenaustausch zwischen Anwendungen: Das Format ist von der Programmiersprache unabhängig, und es gibt Parser und Generatoren in vielen verbreiteten Sprachen. Obwohl JSON-Dateien strukturiert und in Textform vorliegen, kann man sie meist nicht gut lesen. Das Rust-basierte Tool Jtab bringt Ordnung ins Geschehen und gibt die Daten als Tabelle formatiert auf der Shell aus. Sie finden die Quellen unter Github und bauen das Tool mit dem Rust-Installer »cargo« selbst. Für Linux- und MacOS-Nutzer stehen auch fertige Binarys bereit.
Jtab erwartet die zu formatierenden Daten hinter einer Pipe über die Standardeingabe. In der Voreinstellung gibt es anschließend eine Tabelle auf der Konsole aus. Der Parameter »–format« speichert das Ergebnis in anderen Formaten; die aktuelle Jtab-Version unterstützt Markdown, HTML und HTML-Raw. Während das Tool für HTML ein Stylesheet benutzt, liefert die Raw-Variante das reine HTML zurück.
Über »–fields« legen Sie fest, welche Spalten der JSON-Datei das Tool ausgibt; eine mehrfache Angabe ist möglich. Gleiches gilt für »–colorize« zum farblichen Hervorheben von Spalten. Für große Eingabedateien beschränkt »–take n« die Ausgabe auf die ersten n Zeilen. Kommen die JSON-Daten wie bei einer Programmausgabe oder einem Curl-Download zeilenweise an, hilft »–streaming« beim Verarbeiten. Weitere Anwendungsbeispiele liefert die Github-Seite.
Ein Blick auf Jtab lohnt sich für alle, die häufig mit JSON-Dateien zu tun haben. Das Tool punktet mit seiner Flexibilität und kann auch mit Streams umgehen.
Mkcert 1.4.3
Selbst signierte SSL-Zertifikate erzeugen
Quelle: https://github.com/FiloSottile/mkcert
Lizenz: BSD
Alternativen: Open SSL
Dank Let’s Encrypt gelingt das Erstellen kostenloser SSL-Zertifikate für öffentliche Server inzwischen sehr einfach. Wer ein selbst signiertes Zertifikat für Testumgebungen im lokalen Netzwerk benötigt, bemüht meist OpenSSL aus der gleichnamigen Programmsammlung. Das Go-Tool Mkcert tritt als Alternative für die Shell an und verspricht schnelle Ergebnisse ohne Konfiguration. Pakete für alle wichtigen Betriebssysteme und Plattformen stehen unter Github zur Verfügung.
Ohne Parameter aufgerufen, zeigt Mkcert eine rudimentäre Online-Hilfe an. Detaillierte Informationen zu allen Parametern erhalten Sie über »-help«. Im ersten Schritt trägt »-install« die lokale CA in den Trust-Store des Betriebssystems sowie in die lokalen Firefox- und Chrome-Versionen ein, wozu es Root-Rechte benötigt. Zertifikat und Schlüssel landen unter »$HOME/.local/share/mkcert«. Über die Umgebungsvariable »$CAROOT« setzt der Nutzer einen alternativen Speicherort, der Parameter »-CAROOT« gibt den Ort aus.
Ein neues Zertifikat erzeugt »mkcert« zusammen mit dem gewünschten Domain-Namen. Als Ergebnis landen eine ».pem«- und eine ».key«-Datei im aktuellen Verzeichnis. Die Schalter »-cert-file«, »-key-file« und »-p12-file« definieren alternative Speicherorte. Soll ein Zertifikat für mehrere Domains oder Systeme gelten, geben Sie diese einfach beim Aufruf mit an. Der Schalter »-pkcs12« erstellt zusätzlich eine PFX-Datei für ein Zertifikat im Format PKCS#12.
Wer für eine Entwicklungsumgebung die verschlüsselte Kommunikation mit eigenen Zertifikaten testen möchte, kommt mit Mkcert bequem ans Ziel. Einzige Kritikpunkte: Die Hilfe ist etwas karg, und auch die Beispiele und Beschreibungen im Github-Repo lassen Fragen offen.
Naabu 2.0.3
Schneller Portscanner in Go
Quelle: https://github.com/projectdiscovery/naabu
Lizenz: MIT
Alternativen: Go-Portscanner, Nmap
Der in Go implementierte Portscanner Naabu nimmt schnelle SYN/CONNECT-Scans auf einem oder mehreren Hosts vor und listet alle Ports auf, die antworten. Um einen Host auf offene Ports abzuklopfen, geben Sie die IP-Adresse oder den Namen des Hosts an. Naabu prüft dann die üblichen Top-100-Standard-Ports wie 22, 80 oder 443 via SYN. Alternativ scannt »-top-ports 1000« die wichtigsten 1000er-Ports. Einen bestimmten Bereich nimmt der Schalter »-p« entgegen, für einen CONNECT-Scan verwenden Sie »-s c«. Die Schnittstelle definiert »-interface«; eine Übersicht über alle verfügbaren Schnittstellen samt IP-Adresse liefert »-interface-list«.
Standardmäßig testet Naabu alle Ports bis zu drei Mal. Antwortet das Ziel in dieser Zeit nicht, gilt der Port als geschlossen. Mit »-rate« und »-retries« beeinflussen Sie die Anzahl der parallelen Scans und der Verbindungsversuche. Naabu kann über »-nmap« und »-nmap-cli« die Nmap-Engine und deren Parameter zum Scannen verwenden, sofern Nmap auf dem System installiert ist.
In der Voreinstellung schreibt Naabu seine Ergebnisse nach Stdout, alternativ speichert »-o« die Ausgabe in einer Textdatei. Zum Weiterverarbeiten in anderen Programmen eignet sich »-json«. Beim ersten Start legt Naabu eine Konfigurationsdatei unter »$HOME/.config/naabu/« an. Sie hält Voreinstellungen für Parameter und Optionen vor.
Der mächtige Portscanner Naabu lässt keine Wünsche offen und arbeitet, falls doch eine Funktion fehlt, auch mit Nmap zusammen.
Simple-Httpd 0.2.1
Einfache HTTP-Engine für Tests
Quelle: https://github.com/GrowtopiaJaw/simple-httpd
Lizenz: Apache 2.0
Alternativen: Python SimpleHTTPServer
Schnell einen schlanken Webserver zum Testen im LAN starten? Für Python-Entwickler dank des SimpleHTTPServer-Moduls ein alter Hut. Das in Go geschriebene Tool Simple-Httpd stellt diese Funktion für alle anderen bereit. Im Github-Repository stehen Pakete für alle erdenklichen Betriebssysteme und Plattformen. Eine Manpage gibt es nicht, sodass die Online-Hilfe herhalten muss. Die Möglichkeiten des Tools bleiben jedoch überschaubar, Simple-Httpd kann keine dynamischen Inhalte darstellen.
Ohne weitere Parameter aufgerufen, liefert das Tool den Inhalt des aktuellen Verzeichnisses auf Port 8000 an allen Schnittstellen aus. Einen alternativen Port bestimmen Sie hinter »-p«; privilegierte Ports benötigten Root-Rechte. Um verschlüsselt zu kommunizieren, geben Sie beim Aufruf den Schalter »-g« an. Das Tool erzeugt dann einen selbst signierten Schlüssel und legt ihn unter »$HOME/.autocert/« ab. Der Server lauscht nun auf Port 8000 und 4433, wobei er Anfragen auf Ersteren direkt an Letzteren weiterleitet.
Bei jedem Start mit »-g« entsteht ein neues Zertifikat, das Sie im Webbrowser neu freigeben müssen. Um andere Zertifikate zu verwenden, definieren Sie den Pfad zu den Dateien hinter »-c«. Simple-Httpd arbeitet optional mit Let’s Encrypt zusammen. Dazu verwenden Sie den Schalter »-l« zusammen mit einem Domain-Namen. Das Tool protokolliert die Zugriffe im JSON-Format in der Standardausgabe, ideal zum Weiterverarbeiten.
Simple-Httpd beschränkt sich auf das Wesentliche, kennt keine Zugriffssteuerung und eignet sich daher nur für den lokalen Gebrauch.
Ttyd 1.6.3
Terminalausgabe im Browser teilen
Quelle: https://github.com/tsl0922/ttyd
Lizenz: MIT
Alternativen: Gotty, Tty-share
Ttyd erlaubt den Zugriff auf diverse Konsolenprogramme über den Webbrowser. Nach dem Herunterladen und Einrichten eines der fertigen Pakete ist Ttyd sofort startklar. Die Konfiguration erfolgt über Kommandozeilenparameter. Das Tool fungiert als Wrapper-Engine, die das auszuführende Konsolenprogramm aufruft und dessen Ausgabe entgegennimmt. Um beispielsweise die Ausgabe von Htop darzustellen, übergeben Sie dieses Kommando als letzten Parameter. Ttyd verfügt über eine eigene Web-Engine und stellt die Ergebnisse in der Voreinstellung auf Port 7681 auf allen Schnittstellen bereit. Die Schalter »-i« und »-p« beeinflussen diese Werte.
Soll Ttyd nicht mit den Rechten des aufrufenden Benutzers laufen, nehmen »-u« und»-g« andere Benutzer und Gruppen entgegen. Da das Tool eine interaktive Konsole bereitstellt, versteht es auch Tastenkürzel oder andere Eingaben des Betrachters. So können Sie etwa eine Shell zur Ausführung definieren und dann im Browser weitere Kommandozeilentools verwenden. Wer aus Sicherheitsgründen den interaktiven Modus deaktivieren möchte, schaltet über »-R« in den Read-only-Modus. »-c« beschränkt den Zugang noch weiter und richtet eine einfache Authentifizierung mit Benutzernamen und Passwort ein. Die Anzahl erlaubter Client-Verbindungen limitieren Sie mit »-m«.
Der Parameter »-o« hilft bei der Fehlersuche: So gestartet, lässt Ttyd nur eine Client-Verbindung zu und quittiert den Dienst sofort, wenn diese Verbindung beendet wird. Das Tool unterstützt auch die verschlüsselte Kommunikation via SSL (»-S«). Sie definieren dann zusätzlich das Zertifikat (»-C«), den Schlüssel (»-K«) und den CA-Pfad (»-A«).
Der praktische Helfer Ttyd ermöglicht, Ihr Terminal im Webbrowser zu teilen. Dabei überzeugen vor allem die Funktionen zum Absichern und Verschlüsseln. (Uwe**Vollbracht/hej)











