RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — ahamai
2024-10-29 02:27:27


Там же точки нету - там двоеточие
Значит проверку на соответствие имени эхи оно пройти не должно ;)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 02:31:18


Наверное старая нода должна ошибку вернуть если в запросе непонятное буквосочетание попалось, не?

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — ahamai
2024-10-29 04:48:03


А поправить референсную реализацию? ;)

[>] Re: Таверна
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 04:55:04


Стал забирать с тебя retro.talks

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — ahamai
2024-10-29 07:02:21


А существующие реализации в сети не 100% IDEC уже? ;)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 09:25:05


это как так? перечисляемые расширения были основной фишкой IDEC :(

вот например мой /x/features прямо сейчас:

u/e
u/push
list.txt
list.txt?h=1
listhsh.txt
blacklist.txt
x/c
x/h
x/file
x/filelist
node.json

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 09:28:44


Ну у него эхи без цифр, значит уже наполовину IDEC ;)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 10:37:40


А как же делать кастомные расширения теперь?...

[>] Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — All
2024-10-29 10:50:51


Вобщем мне никогда не нравилось, что в /u/point у вас пароль идёт прямым текстом (ну скажем https:// и POST ещё ок, но если речь идёт о ретроклиентах, которые умеют только http:// ?)

Для несекьюрных каналов можно попробовать альтернативный способ аутентификации пользователя скажем через подпись HMAC-RIPEMD-160-96. Алгоритм HMAC это hash-based message authentication code (код аутентификации сообщения на основе хеша), который использует один секретный ключ, известный обеим сторонам, и над каким-то стандартным хешом - в данном случае это RIPEMD-160 (алгоритм хеширования с наименьшей длиной хеша, который ещё не сломали), причём этот алгоритм был представлен ещё в 1992 году (т.е. ему уже 32 года!) - он в частности используется в биткоине (вместе с SHA-256). Ну и для укорачивания такой подписи берутся первые 96 бит (12 байт). Это всё стандартизовано на уровне RFC:

RFC2104 (February 1997) - HMAC: Keyed-Hashing for Message Authentication
https://datatracker.ietf.org/doc/html/rfc2104

RFC2286 (February 1998) - Test Cases for HMAC-RIPEMD160 and HMAC-RIPEMD128
https://datatracker.ietf.org/doc/html/rfc2286

RFC2857 (June 2000) - The Use of HMAC-RIPEMD-160-96 within ESP and AH
https://datatracker.ietf.org/doc/html/rfc2857

Конечно было бы лучше использовать SHA-256, но RIPEMD-160 проще в вычислительном плане, а нам надо будет его считать на слабых платформах. Вобщем суть такая - секретный ключ (это может быть строка текста длиной до 20 символов) загружается на узел через секьюрное соединение (https:// или скажем через емейл сисопу) один раз. Далее когда пользователь хочет отправить сообщение на узел (в описанном выше формате) по несекьюрному каналу, то его клиент считает по телу сообщения и секретному ключу подпись HMAC-RIPEMD-160-96 и посылает 12-байтовый результат как PAUTH (можно наверное в base64url его завернуть), а сервер при получении будет считать по полученному телу сообщения свой вариант HMAC-RIPEMD-160-96 и будет сравнивать с присланной подписью - если результат совпадёт, то отправитель считается аутентифицирован (плюс будет проверена целостность самого сообщения). До кучи в урл можно добавить кодировку, на тот случай если софт поинта не поддерживает UTF8:

URL/u/point2/koi7/B64AUTH/B64STRING

для больших сообщений можно задействовать метод POST:

URL/u/point2/koi7/B64AUTH
TEXT

причём тело сообщения в данном случае можно заслать прямым текстом без кодировки (Content-Type: plain/text)

Обсуждаем? :)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 10:54:44


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

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — shaos
2024-10-29 10:59:56


Да - в /x/features поддерживаемые кодировки можно перечислить таким макаром:

/u/point2/utf8
/u/point2/koi7
/u/point2/koi8r
/u/point2/cp866
/u/point2/cp1251

При получении узел будет сам переконвечивать это в UTF-8 (если пришёл не UTF-8)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 11:06:16


https://github.com/idec-net/new-docs/blob/master/iibonds.md

Минусы оригинального ii:

- Название эхоконференций от 3 до 60 символов, эха обязана заканчиваться на постфикс (точка и число).
- Когда в эхе накапливается по 3000 сообщений и более, получать индекс со станции становится долго.
- Из-за предыдущей причины приходилось "перекатывать" эхи, периодически переходя из одной в другую

Наши улучшения

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

ВСЁ!

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 18:12:22


Ну я добавил их в /x/features и типа сразу видно что оно у меня есть ;)

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 18:14:20


> Да.

Ну дык значит bloat уже на половину IDEC :)

[>] Re: Станции ii/IDEC в .onion (Tor)
idec.talks
shaos(spnet, 2) — tuple
2024-10-29 18:20:18


O - вот этот текст я искал ;)

Оригинал давно протух…

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 18:23:46


Ну это типа кастомное расширение

HOTP потяжелее наверное - и там ведь ещё больший «огород с хешами» ?

[>] Re: Стандарт
idec.talks
shaos(spnet, 2) — shaos
2024-10-29 18:28:31


blcat

чортова автоисправлялка…

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 19:10:19


> Вот это в стандарт точно тащить не надо. Кому в 2024 году нужно что-то, кроме UTF-8? А всякие кои и 1251 за пределами постсовка и раньше никому не нужны были.

cp1252 ещё можно добавить т.к. оно ещё вполне в ходу :)

https://en.wikipedia.org/wiki/Windows-1252

"It is the most-used single-byte character encoding in the world. Although almost all websites now use the multi-byte character encoding UTF-8, as of July 2024 1.2%[4] of websites declared ISO 8859-1 which is treated as Windows-1252 by all modern browsers (as demanded by the HTML5 standard[5]), plus 0.3% declared Windows-1252 directly,[4][6] for a total of 1.5%. Some countries or languages show a higher usage than the global average, in 2024 Brazil according to website use, use is at 3.4%,[7] and in Germany at 2.7%.[8][9] (these are the sums of ISO-8859-1 and CP-1252 declarations)."

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 19:32:07


Ну вот - аппаратный ключ городить ещё

А на сторонние аутентификаторы совсем не хочется завязываться - всё должно работать даже в случае тотального отключения глобальных сервисов...

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 19:48:30


Кстати - если этот номер перехватить, то его ведь можно тут же зареюзать пока время не прощло?

В моём случае зареюзать не получится т.к. оно зависит от контента

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — shaos
2024-10-29 19:52:03


" All the communications SHOULD take place over a secure channel, e.g.,
Secure Socket Layer/Transport Layer Security (SSL/TLS) [RFC5246] or
IPsec connections [RFC4301]."

Это show stopper...

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 21:45:59


should = must

Американцы не любят слово must

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — revoltech
2024-10-29 21:50:57


т.е. ты предлагаешь вводить код ручками при каждой посылке? Нет спасибо :)

В моём варианте всё считается автоматически - нажал на Send и оно ушло…

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-29 23:39:44


А у пуша какой пароль - пользовательский или особый сисоповский? Надо код ii-php поглядеть…

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — shaos
2024-10-30 00:52:46


В новой спеке написано «строка авторизации узла» что по видимому намекает на специальный пароль

Тоже надо сделать свой вариант :)

Кстати зачем там echoarea если имя эти есть в каждом сообщении?…

[>] Re: Срез
idec.talks
shaos(spnet, 2) — ahamai
2024-10-30 16:09:19


> 2Shaos, хочу с тебя дёргать только последних 100 хедеров, как у тебя нода устроена?

-100:100

У меня стандартный IDEC

Был :)

[>] Re: игры в эхах
idec.talks
shaos(spnet, 2) — ahamai
2024-10-30 16:24:30


Вот тут я пытался это пообсуждать месяц назад:

ii://c8zTIjCQQ1RyAA264WnN

Вот тут можно тред поглядеть:

http://tgistation.ru/echo/subj/8/%D0%98%D0%B3%D1%80%D1%8B%2520%D0%BF%D0%BE%2520ii%2520/

P.S. Надо у меня чтоли тоже показ тредов поддержать, но только не линейно, а деревом - как на ixbt было или как комменты на слешдоте например…

[>] Re: игры в эхах
idec.talks
shaos(spnet, 2) — shaos
2024-10-30 16:45:46

[>] Re: игры в эхах
idec.talks
shaos(spnet, 2) — shaos
2024-10-30 16:47:17

[>] Re: Аутентификация поинтов через несекьюрное соединение
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-30 16:53:54


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

Может тогда как-то почётче это в стандарте про push проговорить?

[>] Re: игры в эхах
idec.talks
shaos(spnet, 2) — revoltech
2024-10-30 22:59:53


> Можно передавать уровни сокобана в plaintext-формате (.sok).

А если и играть через эху? ;)

[>] Re: игры в эхах
idec.talks
shaos(spnet, 2) — ahamai
2024-10-31 00:40:44


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

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — ahamai
2024-10-31 07:17:33


Не надо драматизировать :)

Индексы тоже пару строк кода добавляют (ну может чуть больше)

Для разнообразия можно множественные "слайсы" тоже сделать, типа

/u/e/echo.1/echo.2/-1:1/echo.3/-100:100/echo.4

будет означать, что echo.1 и echo.2 должны вернуть одно последнее сообщение, echo.3 должно вернуть 100 последних, а echo.4 должно вернуть всё - в этом случае всё будет логично и гибко ;)

[>] Re: тестовый архив
idec.talks
shaos(spnet, 2) — ahamai
2024-10-31 07:22:35


Интересно, что ii.stat я взял с таверны, и сам добавляю туда еженедельную статистику, а там остался старый вариант остановившийся в 2018 году :)

Люди, дайте ii.14 у кого есть? Очень хочется в промежуточную историю окунутся между тем что было на alicorn и тем что сейчас - я письмо ake написал (у него на станции было), но он не отвечает...

[>] Re: тестовый архив
idec.talks
shaos(spnet, 2) — shaos
2024-10-31 07:39:57


Ещё момент - lor-opennet.17 есть в таверне тоже, только она там глючит (сразу после сбойного сообщение оно размножается)

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — ahamai
2024-10-31 07:42:10


> кто будет переписывать цезий или фетчеры под замену стандартов?

никто - сервер может поддерживать и ванильный ii без индексов, и старый IDEC где индексы в конце, и новый многоиндексный вариант - ничто ничему не противоречит!

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — ahamai
2024-10-31 07:46:24


> если менять это, то надо убирать неэхи из стрки для эх

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

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — shaos
2024-10-31 08:20:41


> Индексы тоже пару строк кода добавляют (ну может чуть больше)

Ну ок не 2 строки, а 20, но тем не менее :)

elseif ($opts[0] == 'u' and $opts[1] == 'e') {
        $work_options=array_slice($opts, 2);
        $w_opts_count=count($work_options);

        if (
                $w_opts_count > 1 and
                strstr($work_options[$w_opts_count-1], ":")!==false
        ) {
                $buffer="";
                $numbers=explode(":", $work_options[$w_opts_count-1]);

                $a=intval($numbers[0]);
                $b=intval($numbers[1]);

                $echoareas=array_slice($work_options, 0, $w_opts_count-1);
                $messages=[];

                foreach ($echoareas as $echo) {
                        $slice = $access->getMsgList($echo, $a, $b);

                        if (count($slice) > 0) {
                                $buffer.=$echo."\n".implode("\n", $slice)."\n";
                        } else {
                                $buffer.=$echo."\n";
                        }
                }
                echo $buffer;

        } else {
                foreach($work_options as $echo) {
                        echo $echo."\n".implode("\n", $access->getMsgList($echo))."\n";
                }
        }
}

Это так в ii-php и я думаю не сильно сложнее будет поддержать "слайсы" в любом месте строки, а не только в конце...

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — shaos
2024-10-31 08:21:32


Блин как эти ==== в этом ii-php работают? Ненавижу регулярные выражения...

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — revoltech
2024-10-31 09:40:50


ну IDEC клиентов и серверов наклепали за 10 лет некоторое количество, поэтому и /u/e/echo.1/echo.2/echo.3 и /u/e/echo.1/echo.2/echo.3/-10:10 должны продолжать работать, а я предлагаю раширение, которое исправит последнюю претензию, что слайс распространяется на каждую эху из списка - будет возможность задавать разные слайсы на разные наборы эх в пределах одного запроса - чем плохо то? ;)

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-31 09:42:36


> Это знает только автор. И то вряд ли вспомнит.

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

        for ($i = 0; $i < count ($string); ++$i) {
                $string[$i] = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2",$string[$i]);
                $string[$i] = preg_replace("/([\w]+:\/\/[\w\-?&;%#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$string[$i]);
                $string[$i] = preg_replace("/([\w\-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$string[$i]);
                $echo_check = preg_replace("/(.*)\<a target=\"_blank\" href=\"ii:\/\/(.+?)\"\>(.+?)\<\/a\>(.*)/", "$2", $string[$i]);
                if ($access->checkEcho($echo_check)) {
                        $string[$i] = preg_replace("/target=\"_blank\" href=\"ii:\/\/(.+?)\"/s", "class=\"iilink\" href=\"?echo=$1\"", $string[$i]);
                } else {
                        $string[$i] = preg_replace("/target=\"_blank\" href=\"ii:\/\/(.+?)\"/s", "class=\"iilink\" href=\"?msgid=$1\"", $string[$i]);
                }
                if (preg_match("/^====$/", $string[$i])) {
                        if (!$pre_flag) {
                                $pre_flag = true;
                                $string[$i] = preg_replace("/====/", "<pre>====", $string[$i]);
                        } else {
                                $pre_flag = false;
                                $string[$i] = preg_replace("/====/", "====</pre>", $string[$i]);
                        }
                }
                if(!$pre_flag && preg_match("/^\s?[a-zA-Zа-яА-Я0-9_\-]{0,20}(&gt;)+.+$/i", $string[$i])) {
                        $string[$i]="<span class='quote'>".$string[$i]."</span>";
                }

                if(!$pre_flag) {
                        $string[$i]=preg_replace("/(^|\s+)(PS|P\.S|ЗЫ|З\.Ы|\/\/|#).+$/i", "<span class='comment'>\\0</span>", $string[$i]);
                }
        }
        if ($pre_flag) $string[count($string) - 1] .= "</pre>";

[>] Re: Дополнения к стандарту
idec.talks
shaos(spnet, 2) — revoltech
2024-10-31 09:45:55


ну разве что если /x/e/...

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-31 09:53:59


> Что может быть проще? Грамматики? Конечные автоматы?

Мне проще на сях - перебираем строку посимвольно и делаём чо хотим...

[>] Re: Дополнения к стандарту
idec.talks
shaos(spnet, 2) — revoltech
2024-10-31 09:57:34


насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать

[>] Re: Дополнения к стандарту
idec.talks
shaos(spnet, 2) — revoltech
2024-10-31 10:12:07


> Но её админ должен об этом знать.

Ну я например не знал пока не загуглил :)

Потом пришлось свой анализатор логов переписывать, чтобы строки длинне 8К принимал ;)

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-31 12:24:28


Ну проблему нелогичности решает, на которую некоторые указывают :)

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-31 12:33:59


Нету пробелов после ====

Он просто иногда работает, но чаще не работает
    here?

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — shaos
2024-10-31 12:36:19


Вот почему в предыдущем сообщении оно только на последний ==== среагировало? Пустую строку надо до?

    again?

[>] Re: Разбор idec
idec.talks
shaos(spnet, 2) — shaos
2024-10-31 12:36:43


Неа - опять не сработало…

[>] Happy Birthday to Me
english.talks
shaos(shaos, 2) — All
2024-09-28 11:13:17


51



Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15