IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/05/06
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
AreEnn
Leopold_
Most2
Nausicaa
Nikat
Opax
Vort
WayBest
`
acetone
anon2
anontor
b3t4f4c3
banona
fidoid
grimreaper
itsAMe
karamba_i2p
ncop
nemiga2
onon
onon1
overflow
polistern
poriori
profetikla
qend
r00tobo
soos
teeth
tensor
typhoon_
uis
un
user
weko
whothefuckami
колдыр
` Видел в клирнете видос, 2023-2024 года, где главнюк какого-то гусского журнала по киберсекурити рассказывал, что ВПН через 2-3 цепочки это очень медленно и такого нет, и этим пользоваться невозможно.
` Када апдэйт7
` Жду недождусь увидеть "TCSR: 146%"
orignal так посмотри как в веб морде печатается и сделай также
onon Remote LeaseSet is older. Not updated
onon Или мы шлём с неправильным временем, или проверяем его неправильно
onon Перепроверь код, если не занят
relaybot 13mittwerkz: 403 Denied
relaybot 13mittwerkz: Inproxy access denied. You must run I2P to access this site.
relaybot 13mittwerkz: как это обойти?
relaybot 13mittwerkz: zzz.i2p
weko Поставь User-Agent как у http прокси
weko Или используй http прокси
orignal занят
orignal mittwekz используй http прокси
` Это те самые ограничения на количество коннектофф или очередное ОНАЛное ограждение от "дудоса"?
` То есть ещё что-то выдумал?
onon Похоже, он всё-таки проверяет не дату публикации а дату истечения туннелей
onon for (int i = 0; i < num; i++)
onon size += 36; // gateway (32) + tunnelId(4)
onon auto endDate = bufbe64toh (buf + size);
onon size += 8; // end date
onon if (!timestamp || endDate < timestamp)
onon timestamp = endDate;
onon return timestamp;
orignal да ты прав
orignal я вспомнил почему так не сделано
orignal ты смотришь LS1
orignal а у него нет published time
orignal я даже всмонил что я собирался этот поправить и почему не сделал в свое время
onon1 LS1 это какое-то легаси?
orignal это старый тип лизсета который уже практически не используется
onon Тогда не понятно, почему мне приходит лизсет, принимается, а через 30 сек приходит новый и не принимает, пишет, что старый
onon И их очень дофига таких сообщений Remote LeaseSet is older. Not updated
orignal как раз понятно
orignal потому что проверяется время истечения самого последнего тоннля
orignal а оно не меняется
orignal проверять же надо время публикации которого нет в LS1
orignal ну переделаю я это короче
onon Ты меня короче запутал с этими LS2 LS1
orignal ну так
orignal раньше был LS1 потом появился LS2
onon Ну проверка для LS2 вроде нормальная
onon bool LeaseSet2::IsNewer (const uint8_t * buf, size_t len) const
onon return ExtractPublishedTimestamp (buf, len, expiration) > m_PublishedTimestamp;
onon Там публикацию должен проверять
orignal вот это надо проверить как оно сделано там
onon В общем, займись, как будет время.
orignal в принципе да должен
orignal тогда вопрос
orignal ты видишь это сообщение на клиенте или на сервере?
onon Сложно сказать точно
orignal если на клиенте то он сам может перезапрашивать
onon Скорее на сервере
orignal а вот если на сервере то это надо изучать
orignal с какой стати клиент станет слать тот же самый лизсет
onon Ну так я смотрю он на каждый стрим шлёт
onon Даже если от одного дестинейшена
onon Вроде и логично, а вроде хз
orignal он шлет с каждым сооющением пока не получает подтверждение
orignal и кстати да в этом и есть причина
orignal может лизсет отправить несколько раз
onon Так он что кучу оверхеда генерит?
onon На стримовых пакетах
orignal ну а что делать?
orignal ладно опять же уточню у деда
orignal надо смотреть код ECIES как оно делается
orignal if (GetLeaseSetUpdateStatus () == eLeaseSetSubmitted && ts > GetLeaseSetSubmissionTime () + LEASESET_CONFIRMATION_TIMEOUT)
orignal // resubmit non-confirmed LeaseSet
orignal SetLeaseSetUpdateStatus (eLeaseSetUpdated);
orignal const int LEASESET_CONFIRMATION_TIMEOUT = 4000; // in milliseconds
orignal так что он кидает не чаще чем раз в 4 секунды
orignal так что посмотри какие интревалы там между сообщениями
onon Ну штук 8 в секунду
orignal они точно все с одного дестинейшина идут?
onon Да
onon там много стримов
onon С одного
orignal 8 в секунду явно что то ненормальное
onon Я не знаю как вывести правильно дестинейшн, я сделал так "Destination: Remote LeaseSet ", key.ToBase64 (), " updated");
onon Там одинаковые key
onon В логе
orignal ну правильно сделал
orignal если не шифрованные
orignal надо разбираться
orignal попробуй перехватить этот блок в ECIES
onon Они пачками приходят
onon С интервалами в 30сек - минута
onon Но это когда много стримов
orignal void GarlicDestination::HandleECIESx25519GarlicClove (const uint8_t * buf, size_t len)
onon Когда один, шлёт редко
orignal вот здесь
orignal они все типа local
orignal и дальше
orignal bool LeaseSetDestination::HandleCloveI2NPMessage (I2NPMessageType typeID, const uint8_t * payload, size_t len, uint32_t msgID)
onon Погоди, может это просто при создании стрима шлётся
orignal case eI2NPDatabaseStore:
orignal HandleDatabaseStoreMessage (payload, len);
orignal break;
onon Просто много стримов одновременно создаётся у меня
orignal да это может быть
onon Они так пачками создаются, когда картинки запрашиваются
onon Отбой
onon А вот с устаревшими лизсетами через 30 сек нужно бы разобраться
orignal да потому что там создаются несколько сесий
orignal а что с ними?
onon Это кстати твой ирк мне шлёт
onon Или дедовский не знаю точно
orignal объясни толком что не так
onon Ну я писал, он прислал лизсет, я его принял, а через 30 сек приходит новый, а я его отклоняю
onon Потому что он старый
orignal точно такой же?
onon Ладно бы пару секунд, может задержался
onon Но 30
onon Этого я не знаю
onon Я только вижу откуда пришёл
orignal так возможно где стоит принудительная отправка через 30 секунд
onon Не обязательно 30
orignal суть то претензии в чем?
onon там с разными интервалами приходят
orignal что приходить не должен или что?
овощусь R4SAS, там с андроид 10+ глюки похоже
овощусь странно работает
овощусь попинать надо чтоб Application started стало
овощусь это к отчёту Сэма
овощусь R4SAS, в ассетах нет subscriptions.txt
orignal ну так какие будут соображения насчет NetdbRequests вынести в отдельный тред?
Vort измерить нагрузку надо вначале. если действовать наугад, то можно на общение между потоками потратить больше ресурсов, чем высвободится от вынесения в отдельный поток
Vort вообще, основную часть оптимизаций (за исключением тривиальных) желательно перепроверять с помощью профилирования
orignal моя мысль что один поток не будет затромаживать другой
orignal ты когда последний раз пересобирал флудфил?
Vort сейчас на 2.51.0-53-gb91f5a74
orignal это от какого числа?
Vort 3 days ago fixed race condition on stop
Vort "<~orignal> моя мысль что один поток не будет затромаживать другой" ну это теория. может, этого торможения и так мало
Vort точнее, даже не так - торможения может быть меньше, чем от функций синхронизации между потоками
orignal так там и не будет сихронизации
orignal я просто хочу все операции за запросами перекидывать на другой тред
Vort ну тогда может и стоит
orignal ну и я хочу обычный boost::io_service там
orignal а не то что в netdb сделано
Vort хм. мне казалось, что эти сервисы на ровном месте жрали ресурсы
Vort или они реально только когда надо дёргаются?
orignal они обычно на epoll-е висят
Vort что это значит? если не будет запросов - будет активироваться поток сервиса или нет?
orignal нет
orignal он работает только когда задания есть
orignal нет заданий он все время спит
Vort странно. надо будет мне когда-нибудь перепроверить
Vort глянул сейчас - вроде действительно некоторые потоки спят подолгу. значит, мне показалось что-то не то
Vort проблема, наверно, проявляется тогда, когда много мелких запросов
orignal значит накопились запросы
orignal я же так шифрование для роутера вынес в отдельный тред
orignal в смысле расшифровку
Vort x25519_fe51_mul, ага
orignal но ведь в NetdbRequests бывает аналогичное только в другую сторону
Vort короч, я понял, что я толком не знаю, как измерять оверхед синхронизации (ZwRemoveIoCompletion к примеру)
Vort он явно есть, но измерял я его раньше, скорее всего, неправильно. и из-за этого путался
orignal он есть но обычно мизерный
orignal оверхед в основном от пеерключения тредов когда их слогком много
Vort то есть, часто и по мелочам потоки дёргать не стоит
Vort но вот как измерить, мелочь или нет какая-то нагрузка - я пока что не понял. погуглил немного, но без толку
orignal так вот к теме посдених коммитов
Vort ну я только пул не потестировал получается
orignal переделка запросов на пул сразу привела к тому что память больше не отжирает
orignal по хорошему когда у тебя мого заданий надо пихать в очередь самому а потом только запускать post
orignal и еще std::sample
orignal но ты не сможешь
orignal потому что у тебя 11
Vort бинарники с гитхаба у меня от msys`а
Vort "<~orignal> переделка запросов на пул сразу привела к тому что память больше не отжирает" - у меня и так не отжирает :) атака то закончилась
orignal я думал ты сам собираешь
orignal а у меня на 2RRY отжирало и после атаки
Vort студией я собираю только когда отлаживать надо
orignal а че MSYS не поставишь?
orignal он же нормально на семерку ставится
Vort так стоит. но GUI для отладки нормальный только у студии
orignal а ну понятно я то всю жизнь без всякого гуя пишу
Vort и пробелы в конце строк коммитишь )
Vort я иногда тоже в Notepad++ пишу и потом приходится мусор чистить
orignal ну так понятно что это просто от вставки остлаось
orignal ну у меня счас xed
R4SAS овощусь: subscriptions.txt уже 100 лет как легаси
R4SAS просто выпилить
R4SAS Vort: на ++ есть плагин EditorConfig