IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/02/25
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Nikat
Vort
`
anon2
b3t4f4c3
nemiga
not_bob_afk
onon
poriori_
profetikla
soos
teeth
un
weko
whothefuckami
Vort R4SAS: в общем, успех у меня получился частичный: github.com/Vort/i2pd/actions/runs/4266858069
Vort расскажу сейчас подробности по порядку
Vort 1. boost фейлился из-за того, что под виндой ему не нравился Boost_USE_STATIC_RUNTIME. убрал - заработало
orignal перенес публикацию в тред роутера
Vort 2. по какой-то причине сборка и на гитхабе идёт через Ninja, пришлось править build-windows.yml
Vort 3. двойные кавычки в define передаются через задницу. и на выходе из cmake они получались экранированные. после того, как такое попадало в windres - ему плохело
Vort 3.2. попробовал убрать кавычки из define и добавлять из через код. у меня локально заработало нормально. в версии получилось 2.46.1-20-g49dbc8f9. но вот на гитабе осталось только e344e5c. возможно, изменение что-то сломало, возможно эта фича была и ра
Vort ньше сломана
Vort 4. для полностью статической сборки надо было ещё добавить статику в MiniUPnPc. получилось сделать, переключив на дефолтный cmake файл + добавив немного костылей
Vort 5. однако полностью независимый бинарник получилось у меня сделать только локально. через github в бинарник просочились импорты из api-ms-win-core-synch-l1-2-0.dll. подозреваю, что это Boost нагадил
Vort 5.2. искал, наверно, около часа совместимую с Win7 версию этой либы. потом дошло, что можно сделать: взять из системы kernel32.dll, переименовать в api-ms-win-core-synch-l1-2-0.dll и положить к бинарнику. работает. но хак
Vort в общем, на сегодня с меня достаточно. завтра почитаю ваши мнения по поводу этой переделки
Vort orignal: сейчас соберу и поставлю на ночь тестироваться
orignal я еще не знаю насколько хорошо работает
Vort если недостаточно хорошо, то почитаю утром чат через major :)
orignal если недостаточно хорошо то починю
weko orignal: дополняя про уровень critical - ошибки в конфигах тоже можно писать на этот уровень логов
weko Как то странно долго восстанавливается количество транзитов после рестарта
weko Кажется, что должно быть 11 минут
weko А по факту около получаса
weko Странно ...
relaybot 13mauzer: веку забанили везде где только можно
weko Ну по логике, что раньше было 5к туннелей, каждый по 11 минут максимум, значит все запросы были на эти туннели были за последние 11 минут, значит рейт был 5к/11 минут, но почему то после рестарта он странным образом становится ниже
weko mauzer с оффтопом иди в #ru
weko Ну тоесть проходит 11 минут после старта, но туннелей не 5к
weko В данном случае количество транзитных туннелей это внешний фактор, который почему то меняется от перезапуска
weko Больше всего похоже на баг
Vort починил в cmake совместимость с Windows 7. осталась одна загадка - почему git версия обрезана
Vort должно быть 2.46.1-22-g9c1e141c, а получается 9c1e141
whothefuckami златинб хотел стукануть в налоговую на деда?
whothefuckami Зачем?
whothefuckami А главное, дед не платит налоги?????
weko Ну платит не платит это его выбор
weko То что он не анон это его проблемы
orignal ничего странного. те кто черзе тебя дердали тоннели отстроили другие маршруты
orignal whothefuckami потому что шиз и стукач
orignal он утвреждает что не заплтит налоги ... с полученных биткойнов
orignal шиз короче
whothefuckami А налог на биткойн
whothefuckami Можно оплатить в биткойнах?
orignal ну если их выводить в фиат тут появляются некие основания
acetone Если на один локальный ресурс повесить несколько серверных туннелей и подключиться клиентом не у первому, по какой-то причине в лизсеты попадает и дополнительный туннель и основной - который первым прописан на сервере для локальной службы, но вовсе не
acetone указан у клиента
acetone mumble.acetone.i2p - пример, на котором это наблюдаю
orignal ниче не понял
orignal лизсеты тут причем
orignal лизсет всегда связан только с адресом
orignal про тоннели ему ничего не известно
whothefuckami weko: а ну иди
whothefuckami Ой не тот чат
Leopold Ахах)
Vort разобрался, почему версия неправильная была при сборке. для работы опции WITH_GIT_VERSION одного коммита, скачиваемого GitHub Actions, было недостаточно
Vort поставил, чтобы качались все - версия стала отображаться как надо
Vort R4SAS: достаточно ли той модернизации, которую я провёл, для внедрения начальной поддержки или надо ещё что-то менять? вот как сейчас собираются бинарники: github.com/Vort/i2pd/actions/runs/4270325471
acetone orignal: в веб-консоли в пункте лизсеты появляются два: тот, к которому подключен и тот, который первым указан на сервере. Как это с irc2p было, как-то обсуждали с тобой
R4SAS Vort: а в make оно нормально работает и с ковычками. Ну и для того чтобы cmake делал не для ninja надо указывать генератор
Vort make не передаёт версию в windres
Vort надо будет подправить кстати
Vort но потом
R4SAS я локально нормально собираю
Vort ну понятно, что можно указать генератор. но зачем?
Vort "я локально нормально собираю" с USE_GIT_VERSION?
R4SAS да
R4SAS $ make DEBUG=NO USE_GIT_VERSION=yes -j8
R4SAS g++ -Os -fPIC -msse -std=c++17 -DWIN32_LEAN_AND_MEAN -DWIN32_APP -D__AES__ -maes -DGITVER=\"2.46.1-15-g4b421d3f\" -MMD -MP -Ilibi2pd -Ilibi2pd_client -Ii18n -DOPENSSL_SUPPRESS_DEPRECATED -Idaemon -IWin32 -c -o obj/libi2pd/api.o libi2pd/api.cpp
Vort там чуть другие данные в файл попадают. но, как я только что выяснил, это не так просто увидеть )
Vort я использую специальный просмотрщик просто и мне это видно
R4SAS make VERBOSE=1
R4SAS соответственно ы вебморде даже правильно пишет:
R4SAS Version: 2.46.1-8-ge3fbc246
R4SAS так что я по этому и не понимаю причины изменений этих
Vort через Resource Hacker, к примеру, можно увидеть разницу
Vort VALUE "FileVersion", "2.46.1-21-ge344e5ce"
Vort или
Vort VALUE "FileVersion", "2.46.1"
Vort при том, что FILEVERSION 2,46,1,0 - одинаково будет
R4SAS а туда и не должно передавать
R4SAS оно так не задумывалось (с)
Vort по-моему, так удобно - можно сразу понять, с каким бинарником имеешь дело
Vort точнее, с какой версией. без его запуска
Vort главное, чтобы не стало хуже
R4SAS и зачем делать STRINGIZE 2 раза?
R4SAS ну
Vort там надо навесить кавычки
R4SAS почему XSTRINGIZE то?
R4SAS оно само не навесит?
Vort но не на строку GITVER
Vort а на её значение
Vort поэтому вначале получается значение а потом навешиваются кавычки
R4SAS т.е внести в кавычки, и на них еще раз?
R4SAS изврат
Vort я сделал чтобы содержимое GITVER было без кавычек, для нормальной передачи между утилитами
Vort а затем получаю его значение по его имени и добавляю к значению кавычки
Vort сейчас ещё одну ссылку найду
R4SAS тогда будь готов к внезапностям
R4SAS раз без кавычек делашеь
R4SAS лучше тогда содержимое в кавычках слать
R4SAS не экранированных
R4SAS хотя... хз
Vort последовал вот этому совету:
Vort "CMake has known limitation in what symbols can be used for compile definitions passed to the compiler via command line. In your case you may omit double quotes around the macro value but stringify it in the C/C++ code."
R4SAS опять проблемы индейцев
Vort ну я проверил, что без кавычек нормально передаётся
R4SAS на линях оно нормально собирает с WITH_GIT_VERSION
R4SAS с текущим
R4SAS да понятно что нормально. главное чтобы не было пробелов
Vort там из спецсимволов только точки да дефисы
Vort не должно быть
R4SAS и что будет если не получишь версию
R4SAS будет пустой дефайн
Vort пустые и до этого образовывались
Vort на других настройках GHA
R4SAS пустые будут просто кавычками
R4SAS а в новом виде при пустых будет пустота
R4SAS а не ругнется ли компилятор
R4SAS проверить надо
Vort пустые и сейчас есть говорю же
Vort на GHA в make не работает
Vort WITH_GIT_VERSION
weko Компилятор сделает "кхм, пук" ;)
Vort сейчас проверю что там насбиралось с make
R4SAS ну я еще раз говорю, то что в make не работает это проблема клонирования репозитория
R4SAS так как раз получается в итоге -DGITVER=\"\"
R4SAS потому что git не установлен )))
Vort похоже, что пустота таки плохо переваривается. странно. буду значит чинить
R4SAS о том и речь...
R4SAS ща посмотрим насчет GIT_VERSION в make, добавлю устновку git
Vort хе
Vort похоже, что оно было и без меня поломано
Vort ну или можно найти гитхабовский git
Vort он же явно куда-то прописывается, раз его cmake находит
R4SAS msys не использует системный PATH обычно
Vort так что разница в том, или передаётся пустота с кавычками или пустота передаётся без кавычек и окавычивается позже
Vort один фиг не то что надо
R4SAS R4SAS_polska: че смеешься?
R4SAS я же вижу тебя
R4SAS да, надо было добавить fetch-depth: 0 и поставить git
R4SAS_polska R4SAS: мир не вращается вокруг тебя
Vort посмотрел сейчас бинарники разных установленных у меня программ - и вижу довольно часто номера билдов в FileVersion
Vort к примеру, vmware
R4SAS там разве текстовая строка?
Vort да
Vort FileVersion : 12.5.2 build-4638234
Vort mpc-hc64.exe: FileVersion : 1.7.13 (e37826845)
Vort git: FileVersion : 2.39.2.windows.1
R4SAS ну это ясное дело почему
Vort фотошоп: FileVersion : 13.0.1 (13.0.1 20120808.r.519 2012/08/08:21:00:00)
Vort так что это обычное явление
Vort поэтому я и починил, чтобы так же в i2pd было :)
R4SAS_polska R4SAS: sudo rm -rf /*
R4SAS_polska clear cache ))
R4SAS грим, иди флуди на ru
R4SAS надо в windres передавать дефайны
R4SAS_polska ))))))))))))))))))))))))))))))))))))))))))))))))0
Vort R4SAS: ну вот cmake и передаёт
Vort command = D:\msys64\clang64\bin\windres.exe -O coff $DEFINES $INCLUDES $FLAGS $in $out
Vort там это автоматически работает
R4SAS Vort: я как раз пытаюсь сейчас к этому виду привести
Vort чтобы не только в cmake, но и в make так было?
R4SAS да
R4SAS а у windres есть дерево зависимостей в поддержке?
R4SAS -MT который для gcc
R4SAS -MP **
R4SAS видать нет
Vort честно говоря, я даже не знаю, что это такое
R4SAS крч объектный файл на выходе не будет обновляться если чего либо обновилось на уровнях выше
R4SAS поэтому прикол с windres работать будет только после make clean
Vort может, --preprocessor-arg может чем-то помочь?
Vort да, скорее всего, -Mчто-то-там можно добавлять в --preprocessor-arg
R4SAS сомневаюсь
Vort вот тут какое-то произвольное сообщение от юзера
Vort но в одной из цитат есть "--preprocessor-arg=-MD" "--preprocessor-arg=-MQsrc_GUI_resource.rc_resource.o" "--preprocessor-arg=-MFsrc_GUI_resource.rc_resource.o.d"
Vort это я просто гуглил примеры --preprocessor-arg и вот такое нагуглилось
R4SAS м...
R4SAS тонна костылей
R4SAS приходится приводить к такому виду: $(WINDRES) $(DEFINES) $(INCFLAGS) --preprocessor-arg=-MMD --preprocessor-arg=-MP --preprocessor-arg=-MF$@.d -i $< -o $@
` Не так давно ныл, что у меня раньше флудфилофф было 1/3 относительно остальных ротуерофф. После "какера" у меня стало 1/4 и даже 1/5.
` Теперь 1/6.
` Схлопывается сеточка, схлопывается.. Как и завещали древние анонимы..
orignal acetone опять не понял
` Нет, вру.
` Теперь 1/7*
weko У меня стабильно 1000-1200. Раньше было 1700-1900, видимо следствие повышение минимальной версии
weko Хотя надо бы ещё кое что проверить.
weko orignal: сколько у тебя сейчас фф?
orignal так проблема с постманом этол была бага у деда
orignal weko а это секрет ))
weko Ах, почему?)
orignal ты спрашивеш сколько показывает или сколько моих в сети?
` weko, не хочет нас пугать.
weko Сколько показывает)))
` weko, что всё очень плохо..
orignal weko следствие фильтрации
weko `: у меня всё стабильно
orignal на предмет совпаденния IP
weko orignal: то есть у тебя тоже 1000-1200?
weko Ааа
weko Тогда понятно)
weko Так много умников что ли?
R4SAS Vort: у меня успешно собранный с немного другой конфигурацией.
orignal счас гляну
orignal Floodfills: 1294
weko [07:42:18] <weko> Как то странно долго восстанавливается количество транзитов после рестарта
weko [07:42:28] <weko> Кажется, что должно быть 11 минут
weko [07:42:35] <weko> А по факту около получаса
weko [07:43:24] <weko> Странно ...
weko [07:46:33] <weko> Ну по логике, что раньше было 5к туннелей, каждый по 11 минут максимум, значит все запросы были на эти туннели были за последние 11 минут, значит рейт был 5к/11 минут, но почему то после рестарта он странным образом становится ниже
weko [07:47:52] <weko> Ну тоесть проходит 11 минут после старта, но туннелей не 5к
weko [07:50:00] <weko> В данном случае количество транзитных туннелей это внешний фактор, который почему то меняется от перезапуска
weko [07:50:14] <weko> Больше всего похоже на баг
weko Кажется понял - этот эффект связан с количеством активных транпортов
weko orignal: ну типо нормально вроде
weko Да, чутка ошибся, 1000-1300 у меня тоже
` Или у меня опять по какой-то причине ш2з-рутер хочет скурвица..
weko `: ну вот сколько у тебя? 300?
` Да, хочет. NetworkManager с WiFi модулем опять погнал.
` weko, у меня клирет отвалился.
` Когда-то писал уже здесь о таком.
weko Ясно
` Я бы по WireShark'ил, но не знаток.
R4SAS Vort: только мне одно не нравится: почему такой жирный бинарник?
weko orignal: то есть реально куча умников которые на одном адресе запускали кучу FF?
weko Примерно 500-600 в роутерах выходит
` weko, возможно "лоGGика" в том, что ш2з-роутер не может выжать 100500МБ/сек, а канал позволяет. Поэтому выжимают канал запуская несколько "FF", если железо позволяет.
` Просто для поддержания беседы)00
orignal weko полно умников которые запускали флудфилы до которых было не достучяаться
` Это праффда..
orignal а счас мы как видим что не доступчаться сразу выкидываем
` Лично несколько встречал.
weko Понял тогда
weko Тоесть теперь реально количество FF-ов
weko Тоесть всё таки использовали мою идею
weko `: ну логика в этом есть
orignal ну не совсем твою
orignal а просто проверка
weko Просто это не должно быть... Законно в сети
weko orignal: тоесть один раз не доступен и всё, исключаем?
orignal если я не могу достучаться до фф по декларируемым им транспортам то идет лесом
orignal на 2 часа
weko Даже если был всё время до этого доступен?
weko Аа
orignal я точно не помню
weko Ну тогда думаю +- норм
weko Не идеально, но против гавно атаки должно помочь
orignal 2 часа погоды не сделает
orignal но дураков отфильтурет
weko Почему же
orignal кстати счас и поиск лизсета почти не зависает
orignal а находит с первой попытки
weko При большом количестве гавно фф больше запросов идёт и больше банов соответственно
weko orignal: согласен, лучше пошло
weko На самом деле погоду ещё как сделает
weko А 2 часа что именно не происходит? Мы не используем, или ещё и не флудим?
orignal просто не счиатем его флудфилом
weko А ну тогда точно поможет
weko Я не помню, это уже в релизе?
weko В теории сеть стала более устойчивой к спаму фф.. Хотя конечно без практической части мало что можно сказать
orignal и не только к спаму но и к идиотам
R4SAS вот откуда этот жир?
weko По поводу медленного восстановления статистики
weko Выходит, это зависит от количества транспортов, например, когда у нас их мало, туннели чаще фейлятся, нас реже выбирают в качестве транзитного роутера... Потом, когда транспорты набираются, статистика приходит в норму
weko Верный ход мыслей?
R4SAS если сравнивать libi2pd*.a то cmake-овский выхлоп выигрывает по размеру, но вот конечный бинарник то откуда набирает такой вес?
R4SAS и да, эти 8 МБ и то после того как я стрипаю его
R4SAS без стрипа вообще 15 мб
weko На 3 дискеты только влезет
weko Ужас
weko orignal: тут чел пишет у него был Full cone NAT а потом стал SNAT
R4SAS чет cmake сного лишнего линкует
orignal ну и что?
orignal значит так оно и есть
weko orignal: вяснили, ложное срабатывание
weko Выяснили*
orignal такое бывает
weko [20:24:36] <orignal> значит так оно и есть
weko Я уже знаю что не всегда так)))
orignal я счас собираюсь код поправить чтобы не публиковать роутеры с недостижимыми адресами
orignal а нахуя сеть засирать?
weko Ну по сути логично
orignal вот счас займусь
weko Нахуй ты нужен в моей NetDb, если через тебя не построить туннель!
orignal именно
orignal а если сосед то он придет напрямую а не через флудфмл
weko Ну да
weko Да и смысл через них строить всё равно
weko Хотя
weko Есть же
weko Смысл))
weko Можно исходящие туннели строить
orignal думаю если их не будет в netdb хуже не станет ))
weko Это да
orignal исходящие же тоже можно построить только если линк есть
weko orignal: ну да
weko Я об этом
weko Входящие не сделать таким методом
weko Стоппппппппп
weko Выходит если у меня нет айпи, и кто то строит туннель, то мы знаем, что это владелец!
weko В жбан такое построение
weko orignal: нельзя строить через хидден роутеры, это будет ухудшать анонимность
orignal конечно
weko Сейчас такого нету?
orignal вроде я проверяю
R4SAS Vort: ninja переваривает конфиг выше скинутый
R4SAS если не передавать параметры
R4SAS но я тестирую только с g++
R4SAS orignal: ты смотрел на гх?
orignal че там?
orignal у кого то еще?
R4SAS у себя не виджу
orignal аналошично
orignal надо проверять на ошибки там
R4SAS Win32/Win32NetState.h:48:25: warning: deleting object of polymorphic class type 'CNetworkListManagerEvent' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
R4SAS 48 | delete this;
R4SAS | ^~~~~~~~~~~
R4SAS а чего тут может быть не так?
orignal и что?
orignal ну delete this считается моветоном
orignal можно применять осторожно
R4SAS а-ля self-destruction?
orignal в том коде можно
R4SAS ок
orignal попробовал запустить на OSX никакиз 100% не жрет