Schneller Überblick mit Portscan 0.0.8, Dateien effizient umbenennen mit Renamer 0.2.0, Alias-Werkzeugkiste Run 1.0.1, regelbasierter Proxy-Tunnel Clash 20200723-dev, IPs geografisch zuordnen mit Geoip-service 1.1.1, Terminal-Notizzettel Tp-note 1.5.2.
Portscan 0.0.8
TCP- und UDP-Ports scannen
Quelle: https://github.com/zs5460/portscan
Lizenz: MIT
Alternativen: Nmap, Angry IP Scanner
Viele der zahlreichen Port-Scanner für Linux bieten neben dem Scannen selbst interessante Zusatzoptionen. Wer eher auf der Suche nach einer schlanken Lösung ist, sollte einen Blick auf Portscan werfen. Das in Go implementierte Tool wirbt vor allem mit Geschwindigkeit und scannt laut Aussagen der Entwickler alle TCP- und UDP-Ports eines Hosts in 15 Sekunden. Im Github-Repository stehen Binaries für Linux, Windows und MacOS (64 Bit) bereit.
Ohne Parameter aufgerufen, zeigt Portscan eine einfache Online-Hilfe. Die Konfiguration erfolgt beim Start, die Anzahl der Schalter bleibt überschaubar. Hinter »-ip« gibt der Anwender beim Aufruf den zu scannenden IP-Bereich an; das kann eine einzelne Adresse sein, ein ganzes Subnetz oder ein Adressbereich. Zur parallelen Verarbeitung startet das Tool 10 000 Threads, was der Benutzer über »-t« beeinflusst. In der Voreinstellung prüft Portscan Standard-TCP-Ports; wer das auf einen einzelnen Port begrenzen möchte, gibt diesen hinter »-t« an. Alternativ startet »-f« einen vollständigen Scan.
Portscan schreibt sein Ergebnis in die Standardausgabe und zeigt dabei nur die offenen Ports einer Adresse und das jeweilige Protokoll an. Das ist zwar übersichtlich, aber nicht gut geeignet, um die Ergebnisse automatisch weiterzuverarbeiten. Für seine schnellen Scans benötigt das Tool gewisse Ressourcen und teilt daher beim Aufruf mit, auf welchen Schwellwert der Nutzer die Anzahl offener Dateien setzen muss.
Der nützliche Helfer Portscan punktet besonders durch seine Geschwindigkeit. Eine bessere Dokumentation und eine in Skripten verwertbare Ausgabe wären trotzdem schön.
Renamer 0.2.0
Viele Dateien gleichzeitig umbenennen
Quelle: https://github.com/adriangoransson/renamer
Lizenz: MIT
Alternativen: Rename, Mmv
Wer Dateien auf der Shell umbenennen möchte, greift in der Regel zu Mv und setzt es in Schleifen oder Skripten ein, wenn es um mehrere Files geht. Eine probate Alternative bietet das Rust-Tool Renamer, das alle Dateien in einem Verzeichnis bearbeitet und ihnen neue Namen gibt. Unter Github stehen Pakete für alle gängigen Betriebssysteme und Plattformen bereit, sodass man sofort loslegen kann.
Eine Manpage fehlt, aber »–help« blendet eine Übersicht der Optionen ein. Die Syntax zum Ersetzen weicht von der von Vi oder Sed her bekannten Struktur ab. Um eine Zeichenkette in einem Dateinamen zu ersetzen, gibt der Benutzer das Suchmuster, ein Gleichheitszeichen und das Ersetzungsmuster in doppelten Hochkommas an. Es folgen die zu bearbeitenden Dateien, wobei auch hier ein Platzhalter erlaubt ist. Hinter »-e« dürfen reguläre Ausdrücke stehen.
Die Schalter »–prefix-increment« und »–suffix-increment« fügen hochzählende Präfixe und Suffixe an die Dateinamen an. In der Voreinstellung überschreibt Renamer keine vorhandenen Dateien; »-f« ändert das. Alternativ schaltet »-i« eine Nachfrage ein. Auf Nummer sicher geht »-d«: Renamer startet dann einen Probelauf, der alle auszuführenden Schritte einblendet. Im Testmodus aktiviert das Tool die ausführliche Ausgabe. Wer diese auch sonst sehen möchte, verwendet »-v«.
Renamer besticht durch Geschwindigkeit und die praktische Funktion zum Hochzählen. In Sachen Dokumentation gibt es Nachholbedarf; ein Blick lohnt sich dennoch.
Run 1.0.1
Oft benutzte Befehle speichern und ausführen
Quelle: https://github.com/lukecjohnson/run
Lizenz: MIT
Alternativen: Tusk, Alias
Für oft eingesetzte Befehle und Kommandofolgen richten Shell-Fans gern einen Alias ein oder schreiben kleine Skripte. Wer nicht skripten mag oder Shell-Aliase zu unflexibel findet, greift zum Go-Tool Run. Auf Github finden sich Binärpakete, deren Linux-Version jedoch auf dem Testrechner nicht laufen mochte; die MacOS-Ausgabe funktionierte einwandfrei. Ist ein aktueller Go-Compiler installiert, lässt sich Run mit einem einfachen »make« bauen. Bei dieser Gelegenheit erstellt Go gleich Binaries für Linux, Windows und MacOS.
Vor dem ersten Start legt der Anwender eine Konfigurationsdatei im YAML-Format an; ohne diese »run.yaml« verweigert das Tool den Dienst. Im Github-Readme liegt ein einfaches Beispiel. Der simple Aufbau der Datei: Jede Zeile beginnt mit einem Befehlsalias, gefolgt von einem Doppelpunkt und dem auszuführenden Kommando samt Parameter. Die Einrichtungsdatei darf beliebig viele Einträge enthalten und muss im aktuellen Ordner liegen. Was zunächst unpraktisch erscheint, hat einen Sinn: So können dieselben Aliase in unterschiedlichen Verzeichnissen unterschiedliche Befehle ausführen.
Um ein Kommando mit Run auszuführen, gibt der Benutzer es beim Aufruf als Parameter an. Dabei darf er mehrere Aliase hintereinander benennen – wichtig ist nur, dass diese alle in der »run.yaml« definiert sind. Über den Alias »default« lässt sich ein Standardverhalten definieren, das Run bei einem Aufruf ohne Parameter annimmt.
Pluspunkte erntet Run für die Verfügbarkeit auf mehreren Plattformen, Abzüge für die recht spärliche Dokumentation. Hier geht Probieren über Studieren.
Clash 20200723-dev
Regelbasierter Proxy-Tunnel
Quelle: https://github.com/caorun728/clash
Lizenz: GPLv3
Alternativen: Squid, Socks-5
Wer häufiger in fremden Netzen online gehen muss, der kennt die lästigen Einschränkungen durch nicht freigegebene Ports. Hier schafft ein leistungsfähiger Proxy wie Clash Abhilfe. Binärpakete liegen auf Github; das Handbuch findet sich im Github-Wiki.
Beim ersten Start legt das Tool unter »~/.config/clash/config.yaml« eine minimale Konfiguration an, die definiert, auf welchem Port es eingehende Verbindungen erwartet. Man kann den Port hier selbst bestimmen und weitere Einträge in der Datei vornehmen; das Wiki zeigt Beispiele. Über »mode:« legt der Anwender etwa fest, wie Clash die Pakete routet. Zur Auswahl stehen »rule« (regelbasiert über Domain-Namen, Port oder Geo-IP), »global« (alle Daten laufen über einen Endpunkt) und »direct« (Clash bringt die Pakete selbst ans Ziel).
Clash stellt außerdem einen eigenen DNS-Server bereit, um Angriffen durch DNS-Verschmutzung vorzubeugen. Der Server unterstützt neben DoH und DoT auch FakeIP. Anwender legen in der Konfigurationsdatei fest, welchen Nameserver das Tool nutzt. Für den lokalen Zugriff auf den Proxy stehen die Protokolle HTTP, HTTPS und SOCKS bereit. Zum Tunneln von Remote-Verbindungen unterstützt Clash außerdem VMess, Shadowsocks, Trojan und Snell. Zum Absichern des eigenen Netzwerks dient der Parameter »allow-lan«: Dann nimmt das Tool auch externe Anfragen entgegen.
Clash ist ein mächtiger Proxy, der zahlreiche individuelle Einstellungen ermöglicht. Es empfiehlt sich allerdings ein intensives Studium des ausführlichen Wikis.
Geoip-service 1.1.1
IPs den geografischen Adressen zuordnen
Quelle: https://github.com/polygon-io/geoip-service
Lizenz: MIT
Alternativen: Geoipupdate, Geoip-Lookup
Die Frage, zu wem eine IP-Adresse gehört, lässt sich dank DNS-Reverse-Lookup schnell beantworten. Wer die Adressen auch geografisch einordnen möchte, braucht Zugriff auf eine Datenbank wie GeoLite2 Free oder GeoIP2. Das Go-Tool Geoip-service bezieht von dort Daten und stellt an Port 5000 einen webbasierten Dienst mit eigener Engine bereit. Die zu prüfenden IP-Adresse übergibt der Anwender via REST-API beim Aufruf in der URL.
Vorgefertigte Pakete gibt es nicht, und auch das Handbuch fällt etwas knapp aus. Dafür enthält das Quellarchiv eine Reihe von Skripten, um Geoip-service in einem Docker-Container zu betreiben. Anwender laden die Datenbanken GeoLite2 Free und GeoIP2 bei Bedarf herunter und geben dann deren Speicherort beim Start hinter dem Schalter »-db« an. Den Standard-Port und die IP für eingehende Abfragen legt »-listen« fest.
Wer den Dienst in die eigene Website integriert, skaliert gegebenenfalls mit »-thread« das Abarbeiten der Anfragen über mehrere Prozessorkerne. Das Tool verfügt über eine Pufferfunktion, für die »-cache« festlegt, wie lange Anfragen im Cache bleiben. In der Voreinstellung ist der Cache deaktiviert. Zwar warnen die Entwickler vor einem erhöhten Speicherbedarf beim Aktivieren dieser Funktion, geben aber keine Empfehlung für einen geeigneten Cache-Wert.
Da Geoip-service seine Ergebnisse im JSON-Format ausgibt, eignet sich der Dienst ideal, um die Daten weiterzuverarbeiten. Sofern möglich, verrät das Tool die Namen der Städte und Länder in verschiedenen Sprachen und unterschiedlichen Schreibweisen.
Tp-note 1.5.2
Notizverwaltung fürs Terminal
Quelle: https://github.com/getreu/tp-note
Lizenz: MIT
Alternativen: Pygmynote, Tnote
Für schnelle Notizen bekritzeln viele Anwender fliegende Zettel oder öffnen den Lieblingseditor. Doch selbst wer Gedanken digital erfasst, speichert sie nicht notwendigerweise am selben Ort oder unter aussagekräftigem Namen. Etwas mehr Struktur in die Memos bringt das in Rust implementierte Tp-note. Pakete für viele Betriebssysteme finden sich auf Github, wo auch eine Anleitung verlinkt ist.
Um etwas zu notieren, ruft man »tp-note« ohne weitere Optionen auf. Das Tool öffnet eine Vorlage im Markdown-Format, die bereits wichtige Felder wie Titel, Untertitel, Autor, Datum, Sprache und Version des Dokuments enthält. Tp-note befüllt diese mit Informationen, die es aus der Systemumgebung bezieht. Als Autor trägt es etwa den Namen des Benutzerkontos ein und wertet außerdem »$LANG« aus. Gibt der Anwender beim Aufruf keinen Pfad an, speichert Tp-note die Memos unter »~/.config/tp-note/«, wobei es den Dateinamen aus Datum, Titel und Untertitel zusammensetzt.
In der Zwischenablage befindlichen Text fügt das Tool automatisch ein. Das Handbuch erklärt weitere Techniken, um Dateien oder Links aus der Zwischenablage zu integrieren. Wem der Standard-Header für Notizen nicht gefällt, der hinterlegt in der Datei »~/.config/tp-note/tp-note.toml« ein eigenes Template. Eine Beschreibung aller Variablen für die Vorlagen finden sich in der Dokumentation. Um eine Notiz nachträglich zu bearbeiten, gibt man sie einfach an. Der Schalter »-v« liefert den Inhalt einer Notiz.
Tp-note bringt Ordnung in die Notizen, hilft beim Wiederfinden der Info und enthält praktische Templates. Ein Blick ins Handbuch ist ratsam – schade, dass es den Quellen nicht beiliegt. (Uwe Vollbracht/hej)












