IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/05/29
~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest29533
HackerMan
Most2
Nausicaa
Ruskoye_911
Trusishka
Vort
`
acetone_
anon3
b3t4f4c3
flumental
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
un
weko_
whothefuckami
WayBest Ты им не подсказывай ;D
WayBest А то ведь наплодят роутеров
orignal рестарт илиты через 10 минут
segfault orignal: пофиксили SSU2?
orignal чего?
segfault orignal: ну про багу в протоколе SSU2 тогда говорили. ты хотел ключом роутера шифровать.
orignal а про ту старую проблему
orignal все в стадии разговоров
onon1 (rand () & 1)
onon1 Это как работает?
orignal четное или нечетное
onon1 Когда мы соединяемся с другим роутером, мы всегда обмениваемся своими RI?
orignal да. вторая часть SessionConfirmed
onon Я вижу когда у нас входящий коннект мы профиль обновляем
onon if (r) r->GetProfile ()->Connected ();
onon А RI в NetDb обновляется?
orignal естественно
onon В профиле там
onon void RouterProfile::Connected ()
onon m_HasConnected = true;
onon UpdateTime ();
onon Просто таймстемп обновляет
onon Или там дальше логика какая-то
orignal посмотри ProcessSessionConfirmed
orignal i2p::data::netdb.PostI2NPMsg (CreateI2NPMessage (eI2NPDummyMsg, buf.data () + 3, size)); // TODO: should insert ri and not parse it twice
orignal в NTCP2.cpp
orignal / update RouterInfo in netdb
orignal ri = i2p::data::netdb.AddRouterInfo (ri->GetBuffer (), ri->GetBufferLen ()); // ri points to one from netdb now
orignal а в SSU2.cpp уже иначе
orignal и да NTCP2 надо тоже переделать
orignal в SSU2 так сделано потому что разные пир тесты
onon А что значит // TODO: add ri
orignal так написано же
orignal короче надо сделать как в SSU2 счас
onon Значит не приоритетно
onon Погоди, так это в SSU2Session.cpp
orignal есть в NTCP2.cpp есть в SSU2Session.cpp
onon SSU2Session::HandlePayload
onon А, ну ладно.
orignal нет
orignal в bool SSU2Session::ProcessSessionConfirmed (uint8_t * buf, size_t len)
onon Не совсем понятно как это работает
onon if (r->IsUnreachable () ||
onon i2p::util::GetMillisecondsSinceEpoch () + NETDB_EXPIRATION_TIMEOUT_THRESHOLD*1000LL < r->GetTimestamp ())
onon Мы добавили RI и сразу проверяем его на свежесть.
onon Или доступность
onon Или это для других случаев
orignal unreachable это неправильное название метода
orignal это если вставка завершилась ошибкой
onon А EXPIRATION?
orignal и вставяоем мы его вообще то после всех проверок
onon На сдвиг времени
onon на 2 мин
orignal я не знаю где ты это смотришь
onon NetDb.cpp
onon NetDb::AddRouterInfo
orignal а ну там все сложно
orignal мы снчала его распарсиваем а потом проверяем на ошибки
onon Не понятно, если мы только что обновили RI, почему IsUnreachable
orignal потому что IsUnreachable это неправильное название
orignal там должно быть типа IsValid
orignal но мне лень переимновывать
onon Нужен список случаев когда m_IsUnreachable
onon Кто его выставляет
orignal парсер при ошибках
onon Я смотрю NetDb при экспирации ставит
onon Транспорты вроде ещё
orignal смотри RouterInfo.cpp
orignal там сильно длинный код
orignal ну это тоже инвалдация
orignal а трапспорты реально ставят когда недостижим
orignal короче путаница там
orignal которую надо по уму переделать
onon Просто у тебя на этом m_IsUnreachable много чего завязано
orignal угу
orignal и это неправильно
onon Теоретически не может возникнуть такой ситуации? Если у меня в нетдб есть хороший RI XXX
onon Злоумышленник делает копию этого RI, меняет там что-нибудь и присылает нам. Мы его пытаемся заменить, криптография не сходится, и мы удаляем наш хороший RI XXX
orignal нет
orignal такая ситуация проверяется
onon Ну по коду я вижу, что удаляется RI
orignal если у нового подпись не сходится мы его игнорируем
onon m_RouterInfos.erase (ident);
orignal if (!r->Update (buf, len))
orignal updated = false;
orignal m_Requests->RequestComplete (ident, r);
orignal return r;
orignal там проверка снчала идет
orignal в тот код не попадет если подпись фейлится
onon А , он раньше отвалится
onon Ты уже все айсберги покорил?
orignal нет конечно там много
onon Тогда извини что отвлекаю.
` Летом по айсбергам, зимой по яхтам..
WayBest успех тоннелей уже вырос до 33%, фикс пашет)
WayBest о, 34%
WayBest природа очищается :D
joojoo How can I increase the transit bandwidth I am routing?
WayBest It's better not to touch it
joojoo Router stats:
joojoo Uptime: 1 day, 1 hour, 55 minutes, 11 seconds
joojoo Network status: OK
joojoo Tunnel creation success rate: 13%
joojoo Received: 97.70 GiB (886.43 KiB/s)
joojoo Sent: 94.94 GiB (858.48 KiB/s)
joojoo Transit: 92.12 GiB (833.59 KiB/s)
joojoo Routers: 12219 Floodfills: 899 LeaseSets: 231
joojoo Client Tunnels: 86 Transit Tunnels: 15222
WayBest Because java routers are slow
joojoo I'm on i2pd
WayBest It's ok
joojoo [limits]
joojoo ## Maximum active transit sessions (default: 5000)
joojoo ## This value is doubled if floodfill mode is enabled!
joojoo transittunnels = 50000
joojoo I have lots of bandwidth, and I'm not routing more than ~ 1 - 1.4 MB/s
joojoo It's a pity
WayBest from personal experience, I will say that any attempts to increase the speed lead to the opposite
WayBest because java is SLOW
joojoo I'm on the C++ version (i2pd)
WayBest Лось, объясни ему почему он не сможет сделать, то, что я хотел сделать)
WayBest Your c++ router connecting to java
WayBest joojoo: can you scroll chat's history?
WayBest scroll to my and orignal messages about java routers restrictions
joojoo I don't have those. I may have joined afterwards.
orignal are you a floodfill?
orignal do you publish IP?
WayBest судя по лизсетам он флудфилл
WayBest и по циферкам