~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
Leopold
Most2
Nausicaa
Vort
Xeha
anon2
nemiga
poriori_
un
weko
whothefuckami_
AreEnn
in i2p+ it is "tunnel.tunnelBuildSuccessAvg" and in Canon you have to calculate it
AreEnn
is there something you can get in i2pcontrol that tells the router is running i2pd? What format is "i2p.router.version"
Vort
у меня одно сообщение и один вопрос
Vort
во-первых, мне захотелось потестировать идею с необновляющими активность KeepAlive
Vort
потестировал. количество Path challenge заметно уменьшилось
Vort
но, к сожалению, не до нуля. или я что-то упустил или дело просто в потерях пакетов
Vort
однако на количество и объём транзита изменение, к сожалению, не повлияло
Vort
может, я не дождался просто, не знаю
Vort
на всякий случай выкладываю свой черновик, вдруг кто хочет потестировать с U узлом:
Vort
теперь вопрос. пока ковырялся с своим тестом, обнаружил странность, которая вполне может объяснять обнаруженные вчера исчезновения интродьюсеров раньше времени
Vort
допустим, у меня узел в состоянии Firewalled. у него выбраны 3 интродьюсера
Vort
затем по таймеру запускается пир тест. и после подтверждения, что состояние таки Firewalled, выполняется вот это:
Vort
github.com/PurpleI2P/i2pd/blob/ae5239de435e1dcdff342961af9b506f60a494d4/libi2pd/SSU2Session.cpp#L2263
Vort
github.com/PurpleI2P/i2pd/blob/ae5239de435e1dcdff342961af9b506f60a494d4/libi2pd/SSU2.cpp#L1102-L1103
Vort
так вот суть вопроса в том - зачем удалять интродьюсеры при каждом пир тесте? так задумано и в этом есть какой-то смысл или это просто баг?
orignal
это не при пир тесте а когда Firewalled снова включается
orignal
да ты правильно нашел
orignal
разумеется это надо чинить
Vort
окей
orignal
если был Firewalled и снова firewalled то чистить не надо
orignal
я подумаю как починить
Vort
делая тесты коннекта к своей виртуалке, обнаружил ещё одну проблему с U узлами
Vort
вполне вероятно, что без виртуалки её бы и не было. но всё же мне кажется, что желательно это подправить
Vort
вполне вероятна ситуация, когда RelayResponse приходит быстрее, чем HolePunch
Vort
в таком случае коннект от Алисы уходит на внутренний порт Чарли, с закономерным фейлом
Vort
я хз, как так вышло, что перекинуть пакет с виртуалки на основной комп дольше, чем протащить через Боба
orignal
мы всегда HolePunch дожидаемся
Vort
ах ну значит просто очередной баг
Vort
я вижу коннект к Чарли сразу по приходу RelayResponse от Боба
Vort
если повезло HolePunch просочиться раньше - значит будет коннект
orignal
надо посмотреть по коду
Vort
не повезло - не будет
orignal
уточню
Vort
кину ссылку как комп отлагает
Vort
github.com/PurpleI2P/i2pd/blob/ae5239de435e1dcdff342961af9b506f60a494d4/libi2pd/SSU2Session.cpp#L2053-L2054
orignal
ну возможно да
orignal
надо подумать как чинить это
orignal
разумеется у чарли symmeric NAT
Vort
в вируталке у меня Network status: Firewalled - Symmetric NAT, да
orignal
эту ситуацию я думаю никто даже не рассматривал
orignal
считается что интродьюсеры с ним вообще не работают
orignal
а можно только исходящие
Vort
плохо разбираюсь в разновидностях NAT :( какой самый популярный тип ?
orignal
Firewalled
orignal
symmtric NAT считается неисправностью
orignal
ну это по мнению деда
orignal
я же так не считаю
Vort
я уж думал что в виртуалке самый популярный вариант реализовали
Vort
надо будет поизучать как мой железячный NAT работает
orignal
поставь bridge
segfault
А dnat пробивает виртуалку как надо?
Vort
за bridge провайдер по заднице надаёт. да и виртуалку же я не просто так грузил, а чтобы NAT потестировать. так что отключать NAT мне смысла нету
Vort
если надо без NAT, то я просто без виртуалки потестирую
Vort
у меня два белых IP. добрый провайдер когда-то выдал. теперь небось жалеет. один из IP у меня через свич подключен "сюда", через другой IP и через NAT раздаётся инет на WiFi
weko
[11:24:19] <orignal> если был Firewalled и снова firewalled то чистить не надо
weko
[11:24:46] <orignal> я подумаю как починить
weko
Чистится именно в RI?
orignal
да
orignal
у меня виртуалки на машине за натом
orignal
я просто ставлю bridge когда надо и все
orignal
потому что иначе получаетсмя двойной нат
Vort
собрал небольшую статистику за час работы XR узла по времени прихода HolePunch
Vort
"удачно" HolePunch пришёл 143 раза (86%), "неудачно" 23 раза (14%)
Vort
в случае неудачных, запоздалых, приходов, часть коннектов была успешна, часть - нет
Vort
успешность уже точно не считал. но похоже, что ожиданием HolePunch можно добиться где-то 5% улучшения
orignal
тут смотри есть какая проблема
orignal
он может вообще не дойти
orignal
но дыра открыта
Vort
ну понятно. я думал о варианте "подождать 100-200мс"
orignal
да так и надо
orignal
сделать таймер
Vort
понял, что я не правильно описал :( 14% - это и пришли позже и не дошли совсем. так что улучшение может быть ещё меньше. ну это наверно стоит сделать тестовое исправление и посмотреть, сколько словится запоздалых HolePunch
Vort
то, что такое возможно, это точно. но вот с шансом 5%, 1% или 0.01% - не знаю
Vort
я похожий пример встречал в Yggdrasil - когда напрямик пинг к узлу был хуже, чем через Ygg
user1
error - Tunnels: Can't create inbound tunnel, no peers available
user1
error - Streaming: No outbound tunnels in the pool, sSID=3562147400
user1
Лось говорил, починил. Не починил
Vort
это на старте узла или всё время лезет?
user1
Uptime: 2 days, 21 hours, 22 minutes, 59 seconds
Vort
я имею в виду, постоянно такое в логе или только после запуска какое-то время?
user1
После запуск через некоторое время начинается
user1
И ткср падает
Vort
глянул я в свой лог и оказалось, что он завален NetDb: DatabaseLookup for zero ident. Ignored
Vort
у кого-то такое было?
Vort
с [22/Jul/2023:03:00:18 +0300] до [23/Jul/2023:03:00:15 +0300]
Vort
атаку проспали что ли?
Vort
я уж думал что мой низкий рейт (сейчас 21%) - это какой-то очередной баг
orignal
я не говорил что починил
Vort
хотя может и баг быть
orignal
такое может быть
orignal
это ничего страшного
Vort
за те сутки в лог навалило 100 тыщ zero ident сообщений
orignal
значит очередная тупая атака
Vort
атака "засрать лог" что ли...
orignal
атака завалить нулевыми запросами
orignal
кстати у тебя флудфил?
Vort
да, флудфил
orignal
ну x3
weko
Transit Tunnels: 98
weko
U узел
relaybot
13apophis: атака ( "я писал об этом" (ТМ ))
weko
TCSR 60%
Vort
weko: какой из коммитов?
weko
Тот что примерно сутки назад
weko
И увеличено время интродьюсеров
Vort
а точнее сказать можешь?
weko
ae5239de435e1dcdff342961af9b506f60a494d4
Vort
ага, хорошо
Vort
мою верисю проверять хочешь? она глюченая, но вдруг...
weko
а что там
Vort
в основном, добавил keepalive для всех коннектов
Vort
ещё чутка переделал всё ту же ротацию интродьюсеров
Vort
правда я тестировал только ipv4
Vort
и знаю уже об одном из багов. но он не страшный
orignal
надо чинить с Firewalled чтобы интродьюсеры не чистились
orignal
но мне счас некогда
Vort
ну да. в моей ветке для них просто будет keepalive "навсегда"
Vort
и если в моей ветке будет улучшение, то и после исправления в главной ветке - тоже будет
orignal
да нет там же чистка происходит при peer test
Vort
хотя можно и не заморачиваться с тестированием моего варианта
Vort
ну из RI чистка, да, но в моём варианте сессия не рвётся
Vort
проблема же не столько в том, что из RI интродьюсеры вылетели, а в том, что к ним перестали идти keepalive и те юзеры, которые ломятся к такому интродьюсеру, получают "код 5"
Vort
хотя лучше и чтобы не вылетали, конечно же )
orignal
господа никто не знает нету ли в новых стандарте итератора по аргуметам variadic template?
orignal
или по прежнему приходится городить рекурсию времение компиляции?
orignal
мне надо пройти по всем аргументом и если тип указатель то сделать некое преобразование чтобы передать дальше
orignal
а не указатели не трогать
orignal
разобрался. начиная с C++ 17 это