IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2026/02/04
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
GFW
Most
Opax
Yadovitka
Yotsu
ahiru
ananas
anontor
asap
b3t4f4c3___
chud
cry4me
deserving-stegosaur
duanin2
f00b4r
i2p1
karamba_i2p
leopold
mareki2p
n1_
nnm
nyaa2pguy
o3d3
o3d3_
poriori
profetikla
ps
qend
slfd
sonya
test02
tetrimer
un
user
uu2
vade
zzz
orignal is echelon down?
zzz echelon is still up, takes a while to connect, but once you do it seems to stay connected
orignal I couldn't connect like for 15 minutes
zzz drzod is claiming 20% client build success with his fixes, I'm at 10%, trying to get some more ideas out of him
orignal I'm at 12%
orignal drzod? ))
orignal no he is drozd ))
orignal right I build though 0.9.58 and higher
zzz I increased it to 0.9.62 to avoid the 0.9.61 botnet from Christmas
zzz sorry I forgot to tell you
orignal for tunnels? for floodfiils?
orignal I see 3 versions
orignal for tunnels, for floodfiils and for peer tests
zzz I did both tunnels and ffs. I didn't do peer tests
orignal I have min version for peer tests
zzz the christmas botnet isn't ff anyway
orignal so, 0.9.62 for FF and tunnels?
zzz that's what I did, correct
orignal thanks
zzz I have min relay version 0.9.57; min peer test version 0.9.62. Haven't looked at it in a long time
orignal I don't have min relay version
orignal will implement it too
uu2 orignal 5f00447bca3aaec61ddf5d2e7dd0bee7e8697bf Routers: 5431 Floodfills: 1282 LeaseSets: 0 Client Tunnels: 25 Transit Tunnels: 2026, транзитный трафик пошел, просто пишу что с последними обновлениями i2pd "ожил"
orignal да у меня транзит тоже пошел
orignal настоящий трназит имеется ввиду
uu2 Received: 585.51 MiB (175.88 KiB/s)
uu2 Sent: 504.59 MiB (161.98 KiB/s)
uu2 Transit: 368.98 MiB (132.91 KiB/s)
uu2 Uptime: 1 hour, 46 minutes, 2 seconds
orignal почти норма
uu2 крут
uu2 круть, я за NAT
orignal у меня счаст 2 мегабайта в секунду чистого ттранзита
orignal и нет статуса E
uu2 Router Caps: PR Network status: OK (но я за NAT)
uu2 лол
orignal все через меня строят ))
orignal а ну это понятно почему
orignal много соединений потому что
uu2 лол
orignal ну это старая проблема
uu2 ака публичный пир yggdr
orignal там не понтяно сколько интревал ставить
uu2 есть догадки в чем прообблема ?
orignal с OK?
orignal угу
orignal на всех роутерах разное время жизни дырки
orignal а сколько надо не понтяно
uu2 я то обновленныйы upstream использую
uu2 пон
orignal я понимаю
uu2 ветка openssl основная ?
uu2 ок
uu2 как пробивать nat описанов в i2p протоколе или реализация зависит от разработчика те есть различия i2p на java и i2pd ?
zzz the peer test version is because of all the bugs we fixed before that. Not related to the Christmas botnet, just a coincidence
orignal yes I know
orignal just wante to duble check
orignal нат пробивается просто отправкой пакета на адрес
orignal bumped to 0.9.62
uu2 о, Ростел маршрут мне поменял
uu2 вот почему i2pd считает что я не за nat
uu2 сеть AS12389 перестроили
orignal думаешь и правда не за нат?
uu2 ща трейс запущу
uu2 есть сервис для публикации png ?
orignal не знаю
orignal still can't connect to echelon
uu2 1 слой nat
uu2 мой роутер, CGNAT провайдера
zzz yeah I'm not connecting either
orignal finally connected
zzz me too
orignal restart in 10 minutes
uu2 04:34:32@694/error - NTCP2: Runtime exception: open: Too many open files [system:24 at /usr/include/boost/asio/detail/reactive_socket_service.hpp:133:33 in function 'boost::system::error_code boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::open(implementation_type &, const protocol_type &, boost::system::error_code &) [Protocol = boost::asio::ip::tcp]']
uu2 понеслось говно по трубам
ambatukam зрасте, ш2з все еще под атакой?
Most 14<gomunkul> Да
NY_I_HDE_Tonne Не ну скажите че делать шоб Tunnel creation success rate: вырос более 4% и народ успакоится сюда толпами ходить ,,,
tetrimer NY_I_HDE_Tonne: Обновляться на последний билд и ждать.
NY_I_HDE_Tonne Там всякие netDB чистить , отключать resid нада ?
acetone Хорошо, что фикс этой херовины успелся перед релизом. Было бы совсем грустно, если случилось после релиза
orignal ждите релиза на след неделе
orignal ну сделали бы 2.59.1 в первый раз что ли?
orignal netdb чистить не надо это другая атака нынче
orignal acetone_ вот что характерно релиз отложился на 2 недели
orignal не думаю что это совпадение
tetrimer Если включить паранойю: кто знал про сроки релиза и кто отложил релиз на две недели?
orignal так везде обсуждалось
tetrimer Атака должна была произойти после релиза.
orignal именно так
orignal то что релиз планировался в конце янавря это было еще с осени изсетвно
tetrimer А то, что он окладывается - кто знал?
orignal а idk сказал что будет готов только 9-ого
orignal это на i2p-dev обсуждалось
tetrimer Осталось сравнить аудиторию "здесь" и "там" - и список подозреваемых - готов.
orignal а здесь то причем?
tetrimer Ну, надо же с чем то сравнивать. :)
orignal планы были ввно привязаны к релизу
orignal zzz if we receive 10 TBMs in 200 milliseconds from a peer can we assume it's originator?
zzz maybe?
zzz postman's nickserv/chanserv came back for a minute last night and #saltr is now +m. I'm in #i2p-news over there which is unmoderated
orignal what is another possible case?
orignal thanks will check
orignal e.g. if I see something like this I'm going to consider that guy as an aattcker and let all his TBMs go through
zzz not sure, I'll think about it. drzod implemented some kind of 'burst' checking, I'm not sure it's necessary because we already have throttles. I'm researching
orignal then think about my idea
orignal because I see it often in the logs
orignal 10+ TBMs in 200 milliseconds
zzz that is a lot ))
orignal I think it's clear sign of an attacker
zzz will tell you our throttle limits in a sec
orignal it's not about trottling
orignal we should mark that router/ip as an abuser
zzz right but that's my baseline, need to think if it needs tweaks or needs some burst check
orignal my trottling is 1 TBM per 200 millisecond
orignal from a peer
zzz could also be the to-peer for IB. We throttle both from-peer and to-peer.
orignal it's garlic
orignal not TBM
zzz this is for closest-hop to originator for an inbound build
orignal I would receive a garlic message from peer
zzz not IBGW
orignal who whould build tunnels through the same hop?
orignal however yes you are right
orignal an advesary can do it inteninally
zzz yup. two cases, OB and IB
zzz ok our throttle limits vary from 7 to 27 max over 110 second period, depending on total number of tunnels
orignal OB and IB go in oppisite deirections
zzz we increment the counter for both the from-peer and to-peer
orignal so less then 1 TBM per sec
orignal that's why nobody can build tunnels nowe
orignal too strict in my opinion
zzz we don't do any banning though
orignal you drop
orignal and people can't build tunnels because you drop
zzz right, we drop. We did pretty extensive testing and it wasn't hit at all except for attacks
orignal and now it causes the problem
zzz no, it's only stopping the attacker
zzz even 7 in two minutes is a lot from one peer
orignal but you don't know if TBM is from attacker of real user
zzz that's the same for your burst check ))
orignal 1 per 200 ms is not the same as 27 per 110
zzz statistically, it works out, if there's that many, it's probably the attacker. we did a lot of testing, there really aren't any false positives
zzz sure but it's the same principle. you don't know for sure, but 99% is good enough
zzz again, we aren't banning, just dropping over some limit. We drop TBMs all the time for all sorts of reasons
zzz there's probably 15 places in our code where we drop TBMs
orignal then why a lot of them go through
zzz we just have a lot of overload checks, jrandom stuff, 20 years ago ElGamal was slooooow. Normally everything goes through fine
zzz we do have some overall burst limiting based on queue sizes and TBM arrival rate. just nothing per-peer
orignal so I do quite oppsite
orignal back to Irc2P
orignal isn't RN an operator of the netwrok?
zzz don't know, but without any nickserv there's no way to authenticate
orignal if you are an operator you can change channel setting without nickserv
orignal and the authnitcation is from server's config not nickserv
orignal * [orignal] is an IRC Operator (orignal) [netadmin-with-override]
orignal * [orignal] is using an IP with a reputation score of 10000
orignal * [orignal] is a ilita.i2p admin
orignal like this
orignal you are not, just ask RN
zzz will do, if she appears
sonya zzz, hello.. may be it'd be nice to unban tor for i2p[d]?
zzz ok my initial fixes are up on gitea. not on github yet
zzz orignal, one suggestion if you don't - override/reduce tunnel quantity when build success % is very low
zzz we'll go all the way down to 1. This is important to prevent network-wide congestion collapse
zzz repost:
zzz ok my initial fixes are up on gitea. not on github yet
zzz orignal, one suggestion if you don't - override/reduce tunnel quantity when build success % is very low
zzz we'll go all the way down to 1. This is important to prevent network-wide congestion collapse
orignal let me try
anontor fix it nerds.
zzz here;s what we do, for reference, for client tunnels only:
zzz // throttle client tunnel builds in times of congestion
zzz int fails = _consecutiveBuildTimeouts.get();
zzz if (fails > 4) {
zzz if (fails > 12) {
zzz rv = 1;
zzz if (_log.shouldWarn())
zzz _log.warn("Limit to 1 tunnel after " + fails + " consec. build timeouts on " + this);
zzz } else if (fails > 8) {
zzz rv = Math.max(1, rv / 3);
zzz if (_log.shouldWarn())
zzz _log.warn("Limit to " + rv + " tunnels after " + fails + " consec. build timeouts on " + this);
zzz } else if (rv > 2) {
zzz rv--;
zzz if (_log.shouldWarn())
zzz _log.warn("Limit to " + rv + " tunnels after " + fails + " consec. build timeouts on " + this);
zzz hi R4SAS
R4SAS hi, zzz. new shit happened?
zzz yeah, fun times, we're working on it
zzz java i2p info is at zzz.i2p/topics/3714 - for i2pd info, talk to the moose )))
R4SAS hehe
orignal zzz, that's worst thing in my opnion
orignal an advesary can deanon everybody this way
orignal by forcing 1 hops tunnels
zzz no orignal this is _quantity_ not length
orignal my mistake
orignal but 1 is bad
orignal if fails what do you switch to?
zzz sure, but 1% build success is also bad
zzz the point is to avoid network congestion collapse, which is what we have right now
onon Если при снижении рейта все начнут ещё больше тротлить
zzz if it fails, don't remove it until you build a new one
onon То это только усугубит ситуацию
onon Логику включите
orignal onon он предагает меньшее число тоннелей строить
orignal разумно но я считаю надо уменьшать до 3 а не до 1
onon А атакующий тоже будет снижать напор?
onon Нет конечно
orignal zzz, something importnat
onon И тогда процентное соотношение фейковых запрсов и реальных ты сдвинешь не в свою сторону
orignal <tetrimer_> Если поставить ширину канала в L - то вообще никого нету. Ноль транзита.
onon Логика где
orignal basically it seems they attack high banwidth routers only
orignal логики нет, согласен
orignal onon ты видел их логику?
orignal счас процитирую
onon Вот вас нельзя оставлять без присмотра
onon Наделаете глупостей
orignal <zzz> ok our throttle limits vary from 7 to 27 max over 110 second period, depending on total number of tunnels
orignal как тебе такое Илон Маск?
onon 27 туннелей за две минуты?
orignal вон оно то и порождает низкий рейт
orignal именно
orignal причем я так понял на весь роутер
onon Я жк говорю нафиг эту яву
orignal у они не режут по пирам
orignal я предлагаю поменять логику резания
orignal логика такая
orignal приходит первый TBM
orignal если за 200 мс пришел следующий мы добавляем 50 мс к этому интревалу
orignal и уже смотри если за 250 мс пришел ли
onon Ну посчитай примерно сколько реальный роутер может просить туннелей ну и сделай такой лимит
orignal и каждый следущий пришел дропаем и добавляем 50
orignal вполть до секунды
orignal если пришел уже после интервала обнуляем
orignal то есть логика что чем больше шлют тем больше дропаем
onon Это от одного и того же ройтера?
orignal это на пир
orignal с одного пира
onon Нужно посчитать сколько реальный роутер может запросить
onon Без этого сложно о чём-либо судить
orignal ну я замеры делал
onon Давай подробнее
orignal бывало что и больше 10 за 200 миллисекунд
orignal ну смотри в коде если были дропы то я печатаю в лог
onon Ты же сам хотел много-много туннелей для торрентов
onon Я имею в виду не атакующего а нормального
orignal так а ты думаешь они все через один пир строятся?
orignal у меня если ты посмотришь ограниние на выбор первого хопа
onon Ну если там trusted...
orignal если только что выбрали то не выбираем
onon Если это реальный роутер одновременно запросил много туннелей после старта
orignal значит для них надо запршивать с задержкой
onon Сколько он может запросить
orignal так он запросит у разных роутеров
orignal с чего он через один то пойдет?
onon он с trusted
onon Через один пир доверенный работает
onon И никто о нём больше не знает
orignal для trusted надо иначе
onon Ну роутеру, через который он строит ему пофиг
onon Ему прилетит сразу пачка
onon Вот нужно понять сколько там может быть
orignal ну так говорю же если trusted надо с задрежкой слать
onon И будут ли проблемы если их частично или все подропают
onon Не лезь так глубоко
onon Если этому роутеру с trusted не придут ответы, что будет
onon Он просто через 30 сек попытается снова так?
onon А не сразу
onon Или спамит начнёт?
onon Т.е. может ли нормальный роутер начать себя вести как плохой
orignal спамить не начет у пула случайные задержки де
orignal нет
onon Значит нормально всё
orignal это продумано
onon Токен бакет и норм
onon Ну или как ты предложил
onon С дропом и пролонгацией "бана"
onon Но конкретные цифры нужно тестировать я так думаю
orignal const int TUNNEL_POOL_MAX_NUM_BUILD_REQUESTS = 3
orignal 3 тоннеля за раз может только высрать
onon Во
onon А это за какой период времени
onon За 8 сек?
orignal за раунд счас скажу
onon Или это только для одного дестинейшена
orignal для пула
orignal но пулы строят в разное время
R4SAS веселимся?
orignal m_NextManageTime = ts + TUNNEL_POOL_MANAGE_INTERVAL + (tunnels.GetRng ()() % TUNNEL_POOL_MANAGE_INTERVAL)/2;
orignal приветствую
orignal можешь соню прописать владельцем #openbsd ?
onon Что-то хотел у тебя спросить но забыл что
R4SAS какую соню?
orignal sonya которая
orignal const int TUNNEL_POOL_MANAGE_INTERVAL = 10; // in seconds
orignal то есть попытки строить через случайные 10-15 сек
orignal так что нормально все
R4SAS без онлайна не получится
onon А сколько таких пулов может быть
orignal только что была вроде
orignal ну тогда потом - не горит
onon nologin - это она
orignal так у каждого свой тайменг
orignal так надо чтобы она авторизовалась
onon Ну вот у нас получается минимальный лимит 3 за 100 мс
orignal короче логика такая: первый TBM пропускаем, второй тоже пропускаем но прибавляем, третий дропаем
onon Или за 200 я хз
orignal значит 3
onon Почему
onon С запасом нужно брать
orignal ну значит дропаем 4
orignal но уже за 300
onon Ну может ещё совпасть что и через этот хоп к нам кто-то строит
orignal у trusted то?
onon ЧТоб не было лжных срабатываний
orignal там же нет транзита
onon Нет мы сейчас про разовый
onon Про обычный роутер
onon он же так же может в теории 3 запроса одновременно слать
onon К одному роутеру
onon Если в дестинейшене первый хоп доверенный
orignal может
orignal но маловерятно что чрезе этот хоп пойдет какой то транзит
onon Ну почему же
orignal точнее запрос на него
onon Там транзит может быть включен
R4SAS обновил на транк на основных узлах
orignal ну и прям в это время будет запрос?
onon Только для конкретного дестинейшена ограничение
onon Совпадёт так
orignal ну при след попытке построит
onon У нас большая сеть, вероятность есть
onon А ты так хочешь прям впритык зажать
onon Чтоб пространства для манёвра не было
onon Я так не люблю
onon Мало ли что будет завтра
orignal ну хорошо посл 5 ого
orignal пойдет?
onon За какое время
onon Давай ещё раз
orignal R4SAS заметь что и не шатает
onon R4SAS, ты ретрансмиты увеличил?
onon На ирц
orignal 5 ого да 450 миллисекунд
orignal нет я ему не сказал
orignal не успел
onon Ну вот так сходу кажется нормально
onon За полсекунды 5 запросов
onon А если дальше потоком идёт то всё дропаем
onon А если перерыв то снова пускаем
onon Главное чтоб атакующий не начал так подстраиваться
onon Делая паузы по 50 мс
onon Или сколько ты там планируешь
orignal а если будет делать паузы то и атаки не будет ))
onon Может чуть больше время бана делать
orignal ведь суть атаки в большом потоке
orignal я бан не делаю
orignal я только дропаю
onon Имею в виду дропать
onon Если пришёл в этот период
R4SAS нет, не трогал пока что
R4SAS ты мне говорил какой то параметр крутить, но я не трогал
orignal если сделать бан то атакующий сможет легко всех перебанить
orignal R4SAS так это новый параметр
onon R4SAS, вот пропиши себе в конфиг сразу
R4SAS а, ну значит был старый
onon Чтоб после рестарта потом подхватился
R4SAS и... я его крутил только на ирке походу
orignal тот параметр это про атаки
onon Нам главное сделать так чтобы обычный роутер никак не смог попасть в петлю
onon Когда он шлёт запросы а они все дропаются
R4SAS крч потом
R4SAS я думаю такими темпами не 7-го числа будет)
orignal да почему? 7-ого самое время
onon Наоборот раньше нужно, чтоб атакующий обломался
orignal чтобы загасить атаку
orignal я же говорю атакубщий явно подстаивался под релиз
orignal но не знал что его отложили на 2 недели
R4SAS ну если уже точно готово решение
orignal так да готово все как надо
orignal либо он либо я
onon Обои два
R4SAS надо подготовить машинку под армы
R4SAS она пока что в отрубе
orignal ну арм можно попозже собрать
orignal я забыл для линка тот параметр тоже указать
R4SAS i2p.streaming.profile=2 ?
orignal нет
onon i2p.streaming.maxResends = 20
orignal i2p.streaming.maxResends=15
orignal по умолчанию 8
onon Ну не жадничай 16 хотя бы сделай
onon В общем с этим порешали
onon Ещё есть вопросы, требующие моего внимания?
orignal пока нет
R4SAS i2cp.leaseSetEncType = 4 сделаю теперь еще для клиентов
orignal а 4,6 не хочешь?
orignal дефолтный
R4SAS а, ну давай
R4SAS я просто 0 до сих держал
orignal ну так счас так
orignal 0 выпиливай
orignal оставь только в госткойне
orignal кроме того 0 это вектор атаки
orignal и кое кто о нем знает
R4SAS а i2cp.leaseSetType?
orignal там всегда 3 если не шифрованный
R4SAS ну тогда оставлю
orignal #if OPENSSL_PQ
orignal std::string encType = GetI2CPStringOption(section, I2CP_PARAM_LEASESET_ENCRYPTION_TYPE, isServer ? "6,4" : "6,4,0");
orignal #else
orignal std::string encType = GetI2CPStringOption(section, I2CP_PARAM_LEASESET_ENCRYPTION_TYPE, isServer ? "4" : "4,0");
orignal #endif
orignal короче вот так счас по умаолчанию
R4SAS ок
orignal для клиентов 0,4
orignal так что меняй на 6,4 если PQ
orignal или только 4 если нет
R4SAS да просто уберу
R4SAS само как надо поставил
R4SAS поставит*
orignal так для клиентов оно с 0 ставит
orignal оно тебе надо?
R4SAS ну я имел в виду серверный туннель ирка для клиентов))
orignal а ну там 6,4
orignal кстати
orignal для клинтского ирк тоннеля к этому ирку можешь написать i2p.streaming.dontSign=true
orignal вообще для любого который не соединяется с джавой
orignal зачем подписывать если подписать все равно не проверяется?
orignal *подпись
R4SAS хех
tetrimer_ Проверил еще раз на паре машин. Ставим P - за десять минут набегает 10тыс транзитов, ставим O - значительно меньше, при L - вообще на уровне погрешности.
tetrimer_ X - не пробовал ставить.
orignal а теперь попробуй в тоннеле написать i2p.streaming.profile=2
orignal тогда по логике тоннели должны лучше строится
orignal ой бля onon ушел
orignal может ввести еще 3 только через L стоить
tetrimer_ Ок, сейчас попробую.
orignal интересное наблюдение
orignal * ERROR from server irc.r4sas.i2p[127.0.0.1]: Closing Link: [127.14.136.87] (Throttled: Reconnecting too fast)
orignal R4SAS
WebClient37 btw my ipv6 only router is fine, no heavy load