subject: Ответ на всё сразу
24.10.2024 13:15
revoltech (spnet, 4)
Так, ладно, раз уж диалог завязался (и спасибо за такой тёплый, хоть и, хм, своеобразный приём), выскажу наконец свои основные мысли по поводу этого всего.
1. Да, я — любитель спутниковых каналов связи, тора, анонимности, анархии и всего того, что у вас здесь, видимо, принято относить ко списку смертных грехов, а по факту чуть ли не единственного залога комфортного существования в онлайне. Сеть ii меня заинтересовала как раз своим потенциалом превращения в антифидо: меньшая гэбнявость при тех же (или даже больших) распределённости и легковесности протокола. Добавить бы сюда только приватность на транспортном уровне (например, Gopher-узлы в .onion имеются, вполне можно сделать там же ii-станции) и будет вообще хорошо. А то, например, Tox и SimpleX тоже распределены, но легковесностью там и не пахнет из-за количества задействованной криптографии. Ну и они на реалтайм больше рассчитаны, а здесь наоборот.
2. Официальная документация ii/IDEC вроде и подробна, но написана так, что некоторые вещи либо неочевидны, либо их надо додумывать самостоятельно. Например, касательно разделителя строк. На момент написания мной этого поста в доках НИГДЕ не указано, что разделитель строк в теле сообщения — строго \n. Это явно указано только для формата бандла:
> Разделитель для бандла - новая линия (LF, код 10).
Естественно, по аналогии с остальными легковесными протоколами я запостил тестовое сообщение с \r\n на концах строк. И естественно, получил отлуп и понял, что там только \n должно было быть. Но то, что у кого-то при этом что-то отвалилось на серверной части... Ребят, валидация входящих данных — это БАЗОВЫЙ принцип безопасности. Если у вас от непреднамеренной бинарщины валится сервер, это не проблемы отправителя этой бинарщины, а сугубо ваши, поскольку к преднамеренной такой сервер окажется совсем не готовым.
3. Надо бы как-то придумать, как оптимизировать фетчинг. С этими GET-запросами на /u/m я вот столкнулся с ограничением, что у каких-то нод и их долбаного нжинкса тело GET-строки не может превышать 256 символов. Соответственно, за один запрос можно выкачать бандл максимум из 12 сообщений. Крайне неэффективно выходит. Ну или я что-то не так понял в доках и всё-таки имеются способы пооптимальнее. Не говоря уж о том, что такой же фетчинг было бы неплохо организовать по тому же Gemini или Gopher/Finger/Nex, например. HTTP для данных целей — вообще оверхед. Достаточно одной строки запроса и погнал ответ. Тем более, что спецификация прямо говорит, что HTTP — лишь один из вариантов.
4. Веб-зеркалам, как по мне, не нужно придавать особого значения. Может, это здесь обсуждалось, но вроде бы фишка именно в распределённости: каждый выкачивает максимум контента. Если все начнут пассивно читать веб-зеркала, что от сети в итоге останется, если основные ноды выйдут покурить? Не знаю, может, в будущем размер станет иметь значение, но вот на данный момент у меня sqlite3-база с содержимым (публичных) эх из пяти станций занимает 104 мега. Это меньше любого из современных браузерных движков в распакованном виде. Не думаю, что единоразовое выкачивание данных такого объёма вызовет у кого-то проблему, особенно если решить вопрос пункта 3.
5. Shaos нашёл исходники моего ii-клиента tii/tiix, но это всё ещё в процессе допила. Как посчитаю действительно готовым, сделаю анонс со ссылками. Тогда и о новой станции можно будет поговорить.
Спасибо за внимание.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 13:49
tuple (ping,54) => R7V5jp9PACR0b8FrtJGe
Приветствуем!
> (и спасибо за такой тёплый, хоть и, хм, своеобразный приём)
Раз уж вы любитель тора, анонимности и подобного, то должны понимать, что данные технологии привлекают не только энтузиастов, но и вредителей, которых привлекает политическая позиция держателя таверны.
> Официальная документация ii/IDEC вроде и подробна, но написана так, что некоторые вещи либо неочевидны.
Тоже столкнулся с этим во время своих экспериментов пару лет назад. Недавно предлагал ввиду того, что ii-net.tk умер давно (там лежала документация по сети), новый сайт сделать и уточнить моменты.
> За один запрос можно выкачать бандл максимум из 12 сообщений. Крайне неэффективно выходит. Ну или я что-то не так понял в доках и всё-таки имеются способы пооптимальнее.
Точно был способ в документации. Посмотрите подробней.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 13:50
hugeping (ping,1) => R7V5jp9PACR0b8FrtJGe
revoltech> Так, ладно, раз уж диалог завязался (и спасибо за такой тёплый, хоть и, хм, своеобразный приём), выскажу наконец свои основные мысли по поводу этого всего.
Насчёт приёма, не понимаю твоих намёков. Пиши конкретней. С моей стороны выглядит примерно так:
1) Сначала прислал мне пустое письмо (я решил, что автоматика). Весь анонимизированный.
2) Не ответил на мой вежливый вопрос письмом же (где я пояснил свой интерес тем, что на станцию совершались набеги в прошлом)
3) потом создал сообщение "/?" на tgstation.ru.
4) Я снял фетч и сообщил о своих подозрениях в эхе :)
5) Потом ты послал битые сообщения.
Потом пошли намёки на ущемление свобод. :) В любом случае, на данный момент я не имею к тебе никаких претензий. Разве что осуждение за игнорирование моего письма.
revoltech> 1. Да, я — любитель спутниковых каналов связи, тора, анонимности, анархии и всего того, что у вас здесь, видимо, принято относить ко списку смертных грехов
Пиши конкретней. Не у вас, а у тебя - hugeping. :) Да, я отрицательно отношусь к такому явлению, когда открытые проекты для связи типа тех же irc, jabber, gemini итд воспринимаются лишь с точки зрения анонимности и приватности и тем самым привлекают массу контингента который создают контент, который меня не интересует. Однако, это не влияет на мою политику по отношению к участникам сети, пока они не начинают "сорить" на моей станции.
revoltech> 2. Официальная документация ii/IDEC вроде и подробна, но написана так, что некоторые вещи либо неочевидны, либо их надо додумывать самостоятельно. Например, касательно разделителя строк. На момент написания мной этого поста в доках НИГДЕ не указано, что разделитель строк в теле сообщения — строго \n. Это явно указано только для формата бандла:
Согласен. Я даже в итоге не понял как лучше это "исправить". Сейчас я режу '\r' просто.
revoltech> Ребят, валидация входящих данных — это БАЗОВЫЙ принцип безопасности.
А с этим я не спорил. В плане именно безопасности проблемы не было, проблему больше доставили сообщения с битым repto -- они создали много топиков из одного сообщения. То-есть, это что то вроде дефейсинга. Так то, спасибо за тестинг. :)
revoltech> 3. Надо бы как-то придумать, как оптимизировать фетчинг.
Посмотри как сделан фетчинг в ii-go. Он адаптивный.
revoltech> Спасибо за внимание.
Заходи, если что. :)
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 14:18
revoltech (spnet, 4) => tc4FT9ftOL4wsnD4ZP34
> Точно был способ в документации. Посмотрите подробней.
Да уже всё перерыл, никак не нахожу, как именно клиентом выкачать все сообщения из указанных в /u/e за один HTTP-запрос.
Так-то у меня и так выкачиваются только те сообщения, ID которых ещё нет в базе. Но проблемы с ограничением длины GET-строки на сервере это не решает.
Самым очевидным решением было бы, наверное, разрешить ещё и HTTP POST /u/m с тем же синтаксисом.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 15:26
Reprise (tavern,18) => tc4FT9ftOL4wsnD4ZP34
tuple> Приветствуем!
>> (и спасибо за такой тёплый, хоть и, хм, своеобразный приём)
tuple> Раз уж вы любитель тора, анонимности и подобного, то должны понимать, что данные технологии привлекают не только энтузиастов, но и вредителей, которых привлекает политическая позиция держателя таверны.
Интересно было бы услышать какая у меня политическая позиция :)
+++ Caesium/0.4 RC1
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 15:52
shaos (spnet, 2) => aHjPNwA6DqDXYfJJ4uQc
А может не будем про политику?…
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 17:00
tuple (ping,54) => aHjPNwA6DqDXYfJJ4uQc
Reprise> Интересно было бы услышать какая у меня политическая позиция :)
Виноват. Спутал таверну с ping.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 21:46
shaos (spnet, 2) => EZ2VA4z43sAqPOdRjrLU
Фуф, а я уж думал выяснится, что Лобанов - квадробер :)
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
24.10.2024 23:02
hugeping (ping,1) => quEzAMxJgme8GUREqrOH
shaos> Фуф, а я уж думал выяснится, что Лобанов - квадробер :)
Так-так-так... С этого места поподробнее!
+++ отключает фетч с spline-online и настраивает iptables
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
25.10.2024 13:58
Andrew Lobanov (tavern,1) => yi5FR4LOgytQktenXXgT
>> Точно был способ в документации. Посмотрите подробней.
revoltech> Да уже всё перерыл, никак не нахожу, как именно клиентом выкачать все сообщения из указанных в /u/e за один HTTP-запрос.
revoltech> Так-то у меня и так выкачиваются только те сообщения, ID которых ещё нет в базе. Но проблемы с ограничением длины GET-строки на сервере это не решает.
revoltech> Самым очевидным решением было бы, наверное, разрешить ещё и HTTP POST /u/m с тем же синтаксисом.
У тебя трафик платный и тарифицируется по количеству HTTP-запросов?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
25.10.2024 13:59
Andrew Lobanov (tavern,1) => k9GliwFDLz69JbJAJ7GR
shaos> А может не будем про политику?…
Ну раз уж начали, то давайте. Чего уж там?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Ответ на всё сразу
25.10.2024 13:59
Andrew Lobanov (tavern,1) => quEzAMxJgme8GUREqrOH
shaos> Фуф, а я уж думал выяснится, что Лобанов - квадробер :)
Я сам думал уже кто же я. Квадробер, зацепер, видеоблоггер или, извиняюсь, рэпер. Но пронесло :)
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------