Представлен выпуск консольного браузера Offpunk 3.0, поддерживающего работу по протоколам HTTP/HTTPS, Gemini, Gopher и Spartan, а также чтение новостных лент в форматах RSS и Atom. Программа написана на языке Python и распространяется под лицензией AGPLv3.
Браузер ориентирован на просмотр контента в offline-режиме и позволяет подписываться на страницы или помечать их для дальнейшего просмотра, после чего данные страницы автоматически кэшируются и при необходимости обновляются. Offpunk даёт возможность хранить периодически синхронизируемые копии сайтов и страниц, доступные всегда для локального просмотра. Параметры синхронизации настраиваются пользователем, например, какой-то контент может синхронизироваться раз в день, а какой-то раз в месяц.
Управление осуществляется через систему команд и комбинации клавиш. Имеется поддержка многоуровневых закладок, подписок и архивируемого контента. Для разных MIME-типов можно подключать свои обработчики. Разбор и отображение HTML-страниц производится с использованием библиотек BeautifulSoup4 и Readability. Изображения могут преобразовываться в ASCII-графику при помощи библиотеки chafa.
Для автоматизации выполнения действий используется RC-файл, определяющий последовательность команд при запуске. Например, через RC-файл можно автоматически открывать домашнюю страницу или загружать содержимое каких-то сайтов для последующего просмотра в offline. Загружаемое содержимое сохраняется в каталоге ~/.cache/offpunk/ в виде иерархии файлов в форматах .gmi и .html, что позволяет при необходимости изменять содержимое, проводить ручную чистку или просматривать страницы в других программах.
Проект продолжает развитие Gemini- и Gopher-клиентов AV-98 и VF-1, созданных автором протокола Gemini. Протокол Gemini значительно проще протоколов, используемых в Web, но при этом более функционален, чем Gopher. Сетевая часть Gemini напоминает сильно упрощённый HTTP поверх TLS (трафик обязательно шифруется), а разметка страниц ближе к Markdown, чем к HTML. Протокол подходит для создания компактных и лёгких гипертекстовых сайтов, лишённых усложнений, свойственных современному Web. Протокол Spartan рассчитан на передачу документов в формате Gemini, но отличается организацией сетевого взаимодействия (не использует TLS) и расширяет возможности Gemini средствами для обмена бинарными файлами и поддерживает отправку данных на сервер.
Среди изменений в новой версии:
Реализована возможность просмотра комиксов XKCD в терминале. Для показа комиксов добавлена отдельная утилита "xkcdpunk".
В состав интегрирована библиотека "unmerdify", позволяющая извлекать основное содержимое из HTML-страниц, используя для отбрасывания лишнего набор правил "ftr-site-config".
Добавлены операции "share" и "reply" для отправки URL страницы на email и ответа автору при упоминании email на странице.
Добавлена команда "cookies", при помощи которой можно импортировать текстовый файл с Cookies, которые будут отправляться для указанного домена. Таким способом можно передавать сессионные Cookie для входа на сайт. Файл с Cookie можно сформировать в традиционном браузере (Firefox, Chromium) при помощи дополнения "cookie-txt", после чего его следует импортировать командой "cookies import mycookie.txt https://domain".
Включён по умолчанию показ изображений на страницах, открытых через Gemini. Увеличен размер показываемых в терминале изображений.
Реализован показ скрытых ссылок (из тегов ‹link rel="alternate"...›) на ленты RSS и Atom.
Реализовано выделение красным цветом ссылок на заблокированные домены.
Добавлена поддержка пресетов с несколькими темами оформления.
Добавлена возможность перевода интерфейса на разные языки.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64762







