Browse Source

2024-04-21-23-30

master
bot 2 months ago
parent
commit
3bd2e7b80d
  1. BIN
      data/media/gemini_protocol/alt-web-protocols-comparison.png
  2. 39
      data/pages/gemini_protocol.txt
  3. 62
      data/pages/nex_protocol.txt

BIN
data/media/gemini_protocol/alt-web-protocols-comparison.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

39
data/pages/gemini_protocol.txt

@ -199,8 +199,9 @@ _underline_ @@ -199,8 +199,9 @@ _underline_
Спорным моментом является обязательное шифрование TLS поверх уже имеющегося слоя.
Также сертификат TLS предусматривает наличие CN записи, что может стать проблемой при выборе сервера с поддержкой CN/SNI в формате IPv6.\\
Разработчики серверов не ймут сути вопроса по части отсутствия домена и если есть задача работать с классической адресацией Yggdrasil, следует сразу обратить внимание на форк сервера [[https://github.com/YGGverse/titan-II|Titan-II]].
Разработчики серверов не ймут сути вопроса по части отсутствия домена и если есть задача работать с классической адресацией Yggdrasil, следует сразу обратить внимание на форк сервера [[https://github.com/YGGverse/titan-II|Titan-II]] (реализация хостинга статики на его основе - реализована в проектах β-Doku и Pulsar).
В виду указанных особенностей, более целесообразным выбором для сети Yggdrasil может быть протокол [[:nex_protocol|Nex]].
==== DNS ====
Пользователи [[:yggdrasil:dns:internal_dns|DNS с подключением через Yggdrasil]] и в частности - [[:yggdrasil:dns:alfis#скорость_работы|Alfis DNS]], использующего стандартно AdGuard, могут столкнуться с задержками при открытии казалось-бы легковесных страниц Gemtext.
@ -217,12 +218,46 @@ _underline_ @@ -217,12 +218,46 @@ _underline_
* %%gemini://[301:23b4:991a:634d::db]%% - эксплорер блокчейна KevaCoin [[https://github.com/kvazar-network/geminiapp|KVAZAR]]
* %%gemini://kvazar.ygg%% - алиас
* %%gemini://kvazar.duckdns.org%% - алиас в Интернет
* %%gemini://[301:23b4:991a:634d::feed]%% - агрегатор лент RSS на базе движка с открытым кодом [[https://github.com/YGGverse/Pulsar|Pulsar]]
===== Похожие протоколы =====
* Gopher
* Guppy - %%gemini://guppy.000090000.xyz/guppy-spec.gmi%%
* Spartan
* Nex
* [[:nex_protocol|Nex]] - %%nex://nightfall.city/nex/info/specification.txt/%%
* Scroll - %%gemini://scrollprotocol.us.to%%
* Text - https://textprotocol.org
==== Сравнение ====
<code>
gemini spartan scroll nex
------ ------- ------ ---
naming scheme space sparta/greece scrolls & libraries cityscape & highways
transport TCP + TLS TCP TCP + TLS TCP
request structure full URL hostname & path full URL path
request encoding utf-8 us-ascii utf-8 utf-8
status codes 18 4 18 0
document type text/gemini text/gemini text/scroll text/plain
input prompt 1x status "=:" prompt line 1x status none
data upload limited yes limited no
mimetypes yes yes yes no
virtual hosting yes yes yes no
same-site redirects yes yes yes no
cross-site redirects yes no yes no
proxy requests yes no yes no
"lang" response parameter yes no yes no
lang request parameter no no yes no
response metadata heuristic heuristic yes heuristic
abstract/metadata requests no no yes no
link relationships heuristic heuristic yes heuristic
list nesting no no yes heuristic
</code>
Источник: %%gemini://scrollprotocol.us.to%%
===== Статьи внутри раздела =====

62
data/pages/nex_protocol.txt

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
====== Nex (протокол) ======
Минималистичный сетевой протокол семейства [[https://ru.wikipedia.org/wiki/Gopher|Gopher]] / [[:gemini_protocol|Gemini]] для обмена преимущественно текстовыми файлами.
От последнего отличается:
* отсутствием внешних и внутренних редиректов
* отсутствием [[:gemini_protocol#коды_статусов|статус-кодов]]
* не требует обязательной сертификации TLS, следовательно - привязки к домену посредством CN/SNI, что выгодно при использовании классической адресации 0200::/7 в Yggdrasil, где передаваемый трафик уже зашифрован а DNS - зачастую не используется
===== Спецификация =====
==== NEX ====
Сервер принимает подключения посредством TCP на порту 1900 и взависимости от наличия слеша в конце пути запроса, возвращает либо директорию либо текстовый или бинарный файл.
**Пример запроса:**
<code>
telnet nightfall.city 1900
nex
</code>
**Подробнее:**
%%nex://nightfall.city/nex/info/specification.txt%%
==== NPS ====
Протокол отправки данных по типу Titan для Gemini, по-умолчанию используется порт 1915.
Целостность отправляемого пакета обеспечивается наличием точки в конце сообщения, после чего пакет считается отправленным и соединение с сервером прекращается.
**Спецификация:**
%%nex://nightfall.city/nps/info/specification.txt%%
===== Программное обеспечение =====
==== Сервер ====
* [[https://hg.sr.ht/~m15o/nexd|nexd]] - очень простой сервер на Go для публикации статики на 1900 порту, по-умолчанию открывает файлы с названием "[[https://hg.sr.ht/~m15o/nex-pfm/browse/handler.go?rev=tip#L93|index]]" (репозиторий mercurial)
* [[https://hg.sr.ht/~m15o/kinex|kinex]] - проксирующий сервер на Go для публикации статики на 8080 порту, также добавляет разметку HTML
==== Клиенты ====
* [[https://github.com/skyjake/lagrange|Lagrange]] - браузер для различных smallnet протоколов, включая nex.
==== Утилиты ====
* [[https://github.com/YGGverse/nex-php|nex-php]] - PHP 8 / Composer библиотека для разработки веб-приложений
===== Внутрисетевые ресурсы =====
* %%nex://[301:23b4:991a:634d::1900]%% - блог проекта YGGverse в формате [[:gemini_protocol#gemtext|gemtext]]
===== Ссылки =====
* [[https://nightfall.city]] (%%nex://nightfall.city%%) - домашняя страница - документация, полезные ссылки и ресурсы сообщества
* [[https://hg.sr.ht/~m15o/]] - тематические проекты с открытым кодом
* [[:gemini_protocol#сравнение|Сравнение протоколов gemini, spartan, scroll, nex]]
Loading…
Cancel
Save