LINUX.ORG.RU

Nastene 0.7 — простая распределённая система сообщений

 , , , ,


5

5

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

Nastene 0.7 и есть станция. Написана на Python 3 и работает на текстовых файлах.

О роутинге. С помощью list.txt и питоньей скриптоты можно легко обеспечить режим «все обмениваются всем со всеми», но как показывает практика, у разных станций разные списки эх. Так и было задумано. Обычно в сети есть какая-нибудь станция-архив, которая скачивает все сообщения со всех станций.

Есть lite-интерфейс (поддерживает, например win95/ie4+), создана эха retro.talks.

Изначальная цель проекта — ведение маленьких, но дружных сообществ (когда трафика мало, формат эх позволяет больше вовлекаться в обсуждения). Или распределённый мини-твиттер. Проекту более 10 лет, но до сих пор сохранилось много сообщений многолетней давности с сайтов, которых уже давным давно нет. Что написано в ii, не вырубишь топором. Благодаря этому из двух уже давно умерших сайтов и эх воссоздана эха retro.talks.

Изменения (фактически, это изменения с версией 2014 года):

  • Вместо Foundation (где куча css и js файлов) используется chota css (один css-файлик). Светлая и тёмная темы. Иконочный шрифт удалён. Для тех, кому и это слишком тяжело, есть lite-интерфейс.
  • Введение тэга topicid для отслеживания цепочек (даже если какая-то часть сообщений потерялась).

Это всё так же базовая реализация протокола, следующую версию можно выпустить ещё лет через 10.

P.S. Korovan-free product

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

★★

Проверено: hobbit ()
Последнее исправление: unfo (всего исправлений: 7)
Ответ на: комментарий от Manhunt

этот самый фидо

это самое FIDO

из которых уже песок сыпется.

Вот только вот этого всего не надо!..

Somebody ★★
()
Ответ на: комментарий от alt-tab-let

Явно не хватает блокчейна. Тогда еще можно будет занимать друг у друга денег.

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

Главное, чтобы клиент это всё тоже понимал.

А чтобы клиенты и прочие участники сети друг друга понимали, это всё должно (было быть) оговорено в спецификаци...

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

Насколько мне известно, ещё с самого начала этой сети было нормальной практикой, что некоторые ноды реализовывали какие-то нестандартные фичи, которые понимали не все клиенты. Есть некий костяк и есть, скажем так, расширения. К тому же, эти все криптографические измышлизмы чисто постинга касаются, причём сугубо постинга на конкретную ноду. Не нравится, что какая-то нода внедрила TOTP, можно на другую уйти. Интероперабельность между нодами от этого страдать не будет, как и возможность всех фетчить всех.

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

Эха и есть документация. Фидошный принцип. 3 сообщения в эхе прямо в окне About выделены.

И конечно же, пользователь об этом должен просто знать.

простой пользователь просто заходит на страницу и пишет то, что хочет. и знает, что его сообщения дублируются по станциям. пока ему этого достаточно. :)

alt-tab-let ★★
() автор топика
Ответ на: комментарий от gns

А если по делу, то ты в gemini space только транслируешь эхи? Писать оттуда как-то можно?

Нет.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от rebforce

эти все криптографические измышлизмы чисто постинга касаются, причём сугубо постинга на конкретную ноду

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

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

А они ещё бывают??

да. только я на первом же нарвался на лимит из 30000 файлов :) а так, если мессаги не текстово хранить, то можно хоть большие базы так трассировать

alt-tab-let ★★
() автор топика
Ответ на: комментарий от gns

Таки ВАм мало ЛОРа?

А что будет, если макском скажет «я устал, я ухожу» и закроет лор? Куда денется всё, что написано непсильным трудом? Веб-архив всё не завебархивит.

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

alt-tab-let ★★
() автор топика
Ответ на: комментарий от rebforce

у меня хэш по другому сейчас вычисляется, первые 2 символа это год, потом хэш. ну плюс есть memo для шотлинков.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от Manhunt

А для этого надо снова пояснить по хардкору владельцам нод, что msgid — святая святых и редактирование сообщения по сути должно создавать новое с новым msgid в конце списка. Сейчас же нода разве что может выбрать не сохранять сообщения с несоответствующим содержимому msgid. Тут уж у всех разная реализация.

rebforce
()
Ответ на: комментарий от alt-tab-let

у меня хэш по другому сейчас вычисляется

Ну тогда с тебя я фетчить не буду. Это коллизии и прочая дичь. Меняй назад.

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

А если владелец ноды начнет коверкать чужие сообщения, или коверкать целиком свои реплики чужих баз сообщений (эти реплики ведь потом могут себе ещё какие-то ноды скачать)? Есть какие-то механизмы, чтобы облегчить выявление недобросовестных нод?

нет, тут фидошные принципы, ты знаешь кого фетчишь и вообще.

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

сеть не про валидность, сеть про распространение. она не рассчитана на большой трафик, она рассчитана на объединение маленьких, поэтому должна быть как можно проще

alt-tab-let ★★
() автор топика
Ответ на: комментарий от rebforce

Ну и налепят новых сообщений с новыми msgid (целых списков с такими сообщениями), приписав авторство другим людям. Как потом читателю в этом разбираться?

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

Идея в том, что старые-то сообщения сохраняются в любом случае (у читателя). Поэтому, кстати, идею вебморд к ii-нодам я категорически не поддерживаю. Вот там наворотить что угодно можно, и хрен что оригинальный автор докажет.

rebforce
()
Ответ на: комментарий от alt-tab-let

нет, тут фидошные принципы, ты знаешь кого фетчишь и вообще.

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

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

А SU.KASCHENKO.LOCAL там будет?

да у нас как-то не принято ругаться. а вообще, любой пойнт может завести любую эху, можешь хоть щас начинать ругаться в http://ii.blcat.ru/su.kashenko.local

никто в веб интерфейсе, кроме явных подписчиков, этого не увидит :)

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

alt-tab-let ★★
() автор топика
Ответ на: комментарий от Manhunt

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

ну просто удаляешь эти сообщения и снимаешь с фетча. тем более, кроме подмены могут быть другие признаки XAB - спам там, просто угрозы направо и налево и прочее - как ты это на уровне технологии отконтролируешь? просто удалил и дальше пошёл.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от alt-tab-let

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

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

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

У тебя, вижу, каждое сообщение отдельным файлом идёт. Не тормозит на больших эхах?

ну самая большая эха 17 тыщ сообщений, работает :) но в изначальном плане не было больших эх, для удобства архивирования эхи делались вида ЭХА.ГОД, и потом отправлялись в архив. Сейчас есть, как есть.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от alt-tab-let

Ну да, МедПейсонала полный ЛОР, а ПОЦиэнтов не найти... :)

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

Я про то, что единичный сайт можно просто взять и закрыть, это единая точка входа. Я бы потерял кучу контента, когда мои сайты дохли :), а так они до сих пор есть, и даже какой-никакой архив сохранился (жаль, ни у кого нет полного).

А если макском закрыл бы сайт в 2000м? А так, может кто создаст протоЛОР, потом ему надоест, закроется, а кто-то другой продолжит или даже форкнет контент. :) Всяких lor-ng было куча, они все были изолированные, не менялись контентом, и со своим контентом и сдохли. А использовали бы Nastene, мож до сих пор какая движуха и была бы :)

Ещё квотесы сдохли: и всё (хотя кто-то файл фортунок, наверное, успел сохранить, но это похожий с моим формат, простой текстовый файл для распространения). Я их сейчас переизобретаю эхой lor.gold.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от rebforce

Ну тогда с тебя я фетчить не буду. Это коллизии и прочая дичь. Меняй назад.

какая разница, они всё равно по сети расходятся

ps. в любом случае рано или поздно приходит момент, когда надо править сообщения, ссылку там поправить или ещё что. хэш никогда ничего не гарантировал, а коллизии там были by design, сеть вообще ни разу про безопасность. сеть просто не решает проблемы роста там, где никакого роста, скорее всего, не будет, поэтому она такая простая и работает в своей нише эффективна. Безопасность она ЗаСтеной, а не НаСтене :)

alt-tab-let ★★
() автор топика
Ответ на: комментарий от mittorn

Надо будет тоже lor форкнуть :)

А, было же http://ii.blcat.ru/linux.14

богато, 952 сообщения за 10 лет. но они хотя бы сохранились. жаль, не все openbsd.шные эхи сохранились :(

alt-tab-let ★★
() автор топика

Вообще, обмен между станциями никто и никак не регулирует, могут хоть мессаги в git пушить, а потом индексы по timestamp-у пересобирать.

/m /e /u/e /u/m и /u/point это просто универсальные интерфейсы, которые должны быть доступны всем

alt-tab-let ★★
() автор топика
Ответ на: комментарий от alt-tab-let

Ну, в том же fido архивирование эх было делом добровольным. Десяток эх на сотню пользовптелей можно безболезненно размазать на всех. А уже даже дневной траффик московского фидошного хаба образца 1998 года уже сотнями мегов в день измерялся. А так оно и ЛОР можно торрентами раздавать.

gns ★★★★★
()

Звучит здорово, но интерфейс сделан хищниками для чужих. И навигации нет, сразу стена текста, разбирайся сам. И термины из эхи какие-то сложные. Ещё бы увидеть на практике синхронизацию. Неясно как это потом модерировать, если кто-то говна напостит. И почему это лучше форума мне тоже неясно (меня например не парит пустота форума, пусть будет).

neumond
()
Последнее исправление: neumond (всего исправлений: 1)

Когда выйдет версия 1.0, проект будет переименован в Napotolke?

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

Как модерировать список почтовой рассылки, если кто-то говна напостит и оно разойдётся по всем адресатам? Здесь по факту то же самое. Но в этом же оно и лучше форума (если использовать нормальный клиент, а не вебморду): сохранность сообщений локально от левой пятки владельца сервера не зависит.

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

Хорошо. А если кто-то долго и упорно начнёт постить говно? Или тексты по мегабайту. Почтовой рассылкой вместо форумов и чатов разве что разработчики ядра пользуются, и то, видимо по белому списку адресов.

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

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

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

Ну тексты по мегабайту здесь отсекаются на уровне спецификации (тело сообщения в point2node-формате не должно превышать 65536 байт), а в остальных случаях его должен забанить сисоп той ноды, через которую постится. Если же вредоносной является сама нода, остальные её исключают из обмена, а айдишники уже попавших говносообщений добавляют в blacklist.

Не говорю, что эта схема идеальна, но так оно работает на сегодняшний день.

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

Что мешает ему создать нового постера? Или пять тысяч новых постеров? И постить во все ноды сразу.

С капчей справился даже GigaChat.

Давайте посчитаем количество остановок, основываясь на описании: … Таким образом, всего было шесть остановок.

А я не справился, посчитал вместе с конечной.

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

Ну, в общем повторю своё изначальное мнение: идея хорошая, реализация на слабую троечку. Вся суть и сложность инструментов общения скрыта за ширмой: это инструменты модерации, антиспама, рекомендации, хотя снаружи банальнейший список. Репликация интересная, но как будто не самое важное.

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

Это проблема конкретной ноды и её сисопов. Регистрацию, кстати, кто как только ни делает, но это вообще не часть протокола. Как там у blcat, кстати, даже не интересовался. У меня если автоматическая регистрация вообще будет, то куда фундаментальнее.

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

Ну сейчас по факту всё держится на тех самых вайтлистах. Исключений мало (tgistation и blcat, наверное), у остальных только через челобитные на мыло регаться.

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

Ну в итоге читаем через less, кое-как с горем пополам поднимаем ноды, кто как хочет модерируем и регистрируем. Что-то вроде примитив технолоджи, рецепт собери всё сам из мусора и подручных материалов. Пофаниться и полечить выгорание — здорово, но всерьёз пользоваться прям сомнительно.

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

Это автор хочет читать через less, но есть и другие способы.

Что-то вроде примитив технолоджи, рецепт собери всё сам из мусора и подручных материалов.

Как будто что-то плохое.

Пофаниться и полечить выгорание — здорово, но всерьёз пользоваться прям сомнительно.

Ну для меня ценность именно в распределённости и цензуроустойчивости. Есть ещё такая штука, как Nostr, но там авторы спецификации помешаны на биткоине и обмазали всё жсоном, хттпсом и шнорровскими подписями, поэтому на амигах не взлетит. Здесь же ностр без блоатвари получается. Хотя подписи я бы добавил, но немного не в том виде, не ЭКшные и не для того.

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

Мне в принципе кажется обход цензуры недальновидным. Ладно если это какая-то своя adhoc курилка на пять человек. Но если публичное, то проще уже возглавить, чем бороться. От правительства легко прилетит бан по домену, SSL сертификату, хостингу и в конечном счёте паспорту того кто купил хостинг. Не от одного правительства, так от другого, Паша не даст соврать.

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

Поэтому протокол максимально прост, чтобы ноду можно было воссоздать на любом халявном хостинге с динамическим DNS подручными средствами (и в этом единственном аспекте я согласен с топикстартером). Поэтому ii-ноды можно поднимать хоть в торе без усложнения этого самого протокола (правда, для старых девайсов снова придётся городить шлюзы, чтобы пользоваться такими нодами, зато там и SSL не нужен).

И поэтому я и считаю это непохожим на фидо: оно было антианонимным. А добрые дела исключительно анонимно в современном мире можно делать, докaзано многими.

rebforce
()
Ответ на: комментарий от alt-tab-let

Похожие идеи видел в обсуждениях проекта https://github.com/cheshirenet/cheshirenet Но там дальше теории не пошло,хотя теория интересная - отвязать контент от среды его передачи. На эту тему можно погулить рассуждения Vitus Wagner в Живом Журнале. Просто в то время когда он это придумывал оно казалось большинству не слишком нужным так как в моду входили централизованные монстры типа Вконтакта.

В нынешних условиях блокировок неугодной информации на всех хоть сколько-нибудь крупных площадках (это далеко не только в РФ есть) - такая сетка становится актуальной.

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

Вернись в Тик-Ток Ж)

Пожалуйста Не Хамите

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

Ну в итоге читаем через less, кое-как с горем пополам поднимаем ноды, кто как хочет модерируем и регистрируем. Что-то вроде примитив технолоджи, рецепт собери всё сам из мусора и подручных материалов.

именно. в этом и суть. професссиональных технологий, думаю, и так хватает.

alt-tab-let ★★
() автор топика
Ответ на: комментарий от neumond

Ну, в общем повторю своё изначальное мнение: идея хорошая, реализация на слабую троечку. Вся суть и сложность инструментов общения скрыта за ширмой: это инструменты модерации, антиспама, рекомендации, хотя снаружи банальнейший список. Репликация интересная, но как будто не самое важное.

http://ii.blcat.ru/24nafEy1QbMavHLidd2E

alt-tab-let ★★
() автор топика
Ответ на: комментарий от alt-tab-let

хоть на установочной 1.44mb дискете

Сейчас актуален не объем,а энергопотребление и размеры. Китайский микроконтроллер-клон STM32 с подключенной microSD карточкой куда более интересен чем дискета.

watchcat382
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.