Может ли простой текстовый протокол стать популярным в XXI веке? Давайте разберемся
После публикации первой части рассказа о Ретро-протоколах, которые можно использовать и сегодня, многие читатели рекомендовали попробовать протокол Gemini. Что ж, попробовать определенно стоит, давайте сделаем это.
Что такое Близнецы
Gemini — относительно новый (проект стартовал в 2019 году) интернет-протокол. Основная идея заключалась в том, чтобы сделать протокол связи максимально простым, с понятным и безопасным дизайном, без тяжелых страниц и кучи скриптов, работающих в браузере. Это действительно может работать таким образом? Давайте просто попробуем и посмотрим, как это происходит! Но прежде чем читать эту статью дальше, я настоятельно рекомендую прочитать первую часть, чтобы лучше понять некоторые идеи, которые вдохновили разработчиков Gemini на их работу. Читатели также могут посетить официальную страницу проекта https://gemini.circumlunar.space. Кстати, многие названия в проекте (CAPCOM, Spacewalk, Lunar и т. д.) были взяты из Проекта Джемини НАСА. Для меня это выглядит немного запутанно, потому что сам проект не имеет ничего общего с НАСА, астрономией или дальней связью, но если вы любите космос и космические программы, это все равно может быть весело.
Прежде чем мы начнем, небольшой отказ от ответственности: я никоим образом не связан с проектом Gemini, и эта статья не является рекламой. Я только что попробовал это, как и любой другой пользователь, все, что я пишу ниже, является моим собственным мнением.
Давайте начнем.
Близнецы Браузеры
Gemini — это интернет-протокол, поэтому можно посещать веб-сайты на основе Gemini, но сначала необходимо установить браузер. Доступно несколько браузеров, я пробовал два из них.
Амфора
Amfora — это бесплатный консольный браузер с открытым исходным кодом, и, по моему скромному мнению, я могу рекомендовать его только людям, у которых все еще есть ностальгия по старым временам MS-DOS/UNIX. Браузер работает в текстовом режиме, вообще без графики:
Хорошо, что если у вас сломалась мышь или трекпад, это не проблема — в этом браузере мышь вам вообще не нужна. Открыв страницу «geminispace.info», мы можем воспользоваться поисковой системой и получить результаты поиска. Выглядит немного похоже на поиск Google, но в текстовом режиме:
Для открытия ссылки достаточно ввести ее номер, страница откроется:
Некоторые страницы не работали, отображая ошибку «Срок действия сертификата истек»:
Я не уверен, почему сертификат необходим и не может быть необязательным, но ладно, протокол был разработан таким образом. По крайней мере, сам браузер работает, и, честно говоря, я не ожидал слишком многого от текстового браузера.
Лагранж
Давайте попробуем другой браузер — Lagrange, который также бесплатный и с открытым исходным кодом. Ну а по сравнению с чисто текстовым режимом выглядит намного лучше:
Браузер и его «минималистичный» дизайн страниц на самом деле выглядит приятно, текст читается легко и комфортно:
Самым интересным для меня было ощущение, что многие веб-сайты Gemini открываются почти мгновенно — чего я никогда не видел при использовании «обычных» веб-сайтов. Это «странное» ощущение, когда ты нажимаешь на ссылку и сразу получаешь результат, это действительно круто. Там просто нет CSS, и, на мой взгляд, все страницы выглядят довольно аккуратно — на самом деле у владельцев страниц нет возможности сделать плохой дизайн с неаккуратными шрифтами или форматированием.
Увы, не все страницы можно открыть:
В целом поиск работает хорошо, но количество доступных страниц не так уж и велико, что и понятно, сам проект не является «официальным» интернет-стандартом, его поддерживают только волонтеры и сообщество.
Веб-сервер Gemini
После того, как мы попробовали браузер Gemini, давайте посмотрим, как он работает под капотом, и запустим наш собственный локальный сервер Gemini. Я использовал сервер Агат, он тоже бесплатный и с открытым исходным кодом, бинарник можно скачать на странице GitHub. Установка не требуется, нам нужно только распаковать файл и сделать его исполняемым:
wget https://github.com/mbrubeck/agate/releases/download/v3.2.2/agate.x86_64-unknown-linux-gnu.gz gunzip agate.x86_64-unknown-linux-gnu.gz chmod +x agate.x86_64-unknown-linux-gnu
Теперь давайте добавим некоторый контент на наш сервер. Я буду использовать текст из этой статьи в качестве примера. Я создал файл «index.gmi», который, как правило, представляет собой простой текстовый файл языка разметки:
# Tired of the modern Web? Try the 'Gemini' protocol ## Gemini Browsers There are several Gemini browsers available, I've tried two of them: => https://github.com/makeworld-the-better-one/amfora/releases => https://git.skyjake.fi/gemini/lagrange/releases ### Amfora Amfora is a free console-based browser, and in my humble opinion, I can recommend it only to people who still have nostalgia about old MS-DOS/UNIX times. The browser works in a text mode, without any graphics at all: => Amfora.png Amfora ### Lagrange Let's try another browser - Lagrange, which is also free and open source. Well, compared to a pure text mode, it looks much better: => Lagrange.png Lagrange
Как мы видим, структура абсолютно проста, без пользовательских шрифтов, без CSS, без скриптов, баннеров или счетчиков, только обычный текст. Я также сохранил два скриншота в той же папке. Теперь я могу запустить сервер:
./agate.x86_64-unknown-linux-gnu --hostname localhost --content .
Затем я могу открыть браузер Lagrange, ввести в адресной строке имя «localhost» и увидеть результат:
Полную спецификацию протокола Gemini можно найти в сети, еще один пример страницы прилагается к самому серверу Agate.
Было бы неплохо запустить настоящий сервер Gemini в Интернете и публиковать там такие статьи. Но увы, хостинг и DNS стоят денег, он не бесплатный, и я не уверен, что мне есть смысл платить за выделенный сервер самостоятельно, пока им почти никто не пользуется. Но может стоит попробовать, хотя бы на годик в качестве эксперимента, пишите в комментариях, если хотите увидеть результат.
Заключение
Было интересно протестировать протокол Gemini и посмотреть, как он работает. В общем, должен признать, что идея «минималистического веба», без медленных скриптов, трекинга пользователей, всплывающих баннеров и прочего, действительно крутая и мне нравится. Браузер Gemini работает быстро, страницы открываются практически моментально, без задержек. Также легко создавать страницы в формате Gemini, по сравнению с HTML и CSS, никаких специальных знаний не требуется. И что интересно, эти тексты на самом деле хорошо выглядят, форматирование в браузере красивое и аккуратное. Стоит ли попробовать этот протокол? Ответ абсолютный «да». Приятно видеть, как Интернет в теории может работать.
С другой стороны, жизнеспособна ли эта идея? Честно говоря, я не уверен. Текущая функциональность слишком ограничена. Например, было бы неплохо иметь возможность читать почту в браузере Gemini — еще 30 лет назад BBS это позволяли. Результаты поиска также очень ограничены только потому, что количество серверов Gemini невелико, но это проблема «курицы и яйца» — нет пользователей из-за отсутствия серверов, нет серверов из-за отсутствия пользователей. И последнее, но не менее важное — идея Интернета без скриптов, без рекламы и монетизации — красивая утопия, но кто будет платить за эти серверы? Я могу запустить свой собственный сервер Gemini и публиковать там статьи, но если я ничего не получу взамен, мой энтузиазм по оплате счетов за хостинг скоро иссякнет. И это не только мое мнение, во время подготовки этой статьи я наткнулся на многообещающее видео «Мой персональный сайт теперь будет капсулой Близнецов»:
Это видео было опубликовано почти год назад и набрало много лайков и комментариев. Отлично, подумал я, давайте проверим, должно быть красиво. Увы, у меня есть только это:
В любом случае, идея иметь простой протокол на основе разметки хороша, и, возможно, когда-нибудь стандартные браузеры будут изначально поддерживать Gemini или что-то подобное. По крайней мере, возможность переключения на минималистичный вид страницы, оптимизированный для чтения, без куков, баннеров и всплывающих окон, меня устраивает. Это произойдет? Честно говоря, у меня есть сомнения, но посмотрим.