~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest29533
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid
flumental
nemiga
not_bob_afk
plap
poriori
profetikla
segfault
soos
teeth
tensor
un
weko_
whothefuckami
copypaste
ok i have a mystery i'm trying to solve and jeff has been no help
copypaste
i am almost certain, one of you stopped me at lp2023 and gave me an i2p sticker. you don't have to /msg me on your normal nick on here
copypaste
but i want to talk more about it
copypaste
hmm. maybe villain. jesus was a communist, indeed.
copypaste
but then again R4SAS is such a strong candidate. lol. maybe i should figure out who is russian, because this person was not. i just can't stop thinking abuot it it was so bizarre.
copypaste
could be BakaOnahole. funny name, fits the profile of someone who would know me.バカ.ニャ
copypaste
if i go offline email copypaste@kittens.ph
copypaste
i'm not trying to dox anyone. idc your real name or shit like that. this is literally craigslist lost connections type shit.
copypaste
may as well ping orignal and Xeha too. complete the set.
copypaste
is anontor even a real thing or a relay
copypaste
real person**
copypaste
HMMMMMM
copypaste
hello
copypaste
reap me
Vort
выкладываю на всякий случай данные по потреблению памяти во время вчерашнего всплеска количества туннелей. особых выводов у меня нет
Vort
пик потребления RAM был [2023-03-20 20:02:30]
fidoid
У меня по графикам количество транзитных туннелей упирается в лимит уже пять дней в районе полуночи по MSK. На нескольких роутерах.
fidoid
Здравствуйте.
Vort
какие-то ночные колебания на графиках я тоже вижу. правда, я вижу начало аномалии чётко в 00:00 UTC
Vort
наверное в "моём" случае это запуск сканирования сети каким-то сервисом статистики
Vort
(я правда, смотрю сейчас только на графики RAM. ну и как побочный эффект на графики количества RI (IdentityEx))
fidoid
У меня не ровно в полночь.
fidoid
privacyiuapxbvxchibibvktvnhtmy3nmd5x5mpan7njkqkfqd4q.b32.i2p/Screenshot_2023-03-21_11-29-13.png
Vort
понятно. значит, это разные явления
Vort
пик в 23 MSK - это тот же пик, что и на моём графике в 20 UTC
Vort
так что дополнительная информация получается в том, что такое происходит каждый день
tetrimer
У меня на одном из серверов виден пик роутеров в районе 03:00UTC
Vort
можно будет сегодня последить
Vort
у меня, наоборот, количество роутеров просело
Vort
обычно около 9-10к, во время атаки было 11-12к, а сейчас всего 8к
tetrimer
Раньше - были "горбы" каждый день на графиках и кто-то мне сказал, что "это нормально".
tetrimer
Последние три недели монотонно растет число роутеров.
tetrimer
Version: 2.47.0
tetrimer
Routers: 9089 Floodfills: 888 LeaseSets: 123
tetrimer
Client Tunnels: 84 Transit Tunnels: 3574
Vort
я монотонный рост видел только после длительного оффлайна узла
Vort
до "цели" в примерно 10к
Vort
Routers: 7765 Floodfills: 1049 LeaseSets: 94
Vort
Client Tunnels: 41 Transit Tunnels: 4462
polistern
За месяц роутеров стало незначительно больше, где-то меньше. +/-1000 по моим узлам. За последнюю неделю начал скакать TCSR с 15% до 35%. Падения коррелируют с ростом транзита. В пиках транзит растёт в 3-4 раза (с 2к до 8к, с 6к до 20к).
Vort
есть ли данные по трафику? интересно, связаны ли сейчас пики количества с пиками трафика
Vort
моё значение TCSR, кстати, сейчас 43%
Vort
это при аптайме 1 день 12 часов
fidoid
У меня корелляции по трафику не наблюдается. Только TCSR просаживается, что логично.
polistern
Трафик не менялся в пики
polistern
Да, кстати, началась эта новая пляска 03.17 в 21:30 UTC. Следующие: 03.18 в 16:30 UTC, 03.19 в 20:40 UTC, 03.20 в 19:40 UTC. Как-то нерегулярно.
polistern
Была ещё 16-го просадка в 16:20 UTC, но только на двух узлах.
Vort
экономит ресусры атакующий небось, вот и не гонит теперь трафик
polistern
Хотя скачок транзита в два раза 16-го был на всех узлах.
polistern
Наверное 16-го был пробный запуск, а дальше уже более уверенно пошли. Посмотрим как сегодня будет. Часов через 6-10 должны начать.
tetrimer
Пора обновляться на текущую версию?
Vort
смотря какая сейчас установлена
Vort
если 2.47.0, то этого я думаю достаточно
Vort
если старее, то лучше обновиться. хотя и не обязательно
Vort
основные изменения для защиты от атак были сделаны раньше. хотя всё же в 2.47.0 тоже есть важные. так что лучше всё же 2.47.0 ставить. ну и самый последний коммит тоже нормально работает
tetrimer
Собрал с последним (f41563a) коммитом... Сейчас посмотрим - "какой он Сухов" (с).
polistern
orignal, да, на тестовом роутере запустила тоннель с keepalive до своего сайта и пинг в bob. Доходили только пинги от тоннеля.
polistern
Вот коммит с изменениями: github.com/polistern/i2pd/commit/fbc001f9018f1a658fe2ed165610f5660183e404
orignal
ну так смотри что просиходит
orignal
пинги уходят?
orignal
у тебя в логе Pong есть?
polistern
Да, сообщение есть в логе, что пинг ушёл. На сайте пингов нет, ну и как следствие понгов тоже.
orignal
auto status = localDestination->WaitPong(BOB_PING_DEFAULT_TIMEOUT);
orignal
так нельзя
orignal
а на сайте что в лог приходит по части стримов?
polistern
Что конкретно смотреть? Я так хорошо i2pd ещё не поняла.
orignal
в логе на серверной стороне сообщения Streaming
orignal
в это самое время
polistern
Сейчас грепну
orignal
но я думаю проблема у тебя с WaitPong
orignal
потому что у тебя боб крутится в то же треде что и дестнейшин
orignal
и блокируя тред у тебя там вообще все останавливаемся
orignal
тебе надо ждать понг асинхроннно
orignal
передавая коллбэк
orignal
то что я вызывают синхронные операции из AddressBook так там гарантированно другой тред
polistern
Вот такое по времени подходит на каждый пинг: Unknown stream sSID=NNNNNNNNNNN
polistern
Да это всё сильно сырой код, главное чтобы уходили. А дальше видно будет.
orignal
ну так распечатай значение IsEcho
orignal
ты же видишь код выше
orignal
тут только отлаживать
polistern
Ок, продолжу ковырять.
orignal
странно в чем разница если ты посылаешь на один и тот же адрес
orignal
в одном случае обрабатываются в другом нет
polistern
Так вот да, может там что-то сообщить нужно перед этим? Раз у получателя стрима с таким id нет, значит он его не создал. Правильно понимаю?
polistern
Тоннель и боб внешне одинаково шлют: Streaming: Sending ping with sSID=0, rSID=NNNNNNNNNN. Но если от тоннеля я вижу такие ID в логе цели, то от боба нет. И размер разный, 449 у боба, 477 у тоннеля. Смотрю дальше.
orignal
так у тебя боб с DSA потому и разница
R4SAS
эт че за шизик тут пинговал меня
orignal
шиз какой то
polistern
Надо будет по-практиковаться в асинхроне. Голова гудит, а так и не поняла как на этот колбек таймаут навесить)
orignal
таймером
orignal
и из таймера вызывать коллб
orignal
эк со статусом failed
polistern
Чем понятно, а как пока не вижу. Но я не сдаюсь :3
polistern
orignal, получается в том коде, который ранее скинула, пинг отослаться не успевает и сразу блочится ожиданием?
orignal
void StreamingDestination::ResetAcceptor ()
orignal
{
orignal
if (m_Acceptor) m_Acceptor (nullptr);
orignal
да
orignal
о чем я тебе и говрю
orignal
вот смотри тебе надо по аналогии с ацентором
orignal
при сборе ацептора вызывается коллбэк
orignal
теперь тебе для пинга надо завести таймер при срабатывании которого будет вызываться такой сброс коллбэка
orignal
то есть перед отправокй пинга коллбэк заражаем
orignal
если пришел понг то он его вызовет с параметром success
orignal
одновременно запусчкаем таймер с таймутом
orignal
если success то то таймер отменяем
orignal
если таймер отработал все время то сбрасываем коллбэк
polistern
Хардкорный вводный курс вoost::asio себе устроила) Я по-немногу смотрю код, полезно будет хорошо разобраться. Зря наверное в pboted его не завезла)
polistern
У меня ещё складывается ощущение, что нужен объект Pinger, и нужен он уровенем ниже боба. Но это уже детали конечно.
orignal
смотри в чем дело
orignal
там есть сервис метод run которого крутить в своем треде
orignal
далее мы в сервис набрасываем задания и они через run исполняются
orignal
есть задания типа операции с сокетом или таймера
orignal
или просто явно методом post
orignal
естественно задания ничего блокировать и жлать не должны
polistern
Ну да, основной цикл, а задачи там в очереди. Я примерно представляю.
orignal
да можешь сделать Pinger в Streaming.cpp
polistern
Ок
orignal
а лучше внутри класса StreamingDestination