Web-Seiten mit Crawley 1.7.1 analysieren, Programme via Mprocs 0.6.4 parallel ausführen, mit Pingvin 0.20.3 Daten austauschen, Projekte über Prj in der Shell verwalten, Systeme mittels Statping-NG 0.91.0-rc1 überwachen, statische Webseiten erzeugen mit Xlog 0.99.0.
Analyst
Mit Crawley 1.7.1 analysieren Sie Webseiten und finden damit unter anderem tote Links.
Je größer Webseiten werden, desto unübersichtlicher geraten ihre Strukturen. Möchten Sie den Aufbau eines Webauftritts analysieren oder einfach nur prüfen, ob die eigene Homepage Link-Leichen enthält, ist das Tool Crawley genau das Richtige für Sie. Der Go-basierte Webcrawler arbeitet alle Links durch und führt das Ergebnis übersichtlich in der Konsole auf. Zur Installation stehen auf der Github-Präsenz Binärpakete bereit. Als Dokumentation stehen eine Readme-Datei und die Online-Hilfe via -h bereit. Auf der Github-Seite finden Sie außerdem einige Anwendungsbeispiele.
Die URL des zu prüfenden Webauftritts geben Sie beim Aufruf als letzten Parameter an. Ohne weitere Schalter listet das Tool alle auf der Seite gefundenen Links und Skripte auf. Mit dem Parameter -depth legen Sie die Suchtiefe fest, was sich vor allem bei größeren Seiten als vorteilhaft erweist. Suchen Sie nach bestimmten Werten von Cookies, geben Sie das mit dem Schalter -cookie vor. Per -ignore angegebene URL-Muster ignoriert der Crawler. Standardmäßig wartet Crawley fünf Sekunden auf eine Antwort, mittels -timeout lässt sich dieser Wert auf bis zu zehn Minuten erhöhen. Um die Auswertung zu beschleunigen, startet das Tool je einen Worker-Prozess pro Prozessorkern. Mit -worker passen Sie dieses Verhalten an. Damit selbst signierte TLS-Zertifikate die Arbeit nicht behindern, unterbinden Sie bei Bedarf mit -skip-ssl eine entsprechende Prüfung. Um einen Proxy-Server zwischenzuschalten, geben Sie diesen über die Umgebungsvariable HTTP_PROXY vor.
Alles in allem ist Crawley ein interessantes Werkzeug, dessen Dokumentation allerdings recht dünn ausfällt. Entsprechend erkunden Sie sein Potenzial am besten im Selbstversuch.
Arbeitsteilung
Mithilfe von Mprocs 0.6.4 teilen Sie die Arbeit von Single-Core-Programmen auf mehrere Kerne auf.
Dank moderner Mehrkernprozessoren stellt das gleichzeitige oder mehrfache Ausführen von Programmen kein Problem dar. Manche Programme unterstützen den Mehrfachbetrieb jedoch nicht von Haus aus. Hier hilft das Rust-basierte Tool Mprocs weiter. Sie kompilieren das Tool wahlweise selbst oder verwenden eines der Binärpakete von der Github-Seite des Projekts. Die auszuführenden Programme übergeben Sie als Parameter beim Aufruf oder samt Umgebungsvariablen als Konfigurationsdatei im YAML-Format. Standardmäßig erwartet die Software ihre Konfiguration unter ~/.config/mprocs/mprocs.yaml. Abweichende Speicherpfade übergeben Sie beim Aufruf hinter dem Schalter -c.
Mprocs stellt nach dem Start eine einfache Curses-basierte Oberfläche bereit. Die laufenden Programme listet das Tool auf der linken Seite, die jeweilige Ausgabe dazu erscheint im Terminalbereich des Fensters. Mit [Strg]+[A] wechseln Sie zwischen Ausgabe und Programmliste. Innerhalb der Liste navigieren Sie mit den Pfeiltasten. Via [X]+ halten Sie die Ausführung eines Programms an, mit [S] starten Sie es wieder. Über den Parameter --server legen Sie darüber hinaus eine Schnittstelle und einen Port fest, auf dem Mprocs Remote-Befehle entgegennimmt. Von einem Remote-System aus können Sie anschließend mit dem Parameter --ctl Steuerbefehle an die Mprocs-Instanz senden. Eine umfangreiche Aufstellung aller Steuerbefehle sowie einige Konfigurationsbeispiele finden Sie auf der Github-Präsenz des Projekts in der Datei Readme.md. Die Remote-Steuerung ermöglicht allerdings weder eine Verschlüsselung, noch erlaubt sie einen Passwortschutz. Daher empfiehlt sich der Einsatz nur in geschlossenen Netzwerken. Insgesamt präsentiert sich Mprocs als handliches Werkzeug, das einen näheren Blick lohnt.
Datenbahnhof
Die komfortable Web-GUI von Pingvin 0.20.3 erlaubt einen bequemen Datenaustausch im Netz.
Viele Anwender nutzen zum Datenaustausch Cloud-basierte Dienste wie Google Drive oder Dropbox. Möchten Sie dazu lieber einen eigenen Dienst aufbauen, sollten Sie sich Pingvin-Share näher ansehen. Am einfachsten betreiben Sie das Javascript-Tool in einem Docker-Container. Eine geeignete Compose-Datei finden Sie im Quellarchiv. Die Github-Seite hält aber auch eine Anleitung für eine normale Installation bereit.
Standardmäßig erwartet das Tool eingehende Verbindungen an Port 3000. Da der Software eine TLS-Verschlüsselung fehlt, müssen Sie für eine sichere Kommunikation einen SSL-Proxy vorschalten. Bei der ersten Verbindung zur Weboberfläche nach der Installation gilt es, einen Benutzer anzulegen, der automatisch die Administratorrolle übernimmt. Als dieser Benutzer angemeldet, gelangen Sie ins Konfigurationsmenü. Dort passen Sie URL und Port des Tools an oder hinterlegen ein eigenes Logo für die Seite. Der E-Mail-Bereich bietet die Möglichkeit, Textbausteine für verschiedene Funktionen zu hinterlegen. Wie groß ein einzelner Upload ausfallen darf oder welche Kompressionsrate Zip nutzt, legen Sie über den Menüpunkt Share fest. Pingvin-Share bietet auch die Möglichkeit der Anmeldung mit einem externen Benutzerkonto, etwa via Github, Google, Discord oder OpenID. Nach Abschluss der Konfiguration können Anwender im Upload-Bereich Dateien bereitstellen. Für jede hochgeladene Datei erzeugt die Software einen eindeutigen Link und legt ein Verfallsdatum fest. Außerdem erlaubt sie das Hinterlegen einer Beschreibung und eines Passworts sowie das Einstellen der maximalen Anzahl an Downloads. Alles in allem bietet Pingvin-Share eine gute Möglichkeit, um Daten gezielt und sicher bereitzustellen. Mit Docker fällt das Setup besonders leicht, lediglich die fehlende TLS-Unterstützung schmerzt.
Projektleiter
Beim Verwalten von Projekten in der Shell hilft Prj.
Linux bietet eine ganze Reihe von Werkzeugen, um Programmierprojekte sinnvoll zu verwalten. Suchen Sie eine einfache Lösung für die Konsole, werden Sie beim Shell-Skript Prj fündig. Das Tool kommt als Tarball und erfordert keine aufwendige Installation. Allerdings müssen Sie vor dem ersten Einsatz die Variablen PROJECT_FOLDER und EDITOR_COMMAND im Kopf des Skripts an Ihre Wünsche anpassen.
Das Steuern erledigen Sie über Unterbefehle beim Aufruf. So legt das Kommando add beispielsweise einen neuen Projektordner an. Geben Sie statt des Projektnamens eine Git-URL an, klont Prj den Code in den Projektordner. Der Unterbefehl init ermöglicht es, beim Hinzufügen eines neuen Projekts weitere Einstellungen vorzunehmen. Dazu übergeben Sie beim Aufruf eine Konfiguration, in der Regel ein Shell-Skript, das die Software nach dem Anlegen des Projektverzeichnisses ausführt. Bei einem Aufruf lassen sich auch mehrere Konfigurationsdateien angeben. Beispielkonfigurationen für Git- oder Python-Projekte finden Sie im Archiv. Eine Übersicht aller verwalteten Projekte liefert der Unterbefehl list. Mit dem Schalter run, gefolgt vom Projektnamen, öffnet die Applikation im Projektverzeichnis den Standardeditor, in dem Sie danach eine zu bearbeitende Datei auswählen. Zu guter Letzt lassen sich Projekte mit dem Unteraufruf remove wieder problemlos aus dem System entfernen.
Mögliche Konfigurationsdateien und Projektkonfigurationen legt das Programm in den Verzeichnissen configs/ und projects/ ab, die es im aktuellen Verzeichnis erwartet. Die Variablen am Ende des Skripts passen Sie nach Ihrem Gusto an. Prj ist ein sehr junges Tool und eine interessante Alternative. Allerdings erfordert es für den individuellen Einsatz immer ein Anpassen des Quellcodes.
Hallo wach!
Mit Statping-NG 0.91.0-rc1 behalten Sie stets im Blick, welche Systeme laufen und bei welchen es hakt.
Auf einem Linux-System eröffnen sich diverse Möglichkeiten, um die Verfügbarkeit von entfernten Diensten oder Rechnern permanent zu überwachen. Möchten Sie dafür keinen Monitoring-Boliden wie Checkmk oder Nagios nutzen, bietet Statping-NG eine übersichtliche Alternative, ein Ableger des inzwischen eingestellten Statping. Sie müssen das Go-basierte Tool nicht selbst kompilieren, im Github-Repository des Projekts stehen Binärpakete zum Herunterladen bereit. Zum Speichern der ermittelten Ergebnisse nutzt Statping-NG eine SQLite3-Datenbank, die es beim ersten Start selbst erstellt. Alternativ geben Sie bei der Ersteinrichtung eine MySQL- oder PostgreSQL-Datenbank vor.
Rufen Sie das Tool ohne Parameter oder Unterbefehle auf, wartet es an Port 8080 auf allen Schnittstellen auf eingehende Verbindungen. Beim ersten Start gilt es, eine Grundkonfiguration vorzunehmen. Neben der Datenbank legen Sie eine Benutzerkennung samt Passwort fest. Anschließend erscheint ein Dashboard mit vordefinierten Diensten. Im Dienste-Menü legen Sie bei Bedarf weitere zu überwachende Systeme an. Dabei stellen Sie für jedes System die Art der Prüfung und das Intervall dafür individuell ein. Auch die Benachrichtigung im Fehlerfall lässt sich für jedes System getrennt anpassen. Bei den Prüfarten unterscheidet Statping-NG zwischen HTTP, TCP, UDP oder ICMP. Je nach gewähltem Protokoll stehen auch detailliertere Einstellungen bereit.
Statping-NG bietet 13 verschiedene Möglichkeiten, auf Fehler zu reagieren. Neben einer Alarmierung via E-Mail, Telegram, Discord oder Slack offeriert es auch das Ausführen von Befehlen. Die Software bietet außerdem die Möglichkeit, Wartungsfenster festzulegen und entsprechende Ankündigungen an die Anwender zu senden. Ein Test von Statping-NG lohnt sich in jedem Fall.
Seitenbauer
Das handliche Xlog 0.99.0 baut statische Webseiten im Handumdrehen.
Die meisten Webseiten und Web-Frameworks arbeiten heute mit dynamischen Inhalten. Genügt für Ihre Zwecke jedoch eine statische Site und möchten Sie die Inhalte bequem im Markdown verfassen, dann ist der Site-Generator Xlog genau das Richtige für Sie. Im Github-Repository des Projekts stehen Binärpakete des Go-basierten Tools zum Download bereit.
Zum Erzeugen einer Webseite legen Sie eine Verzeichnisstruktur an, die Markdown-Dateien mit dem jeweiligen Seiteninhalt enthält. Ohne Parameter aufgerufen, startet Xlog seinen eingebauten Webserver auf der lokalen Schnittstelle an Port 3000. Das erlaubt, Seiten nach Belieben in der Weboberfläche zu bearbeiten – zumindest theoretisch: Auf dem Testsystem funktionierte das nicht. Über den Parameter -bind geben Sie bei Bedarf ein anderes Interface an. Das Tool sucht grundsätzlich im aktuellen Verzeichnis nach einer index.md, die es als Startseite nutzt. Mit dem Parameter -index legen Sie gegebenenfalls eine andere Markdown-Datei als Einstiegsseite fest. Über -source lässt sich außerdem ein beliebiges Verzeichnis als Arbeitsbasis definieren. Soll Xlog bei der Verarbeitung auch im Verzeichnis enthaltene HTML-Dateien berücksichtigen, geben Sie zusätzlich -html an.
Nach dem Vorbereiten der Inhalte für die Veröffentlichung weisen Sie Xlog mit dem Schalter -build an, die Seite im HTML-Format zu generieren. Dabei geben Sie dem Tool idealerweise ein leeres Zielverzeichnis mit, das die erzeugte Web-Struktur aufnimmt. Xlog erzeugt die notwendigen HTML-Dateien und legt Unterverzeichnisse für Javascript- und CSS-Code an. Eine ausführliche Dokumentation finden Sie auf der Github-Seite des Projekts. Xlog selbst bringt nur die übliche Online-Hilfe (-h) mit. (Uwe**Vollbracht/tle)










