Die Ausgabe des Konsolenbrowsers Offpunk 3.0 wurde vorgestellt, der die Protokolle HTTP/HTTPS, Gemini, Gopher und Spartan unterstützt und auch das Lesen von Nachrichtenfeeds in den Formaten RSS und Atom ermöglicht. Das Programm ist in Python geschrieben und wird unter der AGPLv3-Lizenz verbreitet.
Der Browser ist auf das Browsen von Inhalten im Offline-Modus ausgelegt und ermöglicht es, Seiten zu abonnieren oder sie für eine spätere Ansicht zu markieren, wonach die Daten dieser Seiten automatisch zwischengespeichert und bei Bedarf aktualisiert werden. Offpunk ermöglicht es, regelmäßig synchronisierte Kopien von Websites und Seiten zu speichern, die jederzeit für eine lokale Ansicht verfügbar sind. Die Synchronisationsparameter können vom Benutzer eingestellt werden, zum Beispiel kann bestimmter Inhalt einmal am Tag synchronisiert werden, während anderer einmal im Monat synchronisiert wird.
Die Steuerung erfolgt über ein Befehlssystem und Tastenkombinationen. Es gibt Unterstützung für mehrstufige Lesezeichen, Abonnements und archivierte Inhalte. Für verschiedene MIME-Typen können eigene Handler angeschlossen werden. Die Analyse und Anzeige von HTML-Seiten erfolgt unter Verwendung der Bibliotheken BeautifulSoup4 und Readability. Bilder können mit der Bibliothek chafa in ASCII-Grafik umgewandelt werden.
Zur Automatisierung von Aktionen wird eine RC-Datei verwendet, die die Reihenfolge der Befehle beim Start definiert. Über die RC-Datei können beispielsweise automatisch die Startseite geöffnet oder Inhalte bestimmter Websites zum späteren Ansehen im Offline-Modus heruntergeladen werden. Der heruntergeladene Inhalt wird im Verzeichnis ~/ .cache/ offpunk/ in Form einer Dateihierarchie in den Formaten .gmi und .html gespeichert, was es ermöglicht, bei Bedarf den Inhalt zu ändern, manuelle Bereinigungen durchzuführen oder Seiten in anderen Programmen anzuzeigen.
Das Projekt entwickelt weiterhin die Gemini- und Gopher-Clients AV-98 und VF-1, die vom Autor des Gemini-Protokolls erstellt wurden. Das Gemini-Protokoll ist wesentlich einfacher als die in Web verwendeten Protokolle, bietet jedoch mehr Funktionalität als Gopher. Der Netzwerkteil von Gemini ähnelt stark einem vereinfachten HTTP über TLS (der Verkehr wird zwingend verschlüsselt), und die Seitenformatierung ist näher an Markdown als an HTML. Das Protokoll ist geeignet für die Erstellung kompakter und leichter hypertextualer Websites, die von den Komplikationen des modernen Webs befreit sind. Das Spartan-Protokoll ist für die Übertragung von Dokumenten im Gemini-Format ausgelegt, unterscheidet sich jedoch in der Organisation der Netzwerkinteraktion (verwendet kein TLS) und erweitert die Möglichkeiten von Gemini um Mittel zum Austausch binärer Dateien und unterstützt das Senden von Daten an Server.
Zu den Neuerungen in der neuen Version gehören:
- Die Möglichkeit, XKCD-Comics im Terminal anzuzeigen, wurde umgesetzt. Für die Anzeige der Comics wurde ein separates Tool namens „xkcdpunk“ hinzugefügt.

- In die Integration wurde die Bibliothek „unmerdify“ aufgenommen, die es ermöglicht, den Hauptinhalt von HTML-Seiten zu extrahieren, wobei ein Regelset „ftr-site-config“ verwendet wird, um überflüssige Inhalte auszuschließen.
- Die Operationen „share“ und „reply“ wurden hinzugefügt, um die URL der Seite per E-Mail zu senden und eine Antwort an den Autor zu geben, wenn auf der Seite eine E-Mail erwähnt wird.
- Der Befehl „cookies“ wurde hinzugefügt, mit dem eine Textdatei mit Cookies importiert werden kann, die für die angegebene Domain gesendet werden. Auf diese Weise können Sitzungscookies für den Login auf der Website übergeben werden. Die Cookie-Datei kann in einem traditionellen Browser (Firefox, Chromium) mit der Erweiterung „cookie-txt“ erstellt werden, nach dem sie mit dem Befehl „cookies import mycookie.txt https://domain“ importiert werden sollte.
- Der Bildanzeige auf Seiten, die über Gemini geöffnet wurden, wird standardmäßig aktiviert. Die Größe der im Terminal angezeigten Bilder wurde erhöht.

- Die Anzeige von versteckten Links (aus den Tags …) zu RSS- und Atom-Feeds wurde implementiert.
- Es wurde die Möglichkeit implementiert, Links zu gesperrten Seiten rot hervorzuheben. Domains.

- Die Unterstützung von Presets mit mehreren Designs wurde hinzugefügt.
- Die Möglichkeit, die Benutzeroberfläche in verschiedene Sprachen zu übersetzen, wurde hinzugefügt.
Quelle: opennet.ru



