IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/07/20
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest8639
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
ananas
anon3
dressedie
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
un
weko_
whothefuckami
Vort обработал собранные за два дня результаты по созданию туннелей
Vort вот график рейта. похоже, что эффект сползания рейта наблюдается только сразу после запуска
Vort в течение нескольких часов, скорее всего
Vort ^ вот таблица с рейтами для различных разновидностей туннелей
Vort теперь займусь опять сбором данных по SSU2 сессиям
Vort переделал формат логов на бинарный и теперь собираю данные сразу с RouterInfo
user Т.е. они должны быть у него в БД.
user Я правильно понимаю, что для успешного построения туннеля необходимо, чтобы каждый участник в цепочке "знал" своих соседей?
Vort в случае исходящих SSU2 сессий, RI просто обязан существовать до начала установки соединения. так что его не особо проблема залогировать
Vort про соседей не уверен, но следующего участника в цепочке знать надо точно
Vort когда он неизвестен, то приходится делать запросы в сеть с поиском RI
user Я так понимаю это приводит к ошибкам вида:
user 07:17:45@845/error - Tunnels: Can't select next hop for cqwy31IZWSgzbZ5LLTDOAR60GIYgYkolAGYvgTZa1~o=
user Или это другое?
Vort по-моему это другое
Vort это вылазит когда сам узел не может подобрать пиров для цепочки
Vort то есть, ещё до попытки эту цепочку построить
Vort довольно часто вылазит, кстати. надо будет рассмотреть получше, что ж ему так мешает
user (14:18:01) Vort: когда он неизвестен, то приходится делать запросы в сеть с поиском RI
user Отсюда у нас, видимо таймауты
Vort часть из них - так точно
user Может при построении туннеля передавать каждому участнику информацию о следующем узле? Насколько это возможно и насколько это безопасно?
Vort ну там что-то передаётся, но, видимо, не всё
user Закинь лосю эту идею.
user Если меня не будет
Vort мне кажется, что так, как сейчас, сделано неспроста
orignal про can't select hop это то понятно почемук
orignal так передается эта информация
Vort целиком RI передаётся что ли? опять я напутал что ли
orignal ident
Vort ну вот
Vort а для того чтобы сессию сделать, нужны, допустим, ipшки
Vort и приходится искать RI
Vort если не получилось найти - таймаут
orignal а как ты хочешь иначе?
Vort я добавил в свой логгер SSU2 сессий фейлы интродьюсеров. их дохрена, да. но даже с ними успешность сесий к U узлам на уровне успешности к R узлам
orignal в принципе можно к сообщению прицеплять
Vort или я опять что-то не учёл, или таймауты где-то в другом месте (к примеру, при поиске RI)
Vort чуть побольше данных соберу и выложу табличку по SSU2 сессиям и код
Vort "а как ты хочешь иначе?" - я пока что не знаю, как лучше. это идея от user
Vort тут надо вспоминать, почему вообще i2p сделана именно так, а не иначе
Vort это же очевидная ситуация, когда надо сделать связь к следующему хопу, а RI нету
Vort должна быть продумана и должна работать нормально
Vort ну и тут же ещё вопрос актуальности данных
Vort RI может быть староват. может, так даже лучше - запросить из сети свежий
weko [11:21:50] <Vort> часть из них - так точно
weko Но не много. Найти RI обычно легко
orignal если он не сдох
orignal а если сдох так без разницы
weko [11:23:52] <user> Может при построении туннеля передавать каждому участнику информацию о следующем узле? Насколько это возможно и насколько это безопасно?
weko Херня возможность, так как в текущий чеснок не влезет. Его уменьшали как раз вместе с вводом нового шифрования.
weko Не безопасно, так как RI получаются нами не анонимно, а мы их сообщаем пирам. Есть простор для атак
orignal нет это пиздец
orignal тогда все учатсники тоннеля будут знать как идет тоннель
orignal можно наверное пихать внуть записи но какого размере тогда она будет
orignal сейчас запрос всего тоннеля в 1K вписывается
weko orignal: а из чего ident роутера считается?
orignal в смысле?
weko В плане что для хэша берётся
orignal sha256 адреса
orignal странный воппрос
weko Нет я не спросил какой хэш
weko Я спросил что подаётся для хеширования
orignal так в чем вопрос то?
weko Что хэшируется
orignal адрес
orignal который состоит из нескольких частей
weko Адрес роутера
weko IP же может меняться
orignal I2P адрес
orignal состоящий из ключей их типов и паддинга
Vort хоть я и не тщательно проверил написанный сегодня код, но всё же выкладываю его:
Vort результаты:
Vort Results: 73838 (29074 out, 44764 in), Routers: 45734, Uptime: 0 d 02 h 58 m
Vort *|E 7569 26%|F 2652 9%|IF 1851 6%|T 16093 55%|IT 909 3%|ED a 1.0s m 0.5s
Vort R|E 6136 24%|F 2615 10%|IF 494 2%|T 15714 62%|IT 303 1%|ED a 0.9s m 0.4s
Vort U|E 1433 38%|F 37 1%|IF 1357 36%|T 379 10%|IT 606 16%|ED a 1.2s m 0.7s
Vort фейлы интродьюсеров - самая частая причина проблем коннектов к U узлам. вот разбивка по их типам:
Vort 1076 - 5
Vort 338 - 65
Vort 163 - 70
Vort 161 - 68
Vort 127 - 69
Vort код 5: rejected by Bob, relay tag not found
Vort пока что ещё не разбирался, какие могут быть причины такого ответа, но похоже на баг
Vort weko: в коде выше (вторая ссылка) есть вычисление identhash, если ещё надо. строчки 138 и 139
orignal rely tag not found это интродьюсер говно мамонта
Vort просрочился?
orignal может просто выкинул
orignal сессию закрыли а в netdb старое
Vort кто что выкинул?
Vort как в i2p сделано - интродьюсер соглашается на такую роль на какое-то время?
Vort у меня есть данные и по времени запроса и по использованному RI. так что можно глянуть, сколько времени прошло
Vort от публикации RI до запроса к интродьюсеру
orignal боб выкинул этот таг
Vort как тут имена распределены? A источник, B интродьюсер, C цель?
Vort то есть, A подключается к C с помощью услуги пробива от B? или как-то иначе?
orignal A кто подключаеся, B через кого, C чей RI
Vort ага
Vort B должен выкидывать тег (уходить с роли интродьюсера) по истечению какого-то времени? или по какому условию?
orignal дед просто их выкидывает когда слишком много
orignal я по закрытию сессии
Vort а надо как? :)
orignal как у нас
orignal но суть в том как я говорю в netdb оставаться устаревшиее
Vort так что по поводу времени? предполагается, что интродьюсер активен какое-то время только? или сколько есть сессия, столько и активен?
Vort я просто вижу в RI какие-то параметры iexp
Vort и возник вопрос, не "срок годности" ли это
orignal ну разумеется
orignal и мы его всегда проверяем
Vort так как это сочетается с выкидыванием по закрытию сессии? U узел постарается держать открытой сессию к интродьюсеру чётко до истечения iexp?