LINUX.ORG.RU

Gemini-клиент Lagrange 1.2

 , , , ,


8

5

Вышла новая версия красивого и полнофункционального Gemini-клиента — Lagrange, написанного на языке C с использованием библиотеки SDL.

Gemini — это новый протокол прикладного уровня, по своему предназначению являющийся простой альтернативой HTTP и усовершенствованной альтернативой Gopher, то есть проектом «посередине» между ними в плане сложности. Он появился как реакция на недостатки последних, в особенности HTTP. В основу его дизайна легли идеи уважения приватности пользователя и сознательного отказа от расширяемости в пользу консервативного сохранения спецификации в минимальном, но удовлетворяющем пользовательские потребности виде (сейчас она заморожена). Проект использует уже знакомые многим стандарты, вроде URI, MIME и TLS. Проект не использует HTML, CSS и JavaScript — для разметки файлов предлагается похожий на Markdown формат Gemtext, а запуск кода и применение стилей на стороне клиента не предусмотрены. Для интерактивного взаимодействия с сервером существует CGI и потоковая отправка сообщений клиенту с помощью долгоживущего TCP-соединения (вследствие чего, например, возможна реализация чата). Сайты принудительно используют шифрование с помощью TLS без CA — вместо него используется механизм TOFU, а для аутентификации пользователей используются пользовательские сертификаты.

Сообщество разрастается интересными для пользователей проектами, вроде поисковой системы GUS, агрегатора новостей CAPCOM, каталогом Gemini-капсул (так называются местные сайты) Medusae, техническими демо возможностей протокола, вроде анонимной текстовой доски, агрегатора ссылок и чата. Доступны прокси как для просмотра Geminispace с помощью HTTP [1] [2] [3], так и для просмотра HTTP с помощью Gemini, и то же самое для Gopher.

Протокол достаточно прост, чтобы любой желающий мог создать свой клиент и сервер — чего нельзя сказать о текущем состоянии современного WWW с тысячами страниц спецификаций. По этой причине уже существует разнообразие проектов энтузиастов и активная дискуссия в почтовой рассылке проекта.

Lagrange является одним из таких проектов — небольшим Gemini-клиентом с поддержкой аппаратного ускорения с помощью SDL и плавного листания страниц, отображения картинок на странице, вкладок, тем оформления, закладок, истории, пользовательских сертификатов, оглавлений, новостных лент.

В этом выпуске добавлена поддержка новостных Atom-лент, загрузки отдельных файлов со страницы без открытия новой вкладки, пиктограмм для закладок, поиска по капсулам с помощью выбранной системы в настройках, опция для автоматической перезагрузки страницы по интервалу и изменения в дизайне.

В разработке порт Lagrange на мобильные платформы! А до тех пор пользователи могут попробовать Ariane на Android, например.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от aidaho

А потребителям контента многие из этих свистелок не нужны.

С чего ты это взял? Я потребитель контента, и мне очень нужны все эти свистелки на современных веб-сервисах. Я прекрасно помню веб 25 лет назад и обратно не хочу.

anonymous ()
Ответ на: комментарий от Shaman007

Ох, как же у тебя бомбануло то. Прочитай, на что я отвечал, для начала.

Ну а по сути твоего комментария - gemini и не предлагается на замену web.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от Shaman007

это хорошо работает на новостных сайтах

плохо работает. Сайту отсутствие возможностей комментариев под новостью - сразу идет в минус

cvs-255 ★★★★★ ()
Ответ на: комментарий от cvs-255

«Проще» вообще-то не значит «лучше». У любой проблемы всегда есть простое красивое логичное неправильное решение.

Shaman007 ★★★★★ ()
Ответ на: комментарий от fernandos

Более того, люди могут захотеть, чтобы клиент (и содержимое страницы) выглядели сообразно текущей теме любимой бубунточке/арча/манжары (подставить нужное).

tiinn ★★★★ ()
Ответ на: комментарий от aidaho

Если целевая аудитория тебя с твоим клиентским кодом пошлёт, предложив генерировать svg, твои действия?

Пользователи интернета в 99.99 процентах случаев не настолько упоротые, чтобы копаться, через svg я им формулы показываю или нет. А 0.01% пусть заслуженно идёт по известному адресу.

wandrien ()
Ответ на: комментарий от tiinn

Да, всё должно быть на уровне варианта, который выберет пользователь.

fernandos ★★ ()
Ответ на: комментарий от eternal_sorrow

В данном случае подразумевается сравнение с женщиной в негативном смысле

Кстати, не обязательно. Называть истеричками и женщин, и мужчин, которые на эмоциях ведут себя не вполне адекватно – устоявшаяся практика.

Bagrov ★★★★★ ()
Ответ на: комментарий от anonymous

С чего ты это взял?

Набралось достаточно людей, чтобы запилить сабжевую отрыжку.

Я потребитель контента, и мне очень нужны все эти свистелки на современных веб-сервисах.

Ок. Веб никуда не денется, насильно мил не будешь.

aidaho ★★★★★ ()
Ответ на: комментарий от Shaman007

Удачи, это хорошо работает на новостных сайтах и сайтах с документацией.

Так насколько я понимаю, сабж в первую очередь для таких и предназначен?..

hobbit ★★★★★ ()
Ответ на: комментарий от monk

Так есть там картинки (где необходимо):

Картинки показывать можно. Но ненужно.

Клиент не кэширует ничего и всегда долбится на сервер.

Удачи им в отображении альбома на сотню фотографий в хорошем качестве.

wandrien ()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Тогда, действительно, пусть по протоколу латекс передают, а клиенты его рендерят.

fernandos ★★ ()
Ответ на: комментарий от hobbit

Отлично! Эта задача точно так же решается на HTML/CSS, зачем ставить еще 1 клиент, зачем еще один протокол, еще один сервер? Чтобы что?

Shaman007 ★★★★★ ()
Ответ на: комментарий от Shaman007

Отлично! Эта задача точно так же решается на HTML/CSS, зачем ставить еще 1 клиент, зачем еще один протокол, еще один сервер? Чтобы что?

+1

Чтобы быть не как все.

wandrien ()
Ответ на: комментарий от hobbit

Так насколько я понимаю, сабж в первую очередь для таких и предназначен?..

Так основной вопрос треда в том, зачем был нужен сабж для решения этой проблемы, если все это решается имеющимися средствами и так.

anonymous ()
Ответ на: комментарий от dummy

«Джаваскрипт» в этом высказывании легко заменяется на любой язык общего применения

Чёй-та? На C# вполне возможно.

tiinn ★★★★ ()
Ответ на: комментарий от wandrien

Пользователи интернета в 99.99 процентах случаев не настолько упоротые, чтобы копаться, через svg я им формулы показываю или нет. А 0.01% пусть заслуженно идёт по известному адресу.

Так какие тогда твои претензии к текущему состоянию веба?
С тобой поступают ровно так же, как ты поступаешь с другими.
Что ты забыл в этом треде совершенно непонятно.

aidaho ★★★★★ ()
Ответ на: комментарий от Shaman007

Они заявляют, что это якобы для того, чтобы быть точно увереным, что при переходе по незнакомой сылке ты не попадешь в какое-то логово HTML+CSS+JS+100500фреймворков и отслеживалок.

Как по мне, так это легко чинится с помощью отключения скриптов и стилей

cvs-255 ★★★★★ ()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от Shaman007

Подумай, как на твоем Gemini сделать банк-клиент, трансляцию видео, игру, мессенджер, почтовый клиент и т.п. (нельзя)?

Кстати интересно. Банк-клиенты лично у меня в виде приложений для ведроида, ютубы с твичами я смотрю в mpv, всякие телеграмы тоже отдельные приложения, почтовые клиенты - ладно, тут я пользуюсь веб-интерфейсом (lite-версией, которую наверно рано или поздно выпилят), но и синхронизация с локальным Maildir тоже настроена.

Т.ч. не такие уж это и большие проблемы.

Lrrr ★★ ()
Ответ на: комментарий от commagray

Writing a dumbed down web browser which gracefully ignores all the unwanted features is much harder than writing a Gemini client from scratch.

Вот автор NetSurf и пыхтит в одиночку. А мог бы получить сторонников. :\

Even if you did it, you’d have a very difficult time discovering the minuscule fraction of websites it could render.

А каталогизация Gemini-ресурсов, стало быть проще, чем каталогизация ресурсов некоего Simplified Web. Очень я в этом сомневаюсь.

hobbit ★★★★★ ()
Ответ на: комментарий от cvs-255

Это чинится написанием расширения в браузер, который обрабатывает специальным образом кастомную схему в url. Или даже написанием просто сайта, с таким обработчиком.

Сейчас любой сайт может регистрировать в твоей системе обработчик схемы вида web+somewhat://ololololo при переходе по которому, будет открываться именно твой сайт, которому будет передаваться запрос.

anonymous ()
Ответ на: комментарий от anonymous

На любом языке вполне возможно. И на js в том числе.

4.2. На GW-Basic никак не выйдет.

tiinn ★★★★ ()
Ответ на: комментарий от aidaho

Так какие тогда твои претензии к текущему состоянию веба?

Уж явно они не в том, что мне кто-то мешает запиливать сайты без JS, и что для этого якобы нужен целый отдельный юзер-агент с несовместимым протоколом.

С тобой поступают ровно так же, как ты поступаешь с другими.

Ну-ка, ну-ка? Как со мной поступают и как я поступаю? Поподробнее с этого места.

Я потратил своё личное время, совершенно бесплатно, чтобы написать большую статью, снабдил её тщательно начерченной схемой, формулами, детальным объяснением. Добавил интерактивный калькулятор. На графиках показал отдельные моменты, чтобы было понятно даже самым начинающим.

Не нравится? Не читай. Любой недовольный может смело идти нахрен и делать лучше, правильнее и далее как душе угодно. Может сидеть в своём никому кроме кучки отщепенцев ненужном закутке интернета, где из возможностей подачи контента только опция сменить цвет фона и некэширующиеся картинки. Сидите, наслаждайтесь.

Вот только не забывайте, что критически оценят ваши потуги вовсе не «идейные враги», а обычные люди, авторы, которым потребовалось от интернета чуть больше возможностей, чем сплошная стена текста.

wandrien ()
Ответ на: комментарий от Shaman007

по-моему современные веб-сайты с тоннами трекеров, жабаскрипта и т.п. создают людям куда большие проблемы. Они просто хреново работают, не зря очень многие компании сейчас пилят в первую очередь мобильные приложения.

Lrrr ★★ ()
Ответ на: комментарий от anonymous

а еще можно написать расширение, которое при переходе по ссылке проверяет, удовлетворяет ли загружаемая страница критериям «никаких кучи фремворков и трекинга» и если нет, выводить большую красную надпись

cvs-255 ★★★★★ ()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от Lrrr

У тебя есть ответ на простой вопрос - почему эти тонны сайтов, должны работать для тебя без тонны трекеров и рекламы? За какие такие заслуги?

anonymous ()
Ответ на: комментарий от Lrrr

не зря очень многие компании сейчас пилят в первую очередь мобильные приложения.

Нет, они делают это не поэтому.

Если бы задача сводилась к тому, чтобы поправить тормоза, это вполне решается средствами веба, просто не надо пихать слишком много всего жирного

cvs-255 ★★★★★ ()
Ответ на: комментарий от Lrrr

по-моему современные веб-сайты с тоннами трекеров, жабаскрипта и т.п. создают людям куда большие проблемы. Они просто хреново работают

Все, кто может, уже сделали современные веб-сайты без тонн трекеров, жабаскрипта и т.п. Всем остальным маркетинг не маркетится, и юзер не ловится без оных фич. Так что, проблема надумана. Жирный веб нужен заказчикам. Проблемы юзера никого не волнуют. Те, кого волнуют проблемы юзера, уже сделали лёгкие сайты.

tiinn ★★★★ ()
Ответ на: комментарий от Lrrr

не зря очень многие компании сейчас пилят в первую очередь мобильные приложения.

Конечно не зря. Мобильное приложение позволяет трекать тебя еще больше, и показывать тебе еще более невырезаемую рекламу.

anonymous ()
Ответ на: комментарий от Lrrr

пилят в первую очередь мобильные приложения

которые на деле - тот же сайт, только в коробочке.

создают людям куда большие проблемы

например, какие? Вот у меня дети удаленно занимаются робототехникой, например, используя Твич. Какие проблемы создает им современный web? Я могу перечислить проблемы, которые он тут решает.

Shaman007 ★★★★★ ()
Ответ на: комментарий от tiinn

Жирный веб нужен заказчикам.

На самом деле, жирность веба - просто дешевле, его не жирности.

Трекать можно и легковесно максимально. И вообще все сделать красиво. Но это дорого, и почти не окупаемо, потому что разница не существенная в современных реалиях.

anonymous ()
Ответ на: комментарий от wandrien

Поподробнее с этого места.

Я не знаю, под каким углом к тебе нужно повернуть зеркало, чтобы ты свою же логику «не нравится, иди мимо» начал применять и на других.

Пассажи с «врагами», «отщепенцами» и прочим Д’Артаньянством оставлю без комментариев.

aidaho ★★★★★ ()
Ответ на: комментарий от Shaman007

Какие проблемы создает им современный web?

Показывает цифры в htop’е, которые маргиналам не нравятся.

anonymous ()
Ответ на: комментарий от wandrien

Для формул без всяких джаваскриптов есть декларативный MathML, вот только из хрома его выпилили под невнятным предлогом, поэтому да, приходится юзать костыли типа того же MathJax.

Пиши вот так

У меня ссылка не открывается почему-то.

hobbit ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.