Meine Top 10 besten quelloffene Programme aus 2024

Als Video ansehen
Bereitgestellt über YouTube

Meine Top 10 besten quelloffene Programme aus 2024

Im Open Source Jahresrückblick möchte ich euch die interessanteste quelloffene Software1 des Jahres vorstellen. Das sind Programme, die ich 2024 entdeckt habe und mich überzeugt haben. Sie sind also über den Testbetrieb hinweg, sodass ich sie auch 2025 weiterhin nutzen werde. Ein Teil davon ist für für U-Labs im Einsatz – oft im Hintergrund.

Wir beginnen mit Werkzeugen für (Hobby-) Admins & Entwickler. Es folgen mehrere grafische Webanwendungen sowie (grafische) Konsolenwerkzeuge. Die Reihenfolge sagt nichts über die Qualität oder Relevanz der Programme aus. Sie sind für derart unterschiedliche Zwecke geeignet, dass eine Rangliste wenig Sinn ergibt. Der Kern ist natürlich auf selbst betriebener Software. Manches lässt sich gegen Bezahlung alternativ auch vom Anbieter hosten.

GoAccess

Die Zugriffsprotokolle (Access-Log) bei Webservern können bei der Fehlersuche helfen oder um auffällige Anfragen zu erkennen. Wenn man weiß wonach gesucht wird, lassen sie sich mit bewährten GNU-Werkzeugen (grep, awk usw) durchsuchen. Eine Übersicht können sie nicht bieten. Die wäre aber hilfreich – insbesondere bei größeren Logdateien mit hunderten MB. Das übernimmt GoAccess: Das schlanke Programm erzeugt Statistiken (Anzahl erfolgreicher/fehlgeschlagener Anfragen usw) und bereitet das Acess-Log auf:

  • Welche Ziele wurden am häufigsten aufgerufen?
  • Zu welcher Zeit hatte der Server am meisten/wenigsten Anfragen?
  • Was sind die häufigsten Anfragen, die Fehler (404) erzeugt haben?
  • Welche Technologie (Browser/Betriebssystem aus dem User-Agent) wird verwendet?

Dies und noch mehr kann wahlweise in der Konsole dargestellt werden. Oder interaktiv als HTML-Seite. Letztere bietet Anpassungsmöglichkeiten an den Daten sowie eine visuell schönere Aufbereitung. GoAccess kommt mit den Standard-Formaten aller gängiger Webserver (Apache, Nginx, Caddy usw) zurecht. Als Extra kann gefiltert und eine Aboruswertung in Echtzeit vorgenommen werden.

Damit hilft das Werkzeug nicht nur um Fehler zu finden. Ich finde es praktisch, um ohne externe Analysewerkzeuge wie Matomo eine Übersicht über die Besucher zu erhalten. Insbesondere die Auswertung der häufigsten Fehler macht regelmäßig Sinn. So lassen sich Probleme durch z.B. falsche Links, fehlerhafte Weiterleitungen zeitnah erkennen.

BadSSL

Seit Let’s Encrypt die kommerziellen Zertifikate ausgerottet und den Prozess automatisiert hat, ist Transportverschlüsselung im Web angenehm geworden. Auf U-Labs habe ich seit Jahren keine Zertifikate mehr getauscht. Dennoch gibt es – insbesondere in Unternehmen – noch Fälle, in denen man händisch ran muss. Java hat beispielsweise mit einer Aktualisierung die Unterstützung für ältere Ciphers entfernt. Ungünstig, wenn das an einem MS AD hängen muss, das nichts anderes anbietet.

In solchen Fällen kann BadSSL2 bei der Fehlersuche helfen: Es konfiguriert den Nginx Webserver mit den gängigsten Konstellationen. Etwa abgelaufene Zertifikate, falscher Hostname, Zurückgezogen, alte Ciphers usw. Man kann es selbst betreiben oder über badssl.com per Internet aufrufen. Für die erwähnten Java-Anwendungen empfehle ich meinen Beitrag zum TrustStore. Weiter unten befindet sich eine simple Testklasse zum Aufruf einer HTTP(S) Adresse. Zusammen mit BadSSL zwei mächtige Werkzeuge, um solche Probleme zu analysieren.

NextCloud News

Streng genommen nutze ich die Erweiterung bereits seit März 2023. Doch NextCloud News3 ist seit dem nahezu mein täglicher Begleiter geworden, um per RSS datenschutzfreundlich, dezentral und ohne Manipulationen durch kommerzielle Soziale Netzwerke verschiedene Medien zu verfolgen. Das fängt an bei (IT-) News-Seiten, geht über Blogs bis hin zu Benachrichtigungen über neue Software-Versionen. Auch von Changedetection.io wird mein RSS-Feed gespeist, sodass dort nahezu alles wichtige zusammen läuft.

Readeck

Da mein RSS-Feed mittlerweile über 200 Seiten umfasst, findet sich immer etwas interessantes. Anfangs habe ich dafür auf den Stern in NC News gedrückt, um einen Eintrag als Favorit zu speichern. Unter anderem bei Neuigkeiten oder anderen Themen, die für Artikel oder Forenbeiträge auf U-Labs relevant sind. Das wurde schnell unübersichtlich: Diverse IT-Themen gemischt zwischen Politik und lokalem. Vor allem für die Essays auf U-Labs wollte ich ja eben das Gegenteil – Verbindungen herstellen, schauen wie sich etwas entwickelt usw. Notdürftig schaffte ein PHP-Skript etwas Ordnung nach Datum, Seiten, eine Suchmöglichkeit usw.

Auf Dauer musste eine bessere Lösung her. Ich testete insgesamt drei Programme und übrig bliebt Readeck. Dort fehlte mir nur eine Duplikatsprüfung beim Hinzufügen neuer Links, die ich selbst eingebaut habe. Dafür lassen sich Links mit Schlagworten taggen, archivieren und zwei Funktionen sind besonders praktisch: Beim Hinzufügen versucht Readeck, den Inhalt lokal zu archivieren. Das klappt nicht immer, wenn die Seiten SPAs mit 99 JS-Frameworks beinhalten. Im gesicherten Text lassen sich Textpassagen markieren. Dazu weitere nützliche Funktionen, z.B. die Gruppierung nach Inhaltstyp. Oder Suchen mit diversen Filtermöglichkeiten: Typ, Archivierungsstatus, Seite usw.

Mittlerweile umfasst Readeck eine 5-Stellige Anzahl an Links, die zudem großteils bei mir lokal gesichert sind. Damit ist die Notwendigkeit von ArchiveBox nicht mehr ganz so groß.

Changedetection.io

Leider gibt es eine paar Webseiten, die entweder gar keinen RSS-Feed anbieten – ich schaue z.B. Huddo und Atlassian mit strengem Blick an. Oder dort keine Änderungen an einzelnen Seiten eintragen, sondern lediglich neue. Trotzdem möchte oder muss man Veränderungen an solchen Seiten mitbekommen. Insbesondere bei Atlassian, die erfahrungsgemäß wenig Wert auf Qualität & Sicherheit legen, sodass schwere Sicherheitsmängel an der Tagesordnung sind.

Changedetection.io löst dieses Problem, in dem Webseiten regelmäßig aufgerufen und mit dem letzten Stand abgeglichen werden. Bei Abweichungen erfolgt eine Benachrichtigung – bei mir als Eintrag im RSS-Feed. So habe ich alle Neuigkeiten zentral an einer Stelle. Die Software ist recht mächtig und kann Seitenelemente filtern bzw. Entfernen. Das verhindert fehlerhafte Benachrichtigungen bei z.B. AB/Tests in der Navigation. Oder anderen irrelevanten Änderungen. Wer etwa eine Anzeige auf Kleinanzeigen.de beobachtet, wird durch die Anzeige der Ansichten ansonsten sehr oft benachrichtigt werden…

Mit all dem und noch mehr kann die Webanwendung umgehen. Ein erweitertes Beispiel: Alle Links aus einer Shopkategorie überwachen, extrahieren und automatisch zur Überwachung als einzelne Seite hinzufügen. Das erkennt nicht nur neue Produkte, sondern überwacht diese ohne händisches Eingreifen auf spätere Änderungen. Shops die Sonderzeichen in der URL verwenden, können dabei Kopfschmerzen bereiten. Da die mächtigen XPaths unterstützt werden, kann eine Filterfunktion Abhilfe schaffen. Eine praktische Software für den kleinen Rest an Webseiten, die sich RSS – warum auch immer – verweigern bzw. darüber nicht das abbilden, was man beobachten möchte.

Stirling PDF

Auch zu dieser Software gibt es bisher noch keinen ausführlichen Beitrag von mir. Möglicherweise liegt es daran, dass ich Stirling PDF4 zwar relativ selten einsetze. Doch wenn ich es tue, leistet die Webanwendung gute Dienste. Sie unterstützt so ziemlich alle Änderungen rund um PDF-Dateien: Komprimieren (z.B. für den Versand als E-Mail Anhang), diverse Anpassungen (Seiten drehen, neu anordnen usw), Umwandeln anderer Dateien (Office-Dokumente, Bilder, …) in PDFs und vieles mehr. Als Webanwendung kann die Software unabhängig vom Betriebssystem genutzt werden. Zuhause lässt sie sich auf dem Heimserver dem gesamten Haushalt zur Verfügung stellen.

Ein Beispiel: Ich wollte aus verschiedenen Inhalten (Scans, Dokumente) in bestimmter Reihenfolge ein PDF erstellen. Die Eingangsdateien in Stirling PDF eingefügt, die gewünschte Reihenfolge angepasst, schlussendlich noch für den Mailversand komprimiert – fertig.

Excalidraw

Die Weisheit Ein Bild sagt mehr als tausend Worte ist mittlerweile über 100 Jahre alt. An Bedeutung hat sie dadurch keineswegs verloren. Gerade bei technischen Themen trägt ein Schaubild oft enorm zum Verständnis bei. Mit Excalidraw erstellt man sie auf Wunsch sogar im Stil von händischen Zeichnungen. Mit Farben und ein paar Icons entstehen schnell ansprechende Grafiken, ohne eine zeichnerische Begabung sowie entsprechende Hardware/Medienbrüche haben zu müssen.

Man kann die Webanwendung wahlweise mit ein paar Einschränkungen selbst betreiben. Wie das funktioniert, erklärt dieser Beitrag zusammen mit den wichtigsten Funktionen. Oder alternativ per Abo die Cloud vom Anbieter buchen. Für die Beiträge erstelle ich immer wieder Grafiken mit Excalidraw. Die Software lohnt sich sicherlich ebenfalls für Schüler und Studenten – sowie alle anderen, die etwas erklären möchten/müssen.

Borg

Backups sind wichtig, egal wo die Daten gespeichert sind. Zuhause können Festplatten kaputt gehen, bei Clouddiensten man selbst oder der Anbieter versehentlich Dateien löschen. Alleine bei Google ist das jüngst zweimal passiert: Einmal bei Google Drive, der andere Vorfall bei einem Pensionsfond in der Google Cloud. Es gibt noch weitere Gründe, die ich bereits vor Jahren in einem eigenen Beitrag ausführlich erläutert habe.

In der Praxis lässt sich das mit quelloffener Software wie beispielsweise Borg durchführen. Es verschlüsselt die Sicherungen, stellt Datenintegrität sicher, Komprimiert, Dedupliziert, räumt auf und lässt sich als Kommandozeilenwerkzeug perfekt automatisieren. Hier findet ihr meine ausführliche Anleitung dazu.

GitUI

Git als Versionsverwaltung dürfte im 19. Jahr nach ihrem Erscheinen hoffentlich zum Standard gehören. Für Programmcode sowieso, aber auch Änderungen an Konfigurationsdateien lassen sich damit leichter nachvollziehen & im Fehlerfall zurücksetzen. Das Kommandozeilenwerkzeug git ist für Kleinigkeiten ausreichend. Um täglich damit zu arbeiten, finde ich es ein Stück zu minimalistisch. Vor allem fehlt mir die Möglichkeit, visuell einzelne Bereiche (chunks) von Dateien einzuchecken.

Als grafische Alternative hatte ich GitKraken eine Zeit lang ausprobiert. Für den GNU/Linux-Desktop funktionell überzeugend, leider mit einem funktionell völlig unnötigen Kontozwang. Dazu wurde die Anwendung zunehmend schwerfälliger.

GitUI dagegen ist freie, quelloffene Software unter der MIT-Lizenz. Es handelt sich um eine interaktive Konsolenanwendung, die Änderungen am Dateisystem erkennt und nahezu in Echtzeit darstellt. Die Bedienung ist komplett per Tastatur möglich – verfügbare Kürzel werden angezeigt. Alle gängigen Git-Aktionen (stage, unstage, revert, reset, commit usw.) sind implementiert. Dass er keine grafische Oberfläche mitbringt, ist sogar ein Vorteil. So kann man das Programm bei Bedarf auch auf (Test-) Servern nutzen. Wer generell bevorzugt mit dem Terminal arbeitet, muss es auf dem Desktop nicht verlassen. Das mit ca. 5 MB (GNU/Linux) Programm ist für GNU/Linux, MacOS und Windows verfügbar.

K9s

Wer mit bzw. auf Kubernetes arbeitet, kann einige Helfer nutzen – etwa kubectl-aliases5, um kgpo statt kubectl get po tippen zu müssen. Während ich die Aliase und andere Werkzeuge wie kubectx bereits länger kannte, wurde ich durch Christoph Stöttner auf k9s6 aufmerksam. Es bietet eine grafische Konsolenoberfläche, um Infos zum Cluster (Namespace, Version, Ressourcen usw) sowie dessen Objekte zu erhalten. Per Tastendruck lassen sich z.B. Befehle im Pod ausführen oder dessen Logs einsehen.

All das kann kubectl auch und mit den Aliasen reduziert sich die Tipporgie deutlich. Spätestens bei den zufällig generierten Objektnamen nimmt sie jedoch wieder zu: Entweder kopiert man sie ständig, was nervt und die Bash-Historie zumüllt. Oder man holt sich die dynamischen Namen mit awk & grep:

klo $(kgpo | grep mongo | awk '{print $1}')

Funktioniert mit fzf recht schnell & bequem – außer man hat z.B. bei einem Deployment mehrere Replikas. Oder es wurde hoch/runter skaliert bzw neu deployt. Entweder führt man manuell ständig kubectl Befehle aus, oder lässt das watch erledigen. Beides ist möglich und zum lernen sicher sinnvoll, danach wird es nervig.

Die Oberfläche von K9s finde ich dafür angenehmer. Insbesondere während der Fehlersuche, wenn man ggf. noch gar nicht genau weiß, wo man sucht bzw. ob man an der richtigen Stelle ist. Das Programm liefert eine Übersicht, aktualisiert Statusinformationen automatisch und man kann leicht auf Funktionen wie z.B. Logs und Skalierung zugreifen: Ein Deployment wird z.B. runter skaliert. Man wartet schlicht, bis man in der Anzeige sieht, dass es abgeschlossen ist – anschließend geht es nahtlos weiter.

Bonus #11: ffmpeg

Das Schweizer Taschenmesser für Videos habe ich zwar nicht erst 2024 entdeckt, sondern nutze es schon längere Zeit – beispielsweise, um das relativ große H264 Rohmaterial in einen effizienteren Codec umzuwandeln. Einen Platz im Jahresrückblick bekommt es trotzdem, weil 2024 mein umfangreicher Beitrag mit 15 nützlichen ffmpeg-Befehlen fürs Umwandeln & Anpassen von Videos fertig geworden ist. Dort habe ich die wichtigsten Dinge aus den letzten Jahren gesammelt, seit ich die Software verwende.

Weitere Kandidaten

Manche Projekte haben es nicht in meine Topliste geschafft – das hat unterschiedliche Gründe. Beispielsweise habe ich Openrazer entdeckt: Die quelloffene Software liefert ein inoffizielles Werkzeug, um Mäuse & Tastaturen von Razer auch unter GNU/Linux konfigurieren zu können. Beispielsweise zum Anpassen der LED-Beleuchtung. Offiziell unterstützt der Hersteller leider lediglich MS Windows. Ein Grund, warum ich von diesem Hersteller keine Geräte habe. Dennoch wäre es für jene sicher einen Blick wert, die vielleicht noch zu Windows-Zeiten etwas von ihm gekauft haben und mittlerweile zu GNU/Linux wechseln möchten.

ArchiveBox7 ist eine interessante Webanwendung zur Archivierung von Internetseiten. Ich habe sie Anfang 2024 ausprobiert, doch mit ernüchterndem Ergebnis: Die Bildschirmfotos sind auf vielen Seiten wegen der Cookie-Banner unbrauchbar. Dabei ist die Idee dahinter durchaus sinnvoll & wichtig. Ich hoffe daher, dass sich die Probleme lösen lassen (z.B. mit Werbeblocker/Filterlisten). Möglicherweise wird ArchiveBox ein Kandidat für eine Fortsetzung dieser Liste Ende 2025? Bis dahin habe ich mit Readeck zumindest für meine gespeicherten Links eine alternative Lösung, die einzelne Seiten archivieren kann.

Darüber hinaus gibt es ein paar kleinere Programme wie beispielsweise eza.8 Es hat exa abgelöst, welches ich bereits 2023 vorgestellt hatte. Die Entwicklung wurde eingestellt. Doch im Gegensatz zu proprietärer Software ist das Projekt damit längst nicht tot: Eza ist eine Abspaltung von exa, die aktiv weiterentwickelt wird. Mein Artikel zu exa ist daher weiterhin relevant.

Andere Software hat ebenfalls so manchen Vorgänger abgelöst. So nutze ich zur Übersicht von Systemleistung und Prozessen inzwischen btop9 statt htop. Es zeigt mehr Informationen an (u.a. auch Speicherbelegung sowie Netzwerkauslastung, Temperaturen). Außerdem ist die Darstellung übersichtlicher, sinnvollere Standardeinstellungen sind gesetzt. Bei htop muss ich z.B. händisch die Gesamtauslastung aller CPU-Kerne einblenden lassen.

Quellen

  1. https://blog.rwth-aachen.de/itc/2024/06/12/die-bedeutung-von-open-source-software/ ↩︎
  2. https://github.com/chromium/badssl.com ↩︎
  3. https://apps.nextcloud.com/apps/news ↩︎
  4. https://github.com/Stirling-Tools/Stirling-PDF ↩︎
  5. https://github.com/ahmetb/kubectl-aliases ↩︎
  6. https://github.com/derailed/k9s ↩︎
  7. https://github.com/ArchiveBox/ArchiveBox ↩︎
  8. https://github.com/eza-community/eza ↩︎
  9. https://github.com/aristocratos/btop ↩︎

Leave a Reply