~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest8889
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid_
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
tensor
un
weko_
whothefuckami
orignal
ну да
orignal
но я в этот тред собираюс еще навешать
orignal
суть в выносе этих операций из трапсортов
Vort
"<~orignal> но я в этот тред собираюс еще навешать" это хорошо. однако надо бы разобраться, из-за чего получился вот такой результат: "<~orignal> оказывается на флудфиле рашифровка занимает приличную долю проца"
Vort
у меня три варианта - 1. ошибка измерений 2. различная нагрузка (атака специально на конекретный узел). 3. процессор, который плохо умеет делать криптографию
weko_
Vort: всё просто
weko_
Джава узлы шлют шифрованное
Vort
weko_: и что? они же всем одинаково шлют. почему у меня была нагрузка 0.0004%, а у orignal - "приличная доля" ?
orignal
ну например у тебя проц мознее
orignal
чем у меня на впс
Vort
насколько я помню, у тех криптоалгоритмов есть интересные особенности, позволяющие их значительно оптимизировать
Vort
также я видел какие-то ifdef`ы в том коде
orignal
да нет это все внутри openssl делается
Vort
так что может ещё влиять то, как именно собран код
orignal
ifdef это чисто про версии
orignal
возможно
Vort
сейчас перепроверю
Vort
#if OPENSSL_X25519
Vort
иначе идёт "ручная" реализация что ли?
orignal
оно только в 1.1.1 появилось
orignal
раньше не было
Vort
такс. вижу у себя call EVP_PKEY_derive_init
Vort
значит, у меня OPENSSL_X25519
orignal
конечно
Vort
а у тебя на впс что?
orignal
он у всех есть
orignal
да все также
Vort
тогда в самой либе ещё есть ветвление
orignal
конечно есть
Vort
наверно в зависимости от процессора
orignal
она проверяет на наличие опредленных инструкции у проца
Vort
и на ВПС их может не быть, так?
orignal
ну да
Vort
в таком случае получается что этот отдельный тред особо полезен для юзеров со старыми процессорами
Vort
хотя всё равно я ожидаю от оптимизаций в либе прирост, ну, допустим, в 10 раз, но не в 1000
Vort
но, видимо, таки в этом дело
Vort
так что условно загадка разгадана
orignal
да нет же
orignal
в этот тред еще много чего пойдет
Vort
ну я про данный момент говорю
orignal
да в данный момент все и так хорошо
orignal
было нехорошо во время атаки
weko_
Надо ещё проследить, чтобы не слишком загрузить этот тред
weko_
И при надобности сделать разделение на несколько
orignal
посмотрим
orignal
на самом деле он давно напрашивлся логически
Vort
weko_: сколько у тебя ресурсов CPU этот тред потребляет?
Vort
допустим, по сравнению с NTCP2 и SSU2 тредами
weko_
Vort: я не смотрел потому что мы другую проблему решали
Vort
ок
weko_
Точнее искали источник
weko_
Мне было не до компиляции
Vort
кстати, по поводу openssl: либу ведь, небось, можно собрать вообще без оптимизаций под процессоры
Vort
так что может быть ещё проблема не в процессоре, а в криво собранной либе
Vort
маловероятно, но всё же возможно
orignal
там динамечески оно
orignal
определяется
orignal
чего есть в проце а чего нет
weko_
Нужны ASIC для криптографии :)
orignal
еще с 80-х годов есть
orignal
вообще то
Vort
динамическое определение работает только если никто не догадался его отключить
Vort
вроде, ключ no-asm отключает эти оптимизации
Vort
можно, конечно, предположить, что тот, кто собирал либу, до этого не догадался )
Vort
однако бывает всякое
Vort
надо будет, кстати, изучить мне возможности сборки i2pd специально под мой процессор
Vort
всё равно вручную собираю, так почему бы не собрать более быстрый вариант
orignal
там же ничего собенного нету
orignal
только разве что openssl как ты говоришь
orignal
но я сомневаюсь что это что то изменит
Vort
ну если станет хоть немного лучше, то почему бы и нет
Vort
правда, может стать и хуже. я на такое уже попадал как-то раз )
Vort
компилятор как-то мне на более навороченной системе команд умудрился сделать более тормозной код :)
orignal
сегодня перенесу публикацию в этот тред
Vort
окей
Vort
а я вот попробую поколдовать с флагами сборки
Vort
интересно каков результат будет от -O3 в дебаг режиме :)
Vort
пока что не крешнулось. это хорошо :)
R4SAS
O3 крайне нестабильно работает. тому пример был с убунтой 21.04_
R4SAS
и выше
orignal
R4SAS трооли доьрались и до тебя
Vort
R4SAS: я не в курсе этой ситуации. сама убунта плохо работала, если её с O3 собирать или i2pd с O3 в убунте?
Vort
нестабильность O3 - это признак багов в программе. очень желательно их вылавливать. хотя, понимаю, часто это очень сложно
Vort
иногда ещё бывают баги компилятора, но это редкость
R4SAS
orignal: всм?
orignal
вчера в телегу мне писал некто выдвая за тебя
R4SAS
а, я слыхал про такое, от одного нашего общего знакомого
whothefuckami
Vort: базу сказал
orignal
говорил что срочно требуется помощь ))
whothefuckami
Насколько я помню O3 это агрессивные оптимизации, которые ещё и не всегда делают лучше. Зато время компиляции+потребление оперативы во время сборки растёт
whothefuckami
Поэтому линуксы собирают с О2
R4SAS
Vort: это было где то в районе 2.41
R4SAS
orignal: при этом акк был какой то левый?)))
orignal
естественно
orignal
но внешне копирующий твой
R4SAS
ясно
Vort
пока что за 1.5 часа с -O3 -march=haswell проблем не возникло. посмотрю, что будет дальше
Vort
оперативки и времени на сборку хватает :) к счастью, i2pd не очень прожорлив в этом плане
Vort
когда проверял статическим анализатором - заметил странность - почему-то cmake под винду "отключен". что там с ним не так? может, получится починить?
R4SAS
Vort: потому что там изначально была сборка под MSVC
R4SAS
а под mingw ни кто не делал
Vort
cmake`у, вроде, всё равно
Vort
ок, понятно
Vort
у меня сейчас древнючий MSVC стоит, так что с ним не потестирую
R4SAS
я хотел дописать его после того как выпилили поддержку msvc, а потом расхотел
Vort
а вот mingw, может, гляну
Vort
а чего выпилили? нормальный компилятор
R4SAS
это надо весь хлам собирать
Vort
а, типа нету пакетного менеджера?
R4SAS
при чем пакетный менеджер?
Vort
ну зависимости надо самому искать
R4SAS
надо собирать openssl, boost, miniupnp
R4SAS
а потом, либо их тянуть за собой в репе
Vort
в общем, я примерно понял проблему
R4SAS
либо писать скрипты для сборки оных
Vort
по-моему, достаточно просто юзеру предлагать указывать пути к либам
R4SAS
ну, во всяком случае я писать поддержку msvc не собираюсь
Vort
окей
R4SAS
дописать cmake для msys/mingw еще можно
R4SAS
только там тоже надо разбираться
Vort
попробую собрать, а там будет видно
R4SAS
посмотри как оно сделано в pboted
R4SAS
я там его раскурил по полной программе, чтобы оно нормально собирало
relaybot
13trus: R4SAS в коде 2pd.i2p в баннере git.community.i2p на ссылке стоило бы в конце добавить / . Чтобы получилось git.community.i2p (как и на остальных ссылках), потому что из-за отсу <clipped message>
relaybot
13trus: тствия последнего слэша как я заметил браузеры ебланят иногда
relaybot
13trus: i2pd.i2p*
R4SAS
trus так сделал бы pr
relaybot
13trus: pr?
R4SAS
pull request
relaybot
13trus: я так понимаю на этом самом гите нет кода сайта чтобы pr сделать?
Vort
кхм. в pboted идёт проверка if (MSYS). хотя эта переменная только к генератору относится. у меня, к примеру, сейчас ninja установлен. и это не сработает. попробую по-другому
whothefuckami
Слууушайте
whothefuckami
Вот, мой роутер например в РФ
orignal
слушаем
whothefuckami
И есть роутер в Украине
whothefuckami
Украина блокирует весь трафик с РФ
whothefuckami
Сети i2p не вредит?
whothefuckami
С новыми профилировщиками там, и ...
Vort
во-первых не весь. во-вторых, дальше будет только хуже, по всему миру. сети надо адаптироваться к этому
Vort
это не дело юзера изучать блокировочные списки перед установкой узла
whothefuckami
нужно делать mesh????
orignal
нет конечно
orignal
и россия и украина могут соединяться например с сша
orignal
тоннели же
whothefuckami
А если 0 хопов?
whothefuckami
Или владелец туннеля(сша) решает сделать тоннель их двух хопов
whothefuckami
И получается сша - россия - украина - входящая точка другого тоннеля
whothefuckami
*из
weko
Если узел не доступен, это не значит что в этом виноват сам узел. Однако нам не важно почему он не доступен - важно что он не может быть использован
whothefuckami
Он ведь в перманентный бан не улетит?
whothefuckami
А то когда нибудь
whothefuckami
Война кончиться...
orignal
перманентных банов вообще быть не должно
whothefuckami
А вот в java i2p есть
whothefuckami
(Я видел в веб консоли)
orignal
ну вот потому это и глупость
weko
whothefuckami: перманетнных банов нет
weko
Потому что адреса часто меняют владельца
weko
Да и человек мог уйти в оффлайн на какое время... Мы должны его "прощать"
weko
Другой вопрос какие сроки бана
weko
Например за оффлайн узлы не большой срок
weko
А за хрень которое отличается от протокола надо дольше банить
weko
На дня 3 например
orignal
ну да была впс
orignal
потом ее откдали другому
orignal
и что теперь?
weko
Ну или динамический адреса
weko
Динамические*
R4SAS
подчистил свою репу от старых версий ш2зв и EOL релизов
R4SAS
добавил arm64 для кзш
R4SAS
rpi*
orignal
давно пора
R4SAS
всегда бы так
R4SAS
63502 i2pd 20 0 985000 12572 7244 S 0.0 1.3 0:08.54 `- /usr/sbin/i2pd
Vort
допинал я cmake до состояния "работает у меня". теперь вопрос - что с этим делать?
R4SAS
в плане?
orignal
это где такое?
Vort
ну... там же ошибка
R4SAS
на малине
Vort
message(SEND_ERROR "cmake build for windows is not supported
R4SAS
ну
orignal
ну так там поток нулевой
Vort
допустим, я сделаю PR. убирать ошибку что ли?
R4SAS
она отключается через CMakeLists.txt
R4SAS
убери MSYS2 оттуда
R4SAS
не надо полностью
R4SAS
и да, ты как cmake скармливаешь? указываешь генератор?
R4SAS
или ты msvc впихал?
Vort
про проверку "MSYS" я уже выше написал - она у меня не работает
Vort
cmake -DWITH_STATIC=ON .
Vort
ninja -j 3
Vort
я на clang тестировал
Vort
из MSYS2
R4SAS
так у тебя оно для MSVC же генерирует по дефу, нет?
Vort
R4SAS: сможешь допилить в моей ветке? я сделаю PR "как есть"
Vort
ну или просто ссылку на коммит кину
R4SAS
и зачем ninja?
R4SAS
ну скинь
Vort
я его для другого проекта ставил, так и остался. ну он нормально работает - пусть живет, мне не жалко
Vort
окей, сейчас
R4SAS
не хочется тянуть в доки доп зависимости, так что надо бы чтобы оно и с make собиралось
Vort
а так это сейчас проверю
Vort
я думаю старый генератор тоже живой
R4SAS
Vort: а вообще, у тебя под рукой Github Actions
R4SAS
добавляй туда действие на сборку под виндами в msys2 с cmake
R4SAS
чтобы было видно собирается ли оно на голой системе
R4SAS
set(ZLIB_USE_STATIC_LIBS ON) --- а такое разве есть?
R4SAS
ага, есть же
Vort
в новой версии есть. я вручную себе в msys2 вкорячил
R4SAS
вспомнил
Vort
так как у меня стоит старая )
Vort
в 3.24 добавили
Vort
ну я так понимаю со старой версией просто соберётся не до конца статика. но соберётся
R4SAS
только я почему то делал еще такое в pboted:
R4SAS
set(ZLIB_NAMES libz zlibstatic zlibstat zlib z)
R4SAS
видать имя либы в msys2 идет libz
R4SAS
Vort: github.com/Vort/i2pd/commit/89b44ec062582dab42bf1f594320e2af0a4d6075#diff-e959329d04cc2d0e14e18588e23f7ec2bed500eb314d3d3081f495f04d70e74eR282-R284
R4SAS
этих трех либ может быть недостаточно
R4SAS
посмотри в Makefile.mingw
Vort
(проверил обычный make. бинарник идентичный)
Vort
часть сам cmake находит
R4SAS
ок
Vort
вопрос в том, что он найти не может, но при этом нужно
Vort
вот так сейчас идёт вызов
Vort
по поводу zlib - главное, чтобы это изменение что-то в линуксах не поломало
Vort
хотя там вроде статика не в почёте
R4SAS
не сломает
Vort
остальное тут специфично для винды
R4SAS
pboted же собирается
Vort
а учитывая, что винда вообще не работала, то и не страшно
R4SAS
этот set добавлялся в STATIC блок
Vort
кстати, у меня rc заработал без дополнительного колдовства
Vort
вот этого всего я не делал:
Vort
github.com/PurpleBote/pboted/blob/30492df29e6d8b9095445bddd2147e6a93b3c51d/build/CMakeLists.txt#L82
Vort
для старых версий cmake было нужно наверно?
Vort
ещё по-хорошему, надо было бы проверить upnp. но я никогда с ним не работал, поэтому полноценно потестировать не смогу
Vort
так что что произойдёт при его включении - не знаю
R4SAS
пофиг на совсем старые
R4SAS
главное чтобы не сломало сборку на центоси
R4SAS
попробуй залить себе CI: paste.i2pd.xyz/?671b3729920366e8#2tvBu8heDhkAt6ZxK8M7EAtyKhhG2cVBADf2LZLQgFM7
R4SAS
в .github/workflows/build-windows.yml замени
Vort
буста не нашёл нужного
Vort
там динамический только был почему-то
R4SAS
а я вижу
R4SAS
да*
p2w
R4SAS: Я убью всю твою семью, ты, польская мразь.
R4SAS
p2w: поздравляю.
R4SAS
Vort: ^^
R4SAS
так что 2 варианта - либо апать версию конфигурации Cmake, либо писать обратную совместимость
Vort
так там вроде свежий
R4SAS
cmake_policy(VERSION 3.7)
p2w
R4SAS: Я найду тебя, и ты будешь умолять, как голодный ниггер в цепях, пока я сдираю кожу со всей твоей семьи заживо.
R4SAS
p2w: ага, удачи
Vort
2023-02-24T18:16:43.8298298Z mingw-w64-x86_64-cmake-3.25.2-1-any downloading...
R4SAS
приезжай в арктику, поговорим
Vort
ну у меня работает даже на более старом cmake
orignal
kurwa
Vort
там явно чего-то не хватает
p2w
R4SAS: Заткнись, блядь, и возвращайся на свою работу с 9 до 5, драить пол до конца своей жалкой жизни, ниггер.
Most3
<q> .
weko
а?
Most3
<q> Работает мост?
orignal
да
R4SAS
Vort: ну вот, потому и надо разобраться как и почему оно не собирается в обособленных случаях
Vort
кажется мне, что это какой-то косяк msys2
R4SAS
CI это явный пример того как оно собирается на текущих версиях ПО
Vort
да понимаю
Vort
у меня есть кое какая догадка
Vort
в общем, с boost разобрался
Vort
теперь надо разобраться с совместимостью -DWITH_GIT_VERSION=ON и виндовых rc файлов
weko
вроде бы уже был такой вопрос, но я не помню -
weko
что это за адрес в Tags session - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.b32.i2p
orignal
не пишет ответ