Стартовая страница

naste.ne.notes draft-1 02/11/24 00:20 UTC ahamai to All

nastene (она же ii) - это распределённая система сообщений, максимально упрощённоё фидо. Операция идёт с двумя объёктами. Объект сообщение это сообщение. Объект эха это список сообщений со своим именем. Станции по заданому заранее рутингу* скачивают с других станций списки, потом забирают те сообщения, которых у них нет. Пойнты пишут сообщения на станции. Всё, это весь обмен и вся структура сети.

* Легко с помощью list.txt и питоньей матери обеспечить "все обмениваются со всеми", но как показывает практика, у разных станций разные списки эх. Так и было задумано.

nastene-0.7 это веб-интерфейс такой станции, написанный на python3, который позволяет читать и писать как через веб-интерфейс, так и через ii-совместимый клиент

todo: исправить nastene-retro под этот спек. (написанная в лучших традициях html 4.01 или даже 3.2)


naste.ne.notes Re: draft-1 02/11/24 00:31 UTC ahamai to ahamai

Формат запросов

/e/имя.эхи
Запрашивает все msgid из данной эхи. msgid это просто строка из 20 символов, задача которой быть уникальной (используется хэш).

/m/msgid
Запрашивает конкретное сообщение по его msgid

/u/e/имя.эхи/имя.эхи/имя.эхи
Запрашивает msgid сразу у нескольких эх. Формат выдачи
это.эха1
ABCDEABCDEABCDEABCDE
BCDAEBCDAEBCDAEBCDAE
это.эха2
A1B2C3D4E5EBGGSDFDSFF
SDFSDFSDFDSFSDFWWWW
...

/u/m/msgid/msgid/msgid
Запрашивает пакет сообщений. Формат выдачи
msgid:сообщение-закодированное-base64
msgid:сообщение-закодированное-base64
...

(два первых символа хэша для указания года)


naste.ne.notes Re: draft-1 02/11/24 00:35 UTC ahamai to ahamai

Все сообщения в сети создают только пойнты и отправляют их через веб интерфейс или клиента. Точка входа для пойнта

/u/point/pauth/tmsg/

где pauth - это строка авторизации
tmsg - сообщение, закодированное base64

обычно используется в виде post-запроса вида /u/point с полями pauth и tmsg


naste.ne.notes Re: draft-1 02/11/24 00:41 UTC ahamai to ahamai

Сообщения на станции хранятся в своём формате:

1. тэги (выглядит например, так: ii/ok/repto/ABCDEABCDEABCDEABCDE где repto показывает, что это ответ на сообщение, а ii/ok это стандартный заголовок)
2. эха, куда помещено сообщение
3. стандартный unix timestamp, типа 1728457880
4. Имя отправителя
5. адрес, например адрес вида lenina,22 говорит, что это пойнт с улицы, то есть со станции Ленина и он там 22й такой
6. Кому сообщение. Если это новое сообщение, то используется All
7. Тема сообщения
8. [пустая строка]
9 и далее - текст сообщения


naste.ne.notes Re: draft-1 02/11/24 00:45 UTC ahamai to ahamai

формат tmsg, отправлямого пойнтом

1. эха
2. кому (или All)
3. тема
4. [пустая строка]
5. текст сообщения*

* если это ответ на конкретное сообщение, то первой строкой текста сообщения идёт @repto:MSGIDтогосообщения