La première version stable du navigateur console Offpunk a été publiée, prenant en charge non seulement l'ouverture de pages Web, mais aussi la gestion des protocoles Gemini, Gopher et Spartan, ainsi que la lecture de flux d'informations au format RSS et Atom. Le programme est écrit en Python et est distribué sous licence BSD.
Une caractéristique clé d'Offpunk est sa focalisation sur la consultation de contenu en mode hors ligne. Le navigateur permet de s'abonner à des pages ou de les marquer pour une consultation ultérieure, après quoi les pages sont automatiquement mises en cache et mises à jour si nécessaire. Ainsi, avec Offpunk, il est possible de maintenir des copies de sites et de pages toujours disponibles pour consultation locale et mises à jour grâce à une synchronisation périodique des données. Les paramètres de synchronisation sont configurables par l'utilisateur, par exemple, certains contenus peuvent être synchronisés une fois par jour, tandis que d'autres peuvent l'être une fois par mois.
La gestion se fait via un système de commandes et de combinaisons de touches. Un système flexible pour gérer des signets multilayers, des abonnements et du contenu archivé est proposé. Des gestionnaires personnalisés peuvent être connectés pour différents types MIME. L'analyse et l'affichage des pages HTML sont réalisés à l'aide des bibliothèques BeautifulSoup4 et Readability. Les images peuvent être transformées en graphismes ASCII grâce à la bibliothèque chafa.
Pour automatiser l'exécution des actions, un fichier RC est utilisé, définissant la séquence des commandes lors du lancement. Par exemple, via le fichier RC, il est possible d'ouvrir automatiquement la page d'accueil ou de charger le contenu de certains sites pour une consultation ultérieure en mode hors ligne. Le contenu téléchargé est enregistré dans le répertoire ~/.cache/offpunk/ sous forme d'une hiérarchie de fichiers aux formats .gmi et .html, ce qui permet de modifier le contenu, d'effectuer un nettoyage manuel ou de consulter les pages dans d'autres programmes si nécessaire.
Le projet continue le développement des clients Gemini et Gopher AV-98 et VF-1, créés par l'auteur du protocole Gemini. Le protocole Gemini est nettement plus simple que les protocoles utilisés sur le Web, tout en étant plus fonctionnel que Gopher. La partie réseau de Gemini rappelle un HTTP fortement simplifié sur TLS (le trafic est toujours crypté), et la mise en page des pages est plus proche du Markdown que de l'HTML. Ce protocole est adapté pour la création de sites hypertextes compacts et légers, sans les complexités du Web moderne. Le protocole Spartan est conçu pour transmettre des documents au format Gemini, mais diffère par l'organisation de l'interaction réseau (n'utilise pas TLS) et étend les capacités de Gemini avec des moyens d'échange de fichiers binaires et supporte l'envoi de données sur serveur.

Source : opennet.ru
