LINUX.ORG.RU

Nastene 0.6 - сервер протокола ii/idec

 


0

2

Через 10 лет после прошлого релиза ii 0.5 представляю «эталонную» реализацию сервера сети ii (расширения idec не поддерживаются).

ii/idec - это распределённая система сообщений, сильно упрощённое фидо. Общение идёт в эхах. Есть станции, они постоянно скачивают друг с друга по своему роутингу сообщения друг с друга. И есть пойнты, которые пишут сообщения в конкретную эху на конкретной станции.

По сути, любая станция знает только две команды: * Отдай мне такие-то сообщения по такому-то критерию * Прими сообщение от пойнта в эху

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

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

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

До сих пор живые станции:

Пользователи могут как пользоваться веб-интерфейсом, так и скачивать и отправлять сообщения с помощью клиентов.

Относительно живые клиенты:

  • Caesium Golded-like
  • ii-txt 0.9 просто текстовые файлы : работает на python 2.4-2.7, хорош для первых пентиумов и какого-нибудь debian sarge на них

Архив проектов: https://github.com/idec-net

На данном сервере запущена моя станция:
Веб-интерфейс станции: http://ii.blcat.ru

Скачать: http://ii.blcat.ru/s/nastene-0.6.tar.gz

ps. Korovan-free product

Nastene Retro 98 : версия сервера для старых систем. Для python 2.5-2.7, только lite интерфейс, вырезано всё, что можно.

Идеальный вариант для ваших серверов с Debian Etch (или в Etch максимум 2.4? тогда ничего не поделаешь, придётся обновиться до Lenny)

В комплекте архив эхи retro.talks, будет что почитать долгой зимней ночью. И на станции уже сразу есть контент. К сожалению, заметки о Debian Sarge туда не попали в связи с их ненаписанностью, но будут доступны позже в эхе.

http://ii.blcat.ru/s/nastene-retro-98.tar.gz

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

в чём смысл если всё опять через Интернет

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

весь флёр как я понимаю был в пыве и модемах

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

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

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

Конечно, есть, в первой строке статуса 20 text/plain пишешь и вперёд. Как и в спартане 2 text/plain.

Можно ещё Nex добавить, он в этом плане вообще идентичен гоферу.

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

Хотя нет. У меня сервер вообще динамику не поддерживает, только статику, так что в gemini будет только зеркало для контента, чёб почитать было можно, а вся динамика только в http (зато без https)

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

Сделал эху lor.gold куда буду перекидывать понравившиеся мне темы из архивов лора и избранные комменты к ним

http://ii.blcat.ru/lor.gold?rev=1

кроме того, думал буду не трогать сервер, но перепишу интерфейс с древнего foundation, где куча css и js файлов на picnic с единственным css. иконочные шрифты заменю на текст. Олю оставлю.

хотя лично я что на десктопе что на телефоне пользуюсь только lite интерфейсом

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

Не вижу, в чём сложность отдавать по Gemini те же пути, которые отдаются по http, ну да ладно. Может, есть какие-то другие станции, где это потестить можно? Gopher/Spartan/Nex тоже принимаются.

На крайняк свою напишу, но пока не хотелось бы.

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

не знаю, как устроена gemini://hugeping.tk, но вроде там такого нет

На gemini://hugeping.tk вообще отдельный контент, а не зеркало станции.

/u/e, /u/l генерится динамически, в зависимости от запроса

И что, собственно? (кстати, что такое /u/l? Может, /u/m?) Если что-то их уже генерит в ответ на HTTP-запросы, что мешает туда же допилить ответы по Gemini?

rebforce
()

Относительно живые клиенты:

Caesium Golded-like ii-txt 0.9 просто текстовые файлы : работает на python 2.4-2.7, хорош для первых пентиумов и какого-нибудь debian sarge на них

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

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

там plain-text. я читаю любым удобным клиентом - вьюером в mc

я не знаю формат mailbox или maildir, но, по идее, конвертор делается минут за 5 - правда, почта и эхи всё равно разные вещи

в фидо бинарные форматы эх, типа squish, бинарные форматы бандлов.

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

У меня примитивный gemini сервер, там нет динамики вообще.

И gemini это всё таки для похода на него gemini-браузером, то есть мой сервер чтобы lor.gold почитать - в сети и так серверов меньше, чем библиотек в Саратове, а тут есть постоянно генерирующийся контент, как никак - с этим gemini справляется

а ii это отдельный протокол, с отдельным клиентом, по нему обмениваются а потом генерят хоть текст, хоть html, хоть gmi

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

У меня примитивный gemini сервер, там нет динамики вообще.

Это я уже понял, но что мешает её добавить?

в сети и так серверов меньше, чем библиотек в Саратове

В какой именно сети? В ii или Gemini? Потому как если второе, то gemini://tlgs.one с тобой не согласится.

а ii это отдельный протокол, с отдельным клиентом

Я вот тоже пишу отдельного клиента для ii, но вроде бы сам стандарт не обязывает фетчить исключительно по HTTP(S), только постить. Как минимум ещё пять протоколов напрашиваются…

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

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

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

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

Твоя лежала. Меня в итоге шаос у себя зарегал. Ну не суть.

Суть в том, что входящие данные надо обрабатывать тщательнее, я вон даже на клиенте string trim делаю на каждую значимую строку, потому как не знаю, \n или \r\n там на конце будет. И в спецификации ii, прошу заметить, нигде не указано, что там за разделитель строк должен быть.

Это я не конкретно о твоей станции, если что, но там у кого-то такое произошло, когда непреднамеренно не то было отправлено.

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

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

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

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

для которой нет ни одного клиента

Неправда. Мой tii умеет фетчить из Gemini (а также Spartan, Gopher, Finger и Nex), но вот потестить как раз не на чем.

P.S. Пора, видимо, всё-таки свою ноду начинать пилить…

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

Когда (и если) я сделаю свою ноду, вебморды там не будет даже в планах. Только /list.txt, /u/e, /u/m и /u/point.

Причём первые три будут доступны по всем вышеперечисленным протоколам, а последняя — только по HTTP/HTTPS. Ну или можно альтернативу по NPS соорудить, типа:

cat <<EOF | nc station.domain 1915
/u/point
[auth_string]
[base64_message]
.
EOF
rebforce
()

Думаю о создании станции lor2ii, которая будет медленно и печально собирать сообщения с текущих тем лора.

Без веб интерфейса, либо с веб интерфейсом только для пойнтов.

При этом пойнты могут комментировать эти сообщения и они будут доступны другим пойнтам. Получится этакий OverLor.

Сообщения с лора тэгировать чем-то типо lorlink/урл-на-сообщение.

Вернуть http-клиента и ориентировать на всё это.

Кому-нибудь такое интересно?

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

самый простой клиент в мире :)

for n in `wget -q -O - http://ii.blcat.ru/e/idec.talks | tac`
do
wget -q -O - http://ii.blcat.ru/m/$n | less
done

переключать сообщения клавишей q :)

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