SQL-Abfragewerkzeug Anyquery 0.2.0, DoH-Gateway Dnsd 1.4.0, Geolokator Goiplookup 0.3.0, Prozessmonitor Procs 0.14.6, HTML-Parser Reliq 2.6, RSS-to-HTML-Konverter Tinyfeed 0.5.1.
Anyquery 0.2.0
SQL-Abfragen universell nutzen
Quelle: https://github.com/julien040/anyquery
Lizenz: AGPL
Alternativen: Fsql, Termsql
Viele Anwender würden die leistungsfähige Abfragesprache SQL gern auch außerhalb von relationalen Datenbanken nutzen. Das Go-basierte Anyquery macht das möglich. Bei dem Werkzeug handelt es sich um eine SQL-Engine, die Queries auf verschiedene Datenobjekte ermöglicht. Dazu zählen neben JSON- und CSV-Dateien auch Logfiles und HTML-Dateien. Sie müssen die Software nicht selbst kompilieren, sondern können auf eines der fertigen Binärpakete zurückgreifen.
Ohne Parameter aufgerufen, öffnet Anyquery eine interaktive Shell, deren Bedienung stark an die einer SQLite-Datenbank erinnert. Sie geben Ihre Abfrage ein, das Ergebnis erscheint als Plaintext in der Standardausgabe. Eine Ausgabe im JSON-Format erhalten Sie bei Bedarf mit dem Aufrufparameter »–json«. Möchten Sie die Abfrage per Skript abwickeln, deaktivieren Sie die interaktive Shell per »–no-input« und übergeben dem Tool die Query via Pipe über die Standardeingabe. Die Github-Seite des Projekts hält einige Anwendungsbeispiele rund um Anyquery bereit. Außerdem finden Sie dort einen Link zu einer ausführlichen Dokumentation mit einer Übersicht aller Clientbefehle. Daneben erfahren Sie mehr über verfügbare Plugins und die alternative Abfragesprache PRQL. Zudem zeigt die Doku, wie Entwickler die Software mit eigenen Plugins erweitern können.
Anyquery ist zwar noch ein sehr junges Projekt, wird aber aktiv vorangetrieben. Ein Blick darauf lohnt sich.
Dnsd 1.4.0
DoH-Gateway
Quelle: https://github.com/kamarya/dnsd
Lizenz: GPLv3
Alternativen: Dnscrypt-proxy
Ohne Namensauflösung geht im Internet gar nichts. Klassische DNS-Anfragen erfolgen allerdings unverschlüsselt und damit unsicher. Das Protokoll DNS-over-HTTPS oder kurz DoH behebt dieses Problem durch TLS-Verschlüsselung. Allerdings beherrschen nach wie vor zahlreiche Programme kein DoH. Dnsd schafft als lokaler DNS-Dienst Abhilfe: Es nimmt reguläre DNS-Anfragen entgegen und reicht sie via HTTPS an einen DoH-fähigen Nameserver weiter.
In der Standardkonfiguration übermittelt Dnsd die Anfragen an den Google-DNS, Sie können aber auch jeden anderen DoH-fähigen DNS-Betreiber einspannen. Nach dem Start wartet das Tool auf dem Loopback-Interface an Port 53 auf eingehende Anfragen. Möchten Sie Dnsd zentral für Ihr LAN bereitstellen, hinterlegen Sie stattdessen die entsprechende lokale IP-Adresse. Vorsicht: Anfragen an Dnsd über das interne Netz bleiben weiter unverschlüsselt. Führt der Weg ins Internet über einen HTTP-Proxy, geben Sie dessen IP in der Konfiguration mit dem Parameter »https_proxy« an. Die Konfigurationsmöglichkeiten sind ansonsten eher begrenzt. Hinter »-f« übergeben Sie dem Dienst Ihre Konfigurationsdatei. Setzen Sie außerdem den Schalter »-D«, arbeitet Dnsd im Daemon-Modus.
Das Quellarchiv enthält eine ».service«-Datei für die Integration von Dnsd in Systemd. Da die meisten Distributionen die Software nicht in den Paketquellen führen, müssen Sie das Tool selbst kompilieren.
Goiplookup 0.3.0
IPs geolokalisieren
Quelle: https://github.com/axllent/goiplookup
Lizenz: MIT
Alternativen: GeoLite2
Beim Blick in ein Serverprotokoll lässt sich an der IP-Adresse nur selten erkennen, wo der Client herkommt. Das Go-basierte Goiplookup schafft da mehr Klarheit. Auf der Github-Seite des Projekts finden Sie fertige Binärpakete. Um die geografische Zuordnung einer IPv4/v6-Adresse zu ermitteln, geben Sie sie einfach als Aufrufparameter an. Alternativ kommt Goiplookup auch mit einem FQDN zurecht. Als Datenbasis nutzt das Tool die nicht im Quellarchiv enthaltene Geolite2-Country-Datenbank von MaxMind, die Sie optional mit dem Parameter »db-update« herunterladen. Goiplookup verwendet einen Entwickler-Lizenzschlüssel für den Zugriff auf MaxMind. Da der nur eine begrenzte Anzahl von Updates erlaubt, empfiehlt der Entwickler, einen eigenen MaxMind-Key zu erzeugen und als Umgebungsvariable zu setzen. Alternativ finden sich aktuelle Versionen der Geolite-Country-Datenbank in verschiedenen Github-Repositories. Mit dem Parameter »-d« geben Sie ein anderes Verzeichnis als DB-Quelle vor. Als Ergebnis einer Abfrage liefert das Tool den Ländernamen und den Country-ISO-Code zurück. Benötigen Sie ausschließlich den ISO-Code, geben Sie Goiplookup beim Aufruf den Schalter »-i« mit. Genügt Ihnen der Ländername, verwenden Sie stattdessen »-c«.
Suchen Sie ein schnelles und lokal arbeitendes Werkzeug zur Geozuordnung von IP-Adressen, machen Sie mit Goiplookup trotz des begrenzten Funktionsumfangs nichts falsch.
Procs 0.14.6
Handliche Prozessübersicht
Quelle: https://github.com/dalance/procs
Lizenz: MIT
Alternativen: Ps
Wer eine Liste aller aktiven Prozesse auf einem System benötigt, greift in der Regel zum GNU-Tool Ps. Die Rust-basierte Alternative Procs liefert eine optisch gefälligere Ausgabe und mehr Filtermöglichkeiten. Binärpakete stehen im Github-Repo des Projekts zur Verfügung.
Rufen Sie es ohne Parameter auf, gibt Procs eine nach PID sortierte Übersicht der laufenden Prozesse aus. Die rauscht anders als bei Ps nicht einfach durch, Procs leitet sie an einen der beiden Pager Less oder More weiter. Zu jedem Prozess führt es den Eigentümer, die Laufzeit, den belegten Speicher, die CPU-Last sowie den Prozessaufruf auf. Der Schalter »–tree« liefert eine Baumansicht, die Sortierung der Ausgabe passen Sie mit »–sortd« und »–sorta« an. Über »-watch« oder »–watch-interval« sorgen Sie für eine regelmäßige Aktualisierung der Liste.
In der Konfigurationsdatei »$HOME/.config/procs/config.toml« passen Sie die Ausgabe farblich oder durch Hinzufügen weiterer Spalten an Ihre Bedürfnisse an. Neben den verwendeten TCP/UDP-Ports lassen Sie sich so unter anderem den Schreib-/Lesedurchsatz sowie den Namen des vom Prozess verwendeten Docker-Containers anzeigen. Eine Standard-Konfiguration erzeugen Sie mit »–gen-config«.
Procs bietet eine interessante Alternative zum GNU-Urgestein Ps. Eine ausführliche Dokumentation der Software sowie Anwendungsbeispiele finden Sie auf der Github-Seite des Projekts.
Reliq 2.6
HTML-Dateien parsen
Quelle: https://github.com/TUVIMEN/reliq/
Lizenz: GPLv3.0
Alternativen: Htmlq, Pup
Wer in HTML-Dokumenten etwas Bestimmtes sucht, greift meist auf das bewährte Grep zurück. Mit dem in C geschriebenen Reliq gibt es nun einen CLI-Parser speziell für HTML-Inhalte. Da nur wenige Distributionen das Tool im Paketfundus führen, müssen Sie es in der Regel selbst kompilieren. Ärgerlicherweise fehlt auf der Github-Seite ein direkter Link zu den Releases. Sie müssen die URL also zum Download händisch erweitern.
Um in einer HTML-Datei ein bestimmtes Muster zu finden, geben Sie es Reliq in Anführungszeichen als Aufrufparameter mit. Alternativ übergeben Sie mit »-f« eine Datei mit mehreren Suchmustern. Um ein ganzes Verzeichnis mit HTML-Dateien zu bearbeiten, verwenden Sie den Schalter »-r«, mit »-R« folgt Reliq dabei auch symbolischen Links. Möchten Sie lediglich die Struktur einer HTML-Datei ausgeben, setzen Sie den Schalter »-l«. Reliq schreibt seine Ergebnisse in die Standardausgabe, bei Bedarf geben Sie zur Weiterverarbeitung stattdessen mit »-o« eine Ausgabedatei vor. Entfernte Webseiten laden Sie zur Suche via Curl oder Wget herunter und reichen sie via Pipe über die Standardeingabe an Reliq durch.
Zwar ist Reliq ein noch junges Werkzeug, das aber Potenzial zeigt. Die Onlinehilfe rufen Sie mit »-h« auf, daneben enthält der Quellcode eine umfangreiche Manpage. Wem das nicht genügt, der findet auf der Github-Seite des Projekts zahlreiche Anwendungsbeispielen.
Tinyfeed 0.5.1
RSS-Feeds nach HTML konvertieren
Quelle: https://github.com/TheBigRoomXXL/tinyfeed
Lizenz: MIT
Alternativen: Rss2html
Obwohl RSS an Popularität verloren hat, bieten viele Programme und Dienste noch immer RSS-Feeds ihrer Ausgaben an. Um solche Inhalte als Webseite bereitzustellen, konvertieren Sie sie mit Tinyfeed. Sie müssen das Go-basierte Tool allerdings in der Regel selbst kompilieren, das Github-Repo hält lediglich für ARM64-basierte Hardware Binärpakete bereit.
Um einen einzelnen RSS-Feed in eine HTML-Datei umzuwandeln, geben Sie seine URL als Aufrufparameter an. Tinyfeed schreibt den erzeugten HTML-Code in die Standardausgabe, von wo Sie ihn gegebenenfalls per Pipe in eine Datei umlenken. Zum Konvertieren mehrerer RSS-Feeds reichen Sie deren URLs über die Standardeingabe an Tinyfeed durch. Eigene CSS-Stylesheets für das erzeugte HTML übergeben Sie hinter »-s«, einen Seitentitel setzen Sie mit »-n«. Soll die Ausgabe Bilder enthalten, sorgt der Schalter »-i« für ihre Darstellung. Standardmäßig integriert Tinyfeed maximal 50 RSS-Artikel in eine Seite, gegebenenfalls passen Sie die Anzahl mit »-l« an. Das Werkzeug verarbeitet bis zu acht Anfragen gleichzeitig; der Wert lässt sich mit »-r« verändern. Links, die nach 15 Sekunden nicht auf eine Anfrage reagieren, ignoriert Tinyfeed.
Mit »-h« steht eine Onlinehilfe zur Verfügung. Die Github-Seite des Projekts zeigt Anwendungsbeispiele und liefert Informationen zur Nutzung von Tinyfeed in einem Docker-Container. (Uwe Vollbracht/jlu)











