Вышла новая версия красивого и полнофункционального [ Gemini ](
https://en.wikipedia.org/wiki/Gemini_(protocol) ) -клиента — [ Lagrange ](
https://gmi.skyjake.fi/lagrange ) , написанного на языке C с использованием библиотеки SDL. Gemini — это новый протокол прикладного уровня, по своему предназначению являющийся простой альтернативой [ HTTP ](
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol ) и усовершенствованной альтернативой [ Gopher ](
https://en.wikipedia.org/wiki/Gopher_(protocol) ) , то есть проектом «посередине» между ними в плане сложности. Он появился как реакция на недостатки последних, в особенности HTTP. В основу его дизайна легли идеи уважения приватности пользователя и сознательного отказа от расширяемости в пользу консервативного сохранения спецификации в минимальном, но удовлетворяющем пользовательские потребности виде (сейчас она заморожена). Проект использует уже знакомые многим стандарты, вроде URI, MIME и TLS. Проект не использует HTML, CSS и JavaScript — для разметки файлов предлагается похожий на Markdown формат Gemtext, а запуск кода и применение стилей на стороне клиента не предусмотрены. Для интерактивного взаимодействия с сервером существует CGI и потоковая отправка сообщений клиенту с помощью долгоживущего TCP-соединения (вследствие чего, например, возможна реализация чата). Сайты принудительно используют шифрование с помощью TLS без CA — вместо него используется механизм [ TOFU ](
https://en.wikipedia.org/wiki/Trust_on_first_use ) , а для аутентификации пользователей используются пользовательские сертификаты. Сообщество разрастается интересными для пользователей проектами, вроде поисковой системы [ GUS ](
gemini://gus.guru/ ) , агрегатора новостей [ CAPCOM ](
gemini://gemini.circumlunar.space/capcom/ ) , каталогом Gemini-капсул (так называются местные сайты) [ Medusae ](
gemini://medusae.space/ ) , техническими демо возможностей протокола, вроде [ анонимной текстовой доски ](
gemini://matrix.kiwifarms.net/ ) , [ агрегатора ссылок ](
gemini://geddit.glv.one ) и [ чата ](
gemini://medusae.space/ ) . Доступны прокси как для просмотра [ Geminispace ](
https://en.wikipedia.org/wiki/Gemini_space ) с помощью HTTP [ [1] ](
https://proxy.vulpes.one ) [ [2] ](
https://portal.mozz.us ) [ [3] ](
https://alexschroeder.ch/soweli-lukin ) , так и для просмотра HTTP с помощью Gemini, и то же самое для Gopher. Протокол достаточно прост, чтобы любой желающий мог создать свой клиент и сервер — чего нельзя сказать о текущем состоянии современного WWW с тысячами страниц спецификаций. По этой причине [ уже существует разнообразие проектов энтузиастов ](
https://gemini.circumlunar.space/software/ ) и [ активная дискуссия в почтовой рассылке проекта ](
https://lists.orbitalfox.eu/archives/gemini/ ) . Lagrange является одним из таких проектов — небольшим Gemini-клиентом с поддержкой аппаратного ускорения с помощью SDL и плавного листания страниц, отображения картинок на странице, вкладок, тем оформления, закладок, истории, пользовательских сертификатов, оглавлений, новостных лент. В этом выпуске добавлена поддержка новостных Atom-лент, загрузки отдельных файлов со страницы без открытия новой вкладки, пиктограмм для закладок, поиска по капсулам с помощью выбранной системы в настройках, опция для автоматической перезагрузки страницы по интервалу и изменения в дизайне. [ В разработке порт Lagrange на мобильные платформы ](
https://skyjake.fi/@jk/105763427434181675 ) ! А до тех пор [ пользователи могут попробовать Ariane на Android ](
https://play.google.com/store/apps/details?id=oppen.gemini.ariane ) , например.
Ссылка:
https://www.linux.org.ru/news/opensource/16187331