~AreEnn
~R4SAS
~orignal
~villain
&N00B
Leopold
Most2
Nausicaa
Nikat
Opax
Ruskoye_911
Vort
Xeha
`
acetone_
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
user
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
Зачем?
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
ye
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
будет пустой дефайн
R4SAS_polska
))
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: мир не вращается вокруг тебя
R4SAS_polska
))
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
Понял тогда
weko
Тоесть теперь реально количество FF-ов
weko
Тоесть всё таки использовали мою идею
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
Я не помню, это уже в релизе?
orignal
да
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, если через тебя не построить туннель!
weko
:)
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% не жрет