Содержание

Nex (протокол)

Минималистичный сетевой протокол семейства Gopher / Gemini для обмена преимущественно текстовыми файлами.

От последнего отличается отсутствием:

Спецификация

NEX

Сервер принимает подключения посредством TCP на порту 1900 и в зависимости от наличия слеша в конце пути запроса, возвращает либо директорию либо текстовый или бинарный файл.

Пример запроса:

telnet nightfall.city 1900
nex

Подробнее:

nex://nightfall.city/nex/info/specification.txt

NPS

Протокол отправки данных по типу Titan для Gemini, по-умолчанию используется порт 1915.

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

Пример запроса:

nc nightfall.city 1915
classifieds
YOUR MESSAGE GOES HERE
.

где строки:

  1. установка соединения посредством синтаксиса netcat
  2. целевой ресурс на сервере - в данном случае, аргумент указывает URI classifieds
  3. тело сообщения, можно указать несколько строк
  4. единственная точка в новой строке - завершает отправку, в содержимое сообщения данным сервером не добавляется

Текст из файла

file.txt
classifieds
╦ ╦╔═╗╔═╗╔╦╗╦═╗╔═╗╔═╗╦╦  
╚╦╝║ ╦║ ╦ ║║╠╦╝╠═╣╚═╗║║  
 ╩ ╚═╝╚═╝═╩╝╩╚═╩ ╩╚═╝╩╩═╝
.
cat file.txt | nc nightfall.city 1915

Посмотреть отправленное сообщение можно по адресу:

nex://nightfall.city/classifieds/

Также появился внутрисетевой сервер отправки сообщений KevaChat, работает подобным образом:

nc 201:23b4:991a:634d:8359:4521:5576:15b7 1915

Спецификация:

nex://nightfall.city/nps/info/specification.txt

Программное обеспечение

Клиент

GUI

CLI

Сервер

Библиотеки

Проксирование

В виду простоты протокола, передаваемые данные легко проксируются любым сервером, поддерживающим маршрутизацию потоков TCP

Nginx

/etc/nginx/nginx.conf
stream {
        server {
                listen 1915;
                proxy_pass [IP]:1915;
        }
}

Внутрисетевые ресурсы

Ссылки