IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/02/23
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
Leopold
Most2
Nausicaa
Vort
Xeha
anon2
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
orignal R4SAS надо попробовать на reg
orignal потому что он там все время запрашивает
orignal обнаружилась первая проблема
orignal похоже подсчет числа узлов неправильный
R4SAS успешно оживил малину, буду её теперь для сборок использовать под rpi
R4SAS + добавлю arm64 сборку
R4SAS ну и теперь малина на NVMe сидит, вместо SD карты
R4SAS сборку deb пакетов в GHA починят сегодня, уже отрепортил
weko orignal: я вижу ты решил сразу RI хранить, по сути логично. Но я бы их ещё и какой нибудь список добавил, не знаю. Для подсчёта можно счётчик использовать
weko немножко про "наболело":
weko 1) нужно починить перезагрузку конфига туннелей и сделать отдельной функцией перезагрузку transient ключей (желательно отдельно :) )
weko 2) по поводу туннелей и затыков - нужно чаще проверять туннель по которо��у идут данные сейчас и тот, на который планируется сменить (не исправит затыки, но они будут не настолько долгими)
weko 3) нужно написать понятную инструкцию по настройке туннелей, чем я могу заняться, возможно сегодня
weko 3 это не наболело, это просто лучше чтобы было))
Vort решил я получше рассмотреть одну проблему и возникли некоторые вопросы
Vort orignal: умеет ли i2pd сам определять свой ygg адрес или обязательно этот адрес надо указывать в конфиге?
R4SAS Vort: по умолчанию возьмет 2XX: если игг локальный
Vort ок, спасибо. попробую. правда, это усложняет ситуацию
Vort я пытаюсь понять, сколько акцепторов нужно для нормальной работы клирнет v6 + ygg v6
Vort ну а вот в коде i2pd, похоже, один
R4SAS нет
R4SAS в коде то один, но для ygg вызывается этот же, только указывается адрес
Vort один, похоже, уничтожается и создаётся сразу другой
R4SAS он в отдельном RunnableService
R4SAS GetService ()
R4SAS лось скоро будет, ответит
orignal Vort умеет конечно
Vort ок, тогда следующий вопрос про акцепторы
orignal 2 ацептор один для v4 другой для v6
Vort вроде бы надо два v6, но в коде переменная только для одного
orignal если у тебя на :: то один v6
orignal если приявязка к разными интерйесам то сделает два
orignal можно в приципе вообще один ацептор сделать и на 4 и 6
orignal но я опять же этот код добавлял позднее потому не сделал
orignal weko так счетчик же есть
orignal polistern кстати твоя почередь
polistern Куда?)
Vort "<~orignal> если у тебя на :: то один v6" по факту я это вижу. но, похоже, такой эффект идёт из-за фейла одного из акцепторов
Vort "<~orignal> если приявязка к разными интерйесам то сделает два" - так переменная только одна. разве первый не уничтожится при создании второго?
orignal Vort ты прав да
orignal там похоже не сделано жто
orignal в случае когда адрес ipv6 и ygg указаны явно
orignal как обычно собирался сделать не сделать
polistern orignal, куда очередь то?
orignal на реализациб DHT в коде
orignal давай у себя тоже на основе того что у меня в KadDHT лежит
polistern Ааа, так то да, но при 20 живых узлах прироста не будет явного) Но поменять буквально пару переменных получается... На выходных гляну.
Vort мне кажется, что код должен осознанно создавать один акцептор в случае, когда два не нужны. сейчас это, похоже, получается в результате ошибки при создании второго
orignal Vort должно быть 3 если у всех локальные адреса разные
orignal но я как обычно это не сделал
Vort то есть, вариант с двумя прибитыми адресами, скорее всего, будет глючить, да. но и другие варианты работают не совсем корректно сейчас
orignal счас ygg + ipv6 работает когда ygg адрес явно не указан
Vort работают, видимо, когда хоть что-то явно не указано
orignal ну да
Vort и удаётся повесить акцептор на ::
orignal именно так
orignal говорю же не сделал
orignal собирался а не сделал
Vort да я просто уточнил, что там все варианты надо обдумать, а не только явно нерабочие
Vort с чего же я начал разбирательство: error - NTCP2: Accept ipv6 error Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения
orignal надо
orignal в свое время ygg добавляли сбоку
orignal потом добавили привязку к адресам
orignal ну логично
Vort вот та ошибка - это не нормально даже при условии, что ygg у меня полностью нормально работает
orignal значит у тебя выходящие по ipv6 не работают
Vort у меня, кстати, ygg адрес прибит, а клирнетовый - нет
Vort работают, в том то и дело )
weko orignal: кстати, помнишь тот прикол с подменой портов, и то, что он резко пропал? А не могла ли это быть попытка атаки?
orignal weko и как работала эта атака?
weko Какие то пиры слали неверные порты
orignal так ты же сам видел снаружи
orignal причем тут пиры?
Vort иногда надо разбираться также, почему код работает при том, что по логике он работать не должен. бывает, что два бага друг друга компенсируют, к примеру :)
weko Это было другое
weko Вот что меня навело на такую мысль
weko Что статус Full Cone NAT ставиться очень редко
orignal не видно см ысла в такой атаке
weko Тоесть порт неверных приходит не так уж часто
weko orignal: а я вижу
weko Сделать так, чтобы пиры отключили флудфилы и ставили U
weko Ну тоесть переставили публиковать адреса
orignal так надо захватить много узлов для этого
orignal иначе все равно 5 придет
weko Всё равно ведь странно что оно резко пропадало
orignal ничего странного
orignal логику просто поменяли
weko А обрабатываются только те сообщения только пиртестов, заброшенных нами?
orignal polistern то что сегодня 20 узлов не значит что завтра не будет 20K
orignal там счас хитро
orignal мы же это обсуждали
polistern А ты оптимист)
orignal polistern на так знаешь ли были времена когда ipv4 был на каждой сетевой карте с выходом в интернет ))
orignal реальный
orignal и по диалапу даже поклбчаеюся можно было получить сколько требовалось
polistern Это да, было время) Да надо ещё правки внести, про которые Джефф говорил.
weko Я почему спрашиваю - не может ли быть, что нам присылают 5 сообщений, а мы не смотрим, запрашивали ли мы их
weko 5 сообщений подряд именно
orignal ну смотри при тысяче флудфилов все работает нормально
orignal при 8 тыс уже начинаются проблемы
orignal weko мы nonce проверяем
weko orignal: тоесть?
orignal когда мы начинаем пиртест
orignal каждой серии присваивается nonce
orignal потому незпрашенное прислать не получится
weko Тогда окей
orignal кроме того оно же обязательно содержить подпись
orignal твою
weko Ну подпись понятно
weko обнаружил очень интересную вещь
orignal давай
weko забыл как называется
weko короче в b32 для служебных целей
weko висит застрявший стрим
weko нету лиссетов, а стрим висит
weko при чём received не 0
Vort а что за стримы там? скачка адресбука?
weko я не знаю...
weko но сам факт что стрим висит, лиссета нету
Vort destination секретный?
weko а received не 0
Vort может по нему будет понятно
weko не знаю... я бы не стал лишний раз говорить... одно могу сказать, что локальный b32 в списке моих туннелей нету
Vort не shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa ли?
orignal shared local destination
weko Vort: нет
weko orignal: во!
orignal адресбук это
weko дааа
weko а почему висит то?
orignal через несколько минут закроется
Vort веб сервер тупит, небось
weko Vort: лиссетов нету
weko вебсервер тут не при чём
orignal значит бага в стриме
orignal тут смотреть надо короче
weko RTT почти 8 тыщ
weko и не меняется
Vort нет потока данных - нет изменения RTT
weko надо что-то в логах смотреть?
Vort поищи лучше чей destination
orignal да адреная книга это
orignal ничего другого там не бывает
Vort в addresses.csv глянь, есть ли он
orignal раз стрим есть значит лизсет был
weko <Vort> поищи лучше чей destination
weko я не думаю что это имеет значение
orignal почему не закрылся вот x3
orignal бага
weko надо смотреть тогда, бага может не приятная, если повторится в стримах юзера
Vort "<weko> я не думаю что это имеет значение" тебе не интересно, с чем устанавливает коннект твой узел?
weko поэтому я и спросил про логи
weko Vort: так лось же сказал, скачивание адресной книги
weko с подписок
weko один из адресов указаных в конфиге, хочешь посмотрю
Vort weko: то есть, что-то отличное от reg.i2p ?
weko ну так подписка не одна и не две
orignal да эта бага годами
orignal так поищи в адресах
weko щас посмотрю
Vort может, бага вылазит при взаимодействии именно с этим узлом
Vort может, он перегружен, допустим
weko это не значит что наш узел не проблемный
weko точнее проблема точно есть на нашем узле
Vort воспроизводить может быть проще
weko ъэто джа
weko это да
weko stats.i2p
weko )))
orignal ааа так он отключен
weko в любом случае проблема
weko что лиссета нету а стрим есть
orignal проблема что лизсета нет а стрим есть
orignal посмотрите в addressbook.cpp
orignal логику
orignal ну или я
orignal или может лизсет то есть а сам узел не отвечает
orignal я не уверен
weko смотри, данные такие: лиссета нету, received не 0, rtt почти 8тыщ, stats.i2p скачивание адресбука, висит долго
orignal так лизсет наверное был потом истек
weko ну это понятно
orignal почему стрим не закрылся это вопрос
weko я поэтому и сказал что received не 0 - значит данные текли
orignal там может отлуп какой
orignal надо смотреть что за данные
weko 86 байт
weko пришло
orignal отлуп значит
weko но стрим не закрылся
weko уже понятней
orignal SYN был был поболее
orignal вот надо смотреть логику
orignal а мне счас некогда
weko это в Streaming.cpp ?
weko всё ещё висит кстати ))
orignal там же кнопка есть "закрыть"
orignal она там не просто так )))
weko да я вижу
weko просто хочу посмотреть сколько будет висеть
orignal вечно
R4SAS shx5 это рег
weko kqyp - stats
R4SAS не вечно
R4SAS оно будет висеть 5 таймаутов
weko а один сколько?
R4SAS не помню
R4SAS я помню что еще таймаут увеличивается
orignal ну подожджем
orignal и да надо код смотреть
weko else if (flags & PACKET_FLAG_CLOSE)
weko if (m_Status != eStreamStatusClosed)
weko SendClose ();
weko m_Status = eStreamStatusClosed;
weko Terminate ();
weko а если нету флагов?
weko 267-273
weko а стоп
weko понял))
weko другой вопрос что если флаг не задан по каким то причинам, мы тогда думает что стрим ещё существует, видимо
weko мы думаем*
polistern orignal, это у тебя двусвязный список в DHT узле? Хитёр)) Теперь поняла то, что ты мне говорил про рекурсию и деревья)
R4SAS polistern: да ему самому втолдычивать пришлось)))
polistern А я подумала сам придумал так)
weko тогда тут сразу две проблемы - в Addressbook.cpp и в Streaming.cpp
weko первая что стрим не закрывается по таймауту (нормальному)
weko вторая, что стрим не закрывается опять же по таймауту, но тут уже нам не приходит ответ на уровне i2p (ни лиссета, ни данных)
weko polistern: ну это я подсказал как сделать, но я проверил свои догадки по одной статье, где описывается алгоритм
R4SAS orignal: натянул на одну из двух рег нод
R4SAS вроде разница не заметна
R4SAS либо не очень существенав
R4SAS 1000 записей опрошены за 4 с лишним минуты
R4SAS через 10 минут следующий заход, посмотрю еще раз
orignal а по нагузке?
weko время я думаю тут больше зависит от сетевого взаимодействия
orignal R4SAS главный вопрос нормально ли опрашивабтся записи
orignal на предмет того не поломал ли я чего
polistern weko, элегантное решение, как по мне. Кто его предложил именно так сделать и использовать - тот и молодец :3
R4SAS orignal: я не следил
weko polistern: :D
orignal polistern ты про DHT?
orignal да. идея weko можно сказать гениальна
weko orignal: i2pd умеет ходить в поддиректории в tunnels.d ?
orignal делать ветвление по биту
orignal weko нет
orignal не сделано... )))
R4SAS и не нужно
weko ладно, значит аккуратной сортировки не будет... ))
R4SAS по имени файлов делай
weko R4SAS: ну почему, я вот хочу аккуратно разложить
R4SAS 00-abc.conf
weko да понятно что сделаю...
R4SAS 01-abd.conf
R4SAS и тд
weko ну я примерно так и делаю
weko просто с директориями по удобней, как по мне
R4SAS флаг в руки, барабан на шею
R4SAS CI сборку деб пакетов починили
weko orignal: i2p.streaming.initialAckDelay - эта опция может быть разная для разных стримов?
weko чисто физически
R4SAS она на туннель ставится
weko это как раз таки да
weko но если возможно разные значения для разных стримов делать - то тогда это недочёт
weko с тэгами кстати тоже самое
orignal вроде ее в опциях передавать можно
orignal при запросе стрима
weko <~R4SAS> она на туннель ставится
weko а стоп, ты имеешь ввиду не на destination, а на именно туннель? тогда это не проблема, кроме неточности документации
R4SAS weko: не знаю, смотреть надо по коду
orignal weko_ я не понмю передается ли она в опциях стрима
orignal там же у него много чего передается
weko orignal: странно - не работает shared destination для шифрованного лиссета
orignal в смысле?
weko в плане несколько серверных туннелей не создаётся
weko только один
weko первый
orignal ну возможно
orignal я не проверял это
orignal ты хочешь несколько серверных тоннелей на одном адресе с шифрованным лизсетом
weko да
weko на разных портах конечно
weko inport не писал кстати, потому что он одинаковый с port
orignal так напиши
orignal в обоих
weko хорошо, проверю
orignal R4SAS а не сделать ли нам новый релиз госткойна?
R4SAS orignal: там нечего релизить
R4SAS или ты чего то там делал?
orignal во первых переход на 0,4
orignal во вторых выпилил мамбетова из стартовых узлов
R4SAS еще бы зачистку peers
orignal ну и естественно новый opessl
R4SAS который растет хз куда
orignal я не знаю пока как ее делать
orignal надо разбираться в коде
orignal мамбетов сказал у него этого узла больше нет
orignal и вообще он и адрес проебал
orignal как обычно
R4SAS дык обычное дело
orignal для него да
R4SAS ни сколь не первый раз
orignal просто я попытался стартоавтьс нуля и что то вышло хуево я стал смотреть стартовые узлы
R4SAS у меня на пуле пока что ш2зв отрублен
R4SAS так что ты и туда не мог подрубиться
R4SAS сейчас попробую запустить конечно
orignal ну да
orignal да счас свою поставил так пашет
orignal я вот его не понимаю
orignal ну не хотел больше заниматься передал бы адрес другим
R4SAS дык шизик же
R4SAS да, мамбет?
orignal он точно не шизик
R4SAS (если он тут конечно)
R4SAS ну параноей тоже не назовешь)
orignal это похуизм
orignal и безотвественность
orignal еще я думаю openssl 1.0.2 оттуда тоже выкинуть
R4SAS давно пора
R4SAS но стоит ли оно того, особенно учитывая что мы на 0.8
R4SAS сейчас раскочегарится ш2зв на пуле
R4SAS поставил транк
orignal так собирается же с 1.1 везде
orignal и работает
orignal нахуй там держать такую древность?
R4SAS лол, я ygg пир вижу там
R4SAS при чем не один
orignal так ему ж без разницы какой ipv6
R4SAS понятное дело, просто факт
R4SAS вероятно что это s1-s2 между собой
orignal и неболсь с шифрованием 0
R4SAS не помню адреса
R4SAS надо еще как то длину поменять... 3 - много
orignal а надо?
orignal чем тебя 3 не устаивает?
orignal то есть поменять это вообще не вопрос
orignal там где то константы есть
R4SAS параметр бы вынести
orignal так есть параметры
R4SAS так 2 достаточно
orignal вроде бы ...
orignal ты же знаешь что нет
orignal для полной анонимности надо 3
R4SAS для полной. а тут разговор о публичной ноде
R4SAS которая еще своей жопой в клир пашет
orignal где то есть параметрах это
orignal на QT морде точно
orignal скорее всего и в безголовой в конфиге
orignal даже если нету такой параметр добавить легко
R4SAS SAM_DEFAULT_I2P_OPTIONS
R4SAS -i2poptions
R4SAS #define I2P_SAM_I2P_OPTIONS_DEFAULT SAM_NAME_I2CP_LEASESET_ENC_TYPE "=" SAM_DEFAULT_I2CP_LEASESET_ENC_TYPE // i2cp.leaseSetEncType=0,4
R4SAS #define SAM_DEFAULT_OUTBOUND_LENGTH 2
R4SAS это в i2psam.h, но почему тогда строит 3,
R4SAS хм.
orignal ну это просто откуда то скопировано
orignal ну да я постаил 3
orignal это в гвк было 2
R4SAS не вижу чего то
R4SAS ощущение что оно игнорится
R4SAS точнее его вообще не передает
R4SAS и берется дефолт из ш2зв
R4SAS а параметры i2cp в SAM передаются через пробел?
orignal да так и есть
orignal inbound.nickname=GOSTcoin-client SIGNATURE_TYPE=7 i2cp.leaseSetEncType=0,4
orignal все что передается
orignal но это если по умолчанию
orignal ну веб морде есть настройки но куда они передаются надо смотреть
orignal видать не доделал как обычно
R4SAS вот так сделаю
R4SAS i2poptions=i2cp.leaseSetEncType=0,4 inbound.length=2 inbound.lengthvariance=1 outbound.length=2 outbound.lengthvariance=1
orignal себе?
orignal не надо так
orignal надо из конфига брать
orignal в передавать если задано
R4SAS я в конфиг и закинул
orignal не понял
orignal а все понял
orignal дошло
R4SAS только у меня ощущение что брыкнулось
R4SAS потому что сессия появилась, а дест - нет
orignal ну там думать надо
orignal мне счас некогда
orignal посмотри сам
R4SAS Send: SESSION CREATE STYLE=STREAM ... inbound.nickname=GOSTcoin-client SIGNATURE_TYPE=7 i2cp.leaseSetEncType=0,4 inbound.length=2 inbound.lengthvariance=1 outbound.length=2 outbound.lengthvariance=1
R4SAS Reply: SESSION STATUS RESULT=OK
R4SAS смотрю в SAM sessions - а там этой сессии нет. только старая
R4SAS GOSTcoin-client (OLDSESSION)
orignal ну так смотри ошибки в i2pd
R4SAS придется
R4SAS SAM завис. не дает остановить ш2зв
orignal цепляйся отладчиком
R4SAS отладочных символов нет, бессмысленно
R4SAS сейчас накачу их, посмотрим
R4SAS вот так оно при перезапуске сделало
orignal ничего непонятно
R4SAS 17 Thread 0x7ff9f3fff700 (LWP 2251730) "SAM" __lll_lock_wait (futex=futex@entry=0x555e8e109c38, private=0) at lowlevellock.c:52
R4SAS (gdb) x/3d 0x555e8e109c38
R4SAS 0x555e8e109c38: 2 0 2251714
orignal ну это нормально
orignal жлдет готовности дестинейшина
R4SAS RC крч опять. ступор на блокировках
orignal стоть
orignal а нет нормально
R4SAS я пока что держу gdb, можно вытянуть
orignal я думал опять рекусия
R4SAS крч 2 треда опять друг друга ждут
R4SAS i2p::client::SAMBridge::FindSession (this=0x555e8e109b10, id="ZTMDG") --- это старый ID, который остался висеть
R4SAS i2p::client::SAMBridge::FindSession (this=0x555e8e109b10, id="OLFPEQOY") --- это новый, который вообще не появился
orignal осталось понять почему у старого мьютекс не разблокировался
R4SAS потому что его не вычистило корректно
orignal это не два треда это один и тот же тред
R4SAS как к этому придти: gostcoind stop
orignal ну понятно опять лажа в сэме
R4SAS а вот нет
orignal ну а что это?
R4SAS старый висит в SAM треде, а новый в daemon
orignal а ну логично да
orignal кстати почему в демоне?
R4SAS Daemon_Singleton::stop
R4SAS я же говорю, я вызываю остановку и начинается висняк
orignal так ты останов делаешь что ли?
orignal остановку чего?
R4SAS ш2зв
orignal гостокойна или i2pd?
R4SAS после того как сессия не убивается
R4SAS еще раз, по порядку
orignal <R4SAS> как к этому придти: gostcoind stop
orignal ну тогда понятно
R4SAS сначала я делаю остановку гст
orignal да я все понял
orignal ты не сказал что отсналиваешь
orignal я думал висит при создании новой сесии
R4SAS старая сессия не пропадает из SAM хз почему
R4SAS запускается гст, он пытается запустить новую, но получает отлуп ибо дест живым считается
orignal ну это старая проблема
R4SAS потом уже я пробую остановить ш2зв и получаю блокировку
orignal так это всегда такое было
orignal надо разбираться
orignal опять же все надо
R4SAS сейчас попробую дебаг врубить
orignal но некогда
R4SAS дебаг вообще мало чего дает
R4SAS ну, стрим закрылся
R4SAS а сессия нет
R4SAS sessionHolder_ = std::make_shared<SessionHolder>(s);
R4SAS void StreamSessionAdapter::StopSession ()... sessionHolder_ = nullptr;
orignal ну x3
orignal мне счас некогда
weko_ orignal: с разными inport работает. ну ты понял что нужно исправить
weko_ точнее с вообще указаными inport
orignal так это уже говорили
orignal надо в документации поправить
orignal что если несоклько то надо inport у все
weko_ лучше сделать чтобы работало
orignal не лучше
weko_ исходя из просто port=
orignal там была какая то причина для этого
weko_ так просто же алгоритм, если нету inport, значит он равен port
weko_ разве не так?
R4SAS не так
orignal там все сложнее
orignal там если нету inport то он назначается по умолчанию
orignal всегда и всем
R4SAS да
weko_ понятно
weko_ тогда оке
orignal там своя логика работы
weko_ надо поправить
orignal надо в доках прописать
weko_ ты рассказывал
weko_ про логику я знаю
R4SAS первый туннель всегда слушает inport и 0
weko_ просто про конфиг не знал
R4SAS а последующие только inport
R4SAS как пример - irc.r4sas.i2p
R4SAS любой запрос на любой порт будет перенаправлять на 6667
R4SAS если обращение конкретно на 80 - то будет вебморда
R4SAS ну и 6695 еще есть, там znc
weko R4SAS: знаю про логику подключения, не знал про логику конфига
R4SAS так вроде логика конфига уже не раз описывалась тут
weko вероянто, меня тут тогда не было
R4SAS и с тобой, и без тебя
R4SAS много раз
weko ссылка один - там нету про несколько портов... это другое, там вообще про клиентские порты
weko а вторая - меня не было
weko_ тестировали работу Mindustry - оказалось, нужно поставить дефолтный ЛОКАЛЬНЫЙ порт, и тогда работать будет, любой другой порт не работает. сейчас будем писать им иссуй
weko_ тоесть, видимо, клиент передаёт порт, на который он подключается, он не совпадает с тем, который у сервера - и вылезает ошибка
weko сейчас всплыла какая то проблема либо несовместимости i2pd и java i2p либо же проблема java i2p... сейчас будем проводить тесты
orignal все сделал отдельный тред для расшифровки сообшений роутера
weko_ отлично)
weko_ orignal: ксстатииииииии... нам тут внезапно meta leaseset понадобился... это просто сказать, что потребность появилась.
weko_ он ведь позволяет сделать сделать сервисы на разных портах на разных роуте��ах ? условно inport 1 на роутере A, inport 2 на роутере B, но при этом один b32 ?
orignal он не реализован
orignal не знаю
orignal инетресный вопрос
weko_ <~orignal> он не реализован
weko_ вот я как раз и говорю... чтобы ты знал, что потребность сущетсвует) если конечно там такая фича есть
weko_ orignal: в нашем случае мы хотим несколько серверов игр запускать с разных роутеров на одном адресе
orignal подумать надо
weko_ аа?
orignal оказывается на флудфиле рашифровка занимает приличную долю проца
weko_ ох
orignal как и предполагалось
weko_ Антошка, Антошка, пойдём писать джавистам!
orignal так что вынесение в отлельный тред было правильным рещением
orignal самое главное что теперь трафик не затормаживает
weko_ конечно
weko_ не будет во время атак стуканья в 100%
weko_ учитывая оптимизации
weko_ dht + отдельный тред
weko_ вот бы проверить.... ))
orignal не в этом дело
weko_ а в чём?
orignal тормоза в транспортном треде который обслуживает тысячи соединений это вещь неприятная
weko_ а ну да
weko_ может и рабоать лучше будет ))
Vort а я этот тред даже найти пока что не могу )
weko_ мне правда щас не до обновлений, мы тут с леопольдом пытаемя отловить баг
weko_ с миндастри
weko_ тот самый
weko_ хотели проверить как будет работать в джаве - так не нашли как созадть udp серверный туннель
weko_ ну я спросил у них там в чате
weko_ пока что решили проверить снова с i2pd
orignal у них нет UDP тоннелей ))
orignal у них надо отдельную прогу streamr запускать
weko <~orignal> у них нет UDP тоннелей ))
weko есть
weko но похоже нету серверного
weko точнее он называется серверный, но по факту клиентский
weko тот самый streamr
orignal кстати наблюдение
orignal похоже число флудфилов зависит от времени суток
weko довольно таки логично
orignal ну нет
orignal флудфил должен по идее работать круглые сутки
weko в идеале))
weko идеала нету)
orignal ну так можно новую эвристику
weko ну надо сделать профилирование чтобы минимум было 90 процента аптайма
orignal флудфил с низким аптаймом флудфилом не считать
orignal угу
weko иначе брать флудфил реже
weko я думаю надо просто реже его использовать
orignal я все говорю деду что надо ужесточать требования к флудфилам
weko до 50%
weko а ниже вообще не брать
orignal а то добром это не кончится
orignal вместо годных флуфилов будет всякое говно
orignal неспособное держать нагрущку
weko orignal: у нас появилось подозрение откуда баг
weko udp же писал другой человек
orignal ну да
orignal и его зовут jeff
orignal у нас
weko в tcp точно известно, что выбирает 127.0.0.0/8 адрес на основе b32
Leopold_ heeey jeff C:
weko а в udp также?
orignal так спросите у него
orignal пока он здесь
weko jeff: Udp use address from 127.0.0.1/8 like TCP does ?
orignal UDP tunnel
weko yes
weko orignal: суть в том, что возможно если коннект с одного адреса, и с одним и там же клиетским портом (как в udp), то игра думает что мы с одного адреса
orignal так посмотрите в коде
orignal как отсылается пакет
weko у меня изначально было такое предположение, но сейчас мне показалось странным, что один из игровых действий сихнронизируца с леопольдом
weko тоесть что делаю я - то и делает он (как я вижу)
weko даже два момента
weko постройка и снос, добыча
weko движение не работает скорее всего из-за логики кода движения в игре, как я предполагаю...
orignal if(m_IsUniqueLocal && m_LocalAddress.is_loopback())
orignal auto ident = from.GetIdentHash();
orignal addr = GetLoopbackAddressFor(ident);
orignal addr = m_LocalAddress;
orignal boost::asio::ip::udp::endpoint ep(addr, 0);
orignal на линуксе должно работать
weko похоже что игра не различает разные адрес loopback... возможно
weko надо сделать дамп
weko Leopold: сделаешь?
Leopold Я пробую java i2p
Leopold Сделать сперва дамп?
weko давай
weko нам нужно понять, точно ли разные адрес
weko потом ешё кое что посмотрим
Vort "<~orignal> оказывается на флудфиле рашифровка занимает приличную долю проца" какая функция должна быть самая прожорливая?
Vort дело в том, что я вообще не вижу нагрузки в этом потоке (точнее, не вижу потока)
Vort или я где-то ошибся или условия другие
orignal он называется Router
orignal именно флудфил
orignal если
Vort названия так просто в винде не словить, к сожалению
Vort поэтому спрашиваю про функции
Vort да, флудфил
orignal RouterIncomingRatchetSession::HandleNextMessage
orignal думаю она будет
Vort ок, поищу
orignal так расшифровка идет
orignal которая вызывает RouterContext::Decrypt
orignal а эта ECIESX25519AEADRatchetDecryptor::Decrypt
orignal а там Agree для x25519
Vort еле нашёл. в общем, получается вот так:
Vort i2pd в среднем сейчас потребляет около 2% всего моего CPU
Vort тред с той криптой потребляет 2% от всей загрузки i2pd
Vort и в треде с криптой 99% времени CPU уходит на синхронизацию (GetQueuedCompletionStatus) и 1% на крипту
Vort то есть, эта крипта (i2p::garlic::RouterIncomingRatchetSession::HandleNextMessage) ест у меня в итоге 0.0004% от всего CPU
Vort неудивительно что я за ней больше часа гонялся :)
weko_ Vort:" пол дня за ней гонялся!"