- Das Webbrowserprojekt Dillo wird von GitHub auf einen eigenen, selbst gehosteten Server migriert.
- Als Hauptgründe für den Umzug wurden bei GitHub die JavaScript-Abhängigkeit, die zentrale Kontrollstruktur und die langsame Performance genannt.
- Der neue Server wird unter der Domain dillo-browser.org betrieben und setzt auf ein leichtgewichtiges, cgit-basiertes Git-Frontend sowie den selbst entwickelten Bugtracker „buggy“.
- Sämtliche Daten werden als Git-Repositories verwaltet, auf Codeberg und Sourcehut gespiegelt und so das Risiko von Datenverlust minimiert.
- Durch die OpenPGP-Signatur ist er so ausgelegt, dass die Vertrauenswürdigkeit auch bei DNS-Verlust erhalten bleibt und Unabhängigkeit und Kontinuität des Projekts gestärkt werden.
Hintergrund
- Die ursprüngliche Website von Dillo war früher dillo.org und enthielt ein Mercurial-Repository, einen Mailserver, einen Bugtracker und ein Mailinglisten-Archiv.
- 2022 ging die Domain verloren, und ein Dritter eröffnete eine ähnliche Website, die mit KI-Werbung überfüllt war.
- Ein Teil der Daten wurde wiederhergestellt, jedoch nicht vollständig.
- Aus dieser Erfahrung heraus wurde entschieden, die Abhängigkeit von einer einzelnen Website zu vermeiden und eine verteilte Backup-Struktur aufzubauen.
- Anfangs wurde der Code auf GitHub hochgeladen, langfristig wurde dies jedoch als ungeeignet eingestuft.
Probleme mit GitHub
- GitHub war nützlich für CI-Workflows und Repository-Management, hat aber mehrere Einschränkungen.
- Ohne JavaScript kann das Frontend nicht funktionieren, daher lassen sich im Dillo-Browser keine Issues oder PRs öffnen.
- Die Seite verbraucht zu viele Ressourcen und erzeugt bei einfachem HTML-Rendering unnötige Last.
- Durch eine einzige Kontrollinstanz besteht das Risiko, dass ein Konto gesperrt wird und damit der Datenzugriff blockiert wird.
- Die Plattform wird immer langsamer und verlangt zunehmend eine schnelle Internetverbindung.
- GitHubs „Push-Modell“ für Benachrichtigungen passt nicht zu einer eher offline-zentrierten Entwicklungsweise.
- Bei Projekten mit hohem Anteil an Nicht-Entwicklern fehlen Community-Management-Tools, was die Erschöpfung der Maintainer erhöht.
- Da GitHub sich zunehmend auf LLMs und Generative AI konzentriert, verstärken Websites dort Maßnahmen gegen LLM-Crawler wie JavaScript-Wände oder Browser-Fingerprinting.
- Dadurch kam es zu Nebenwirkungen, bei denen Dillo-Benutzern der Zugriff verwehrt wurde.
Aufbau der eigenen Infrastruktur
- Bestehende Repository-Dienste konnten gleichzeitig den Ausfall einer einzigen Stelle verhindern und dabei schlank betrieben werden nicht erfüllen.
- Daher wurde beschlossen, den Server selbst zu betreiben und mehrere Mirrors zu unterhalten.
- Die Domain dillo-browser.org wurde gekauft und ein kleiner VPS-Server eingerichtet.
- Der Betrieb läuft stabiler als erwartet; vor allem KI-Bot-Traffic wird abgewickelt.
- Als Git-Frontend wurde cgit gewählt.
- cgit ist in C geschrieben, nutzt wenig RAM und CPU und arbeitet ohne JavaScript.
- Das CSS wurde leicht angepasst, damit es in Dillo gut dargestellt wird.
- Erreichbar unter https://git.dillo-browser.org/.
- Als Bugtracker wird ein selbst entwickelter ‚buggy‘ eingesetzt.
- Markdown-Dateien werden geparst und HTML-Seiten erzeugt, jeder Bug wird im Git-Repository gespeichert.
- Bei jedem Commit aktualisiert ein Git-Hook die Seiten automatisch.
- Offline-Bearbeitung möglich, ohne Sicherheitsbedenken.
- Verfügbar unter https://bug.dillo-browser.org/.
- Das Mailinglisten-Archiv wird auf 3 externe Dienste verteilt, eine eigene Kopie ist für die Zukunft geplant.
Mirror-Einrichtung
- Alle Kerndaten werden als Git-Repositories verwaltet und auf Codeberg und Sourcehut gespiegelt.
- Wenn ein Repository abgeschaltet wird, ist ein Wechsel zu einem anderen Mirror mit niedrigen Kosten möglich.
- Der einzige Ausfallpunkt bleibt DNS (dillo-browser.org).
- Bei DNS-Verlust kann man Nutzer über Mailingliste, Fediverse und IRC informieren.
- Die Daten sind in Git repliziert, daher tritt kein katastrophaler Verlust auf.
OpenPGP-Signatur
- Diese Seite ist mit dem GPG-Schlüssel (32E65EC501A1B6FDF8190D293EE6BA977EB2A253) von Rodrigo Arias Mallo signiert.
- Es ist derselbe Schlüssel wie in den aktuellen Dillo-Releases und ist ebenfalls im GitHub-Account hinterlegt.
- Die Signaturdatei (index.html.asc) ist über
<link rel=signature> eingebunden.
- OpenPGP-Signaturen ermöglichen Vertrauensaufbau auch bei DNS-Verlust.
- Anstelle einer TLS-Zertifikatskette erfolgt der Eigentumsnachweis über Signaturvertrauen.
- Die Signatur ist in allen Git-Mirrors enthalten, was die Ausfallsicherheit gegenüber Datenverlust verbessert.
Migrationsfortschritt und Ausblick
- Das GitHub-Repository wird nicht sofort gelöscht und wird bis zum Abschluss der Migration weiter gepflegt.
- Danach soll das Repository in den Zustand „archived“ versetzt werden; dies wird auf der offiziellen Website angekündigt.
- Bestehende Commits und Release-Dateien werden zur Rückwärtskompatibilität behalten.
- Die neue Infrastruktur lässt sich mit geringen Kosten und niedrigem Energieverbrauch eigenständig betreiben.
- Auf Basis der aktuellen Spenden und Serverkosten ist ein Betrieb von mindestens 3 Jahren möglich.
- Wer unterstützen möchte, kann dies über Liberapay tun: https://liberapay.com/dillo/
Noch keine Kommentare.