~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest18377
HackerMan
KabaOS
Most2
Nausicaa
Ruskoye_911
Trusishka
Vort
`
acetone_
anon3
b3t4f4c3
flumental
mittwerk
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
tensor
un
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: как это обойти?
weko
Поставь User-Agent как у http прокси
weko
Или используй http прокси
orignal
занят
orignal
mittwekz используй http прокси
`
Это те самые ограничения на количество коннектофф или очередное ОНАЛное ограждение от "дудоса"?
`
То есть ещё что-то выдумал?
onon
Похоже, он всё-таки проверяет не дату публикации а дату истечения туннелей
onon
for (int i = 0; i < num; i++)
onon
{
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
}
onon
return timestamp;
orignal
да ты прав
orignal
я вспомнил почему так не сделано
orignal
ты смотришь LS1
orignal
а у него нет published time
orignal
я даже всмонил что я собирался этот поправить и почему не сделал в свое время
onon1
LS1 это какое-то легаси?
orignal
да
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
{
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
овощусь
R4SAS, но он пытается его копировать github.com/PurpleI2P/i2pd-android/blob/ca3ef80981ccdca19d84c94783e92784135fac29/app/src/main/java/org/purplei2p/i2pd/DaemonWrapper.java#L257
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