IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/07/12
~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
Guest29533
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid
flumental
nemiga
not_bob_afk
plap
poriori
profetikla
segfault
soos
teeth
tensor
un
weko_
whothefuckami
weko Vort: вот бы статистику по версии протокола и реализации
weko Интересно посмотреть, так как может всплыть баг какой нибудь
weko orignal: хм, а можно в LeaseSet-е указывать какой туннель приоритетнее использовать?
orignal низзя
weko Например я знаю что один туннель лучше другого судя по профилированию. Или например один 0 хоп ipv6-only, а другой 1 хоп
weko orignal: херового
weko Надо сделать
orignal так публикуй только хорошие
weko orignal: ну предположим я и создаю только лучшие по своему усмотрению. Но всё равно какой-то лучше других
orignal но там есть properties
orignal в которые можно писать что угодно
weko Хотя это деанон будет... Полезно только когда 0/1 хопов
orignal я там можешь написать "у вас продается славянский шкаф" и порядковый номер лиза
weko Вот у меня предположим анонимная впска где только ipv6
weko orignal: лол:)
orignal лучше обновись до последнего коммита - рейт резко вырастает
weko А что там? Убрал U с концов?
orignal гарантированно выбираю с ipv4 для концов
weko Кстати, а пофиксил обращение к интродьюсерам? Думаю тоже должно помочь
orignal я же не могу разорваться
weko [22:36:34] <orignal> гарантированно выбираю с ipv4 для концов
weko Но вот у них не обязательно есть ipv6. Выходит что иногда будет ко мне не достучаться. Потому мне нужны будут и 0-хоп туннели и 1-хоп туннели
weko orignal: да просто спросил
orignal не ну пару тоннелей же тоже не как попало выбирают
orignal а по соместимости
weko Так а если у клиента так вышло что на концах ipv6 нету
weko Ни одного вообще
orignal по уму надо отстраивать новый
orignal чтобы был
orignal потому счас и сделано чтобы на концах был 4
weko По уму надо специально строить так чтобы всегда был
weko orignal: понимаю
orignal нунах
weko Чтобы всегда был ipv6, ipv4, ssu2, ntcp2
weko Каждый из 4 вариантов
orignal и ygg ))
weko Ну а лиссет выходит обновлять надо. Либо как ты сказал properties добавлять. Чтобы можно было указывать прямо там доступные типы подключений концов (чтобы сразу нужный RI получать) и чтобы указывать приоритет туннелей
weko [22:41:41] <orignal> и ygg ))
weko Ну это ещё подумать надо как грамотно сделать
orignal там много чего можно
weko Ну вообще по-уму надо делать разные сети для разных типов коннектов. А связность делать как дополнительную фичу
orignal я согласен что ставить все время ipv4 это тупость
orignal вместо этого ты правильно говоришь что надо строить разнообразные тоннели
weko Ну да, ipv6 же ничем не хуже. Платить за него не хочется)
weko [22:46:38] <weko> Ну вообще по-уму надо делать разные сети для разных типов коннектов. А связность делать как дополнительную фичу
weko Например, ygg с NetID 3, и чтобы была связность, надо будет написать в туннеле NetConnection=2, ....
weko Тогда будут строиться туннели через роутеры где NetID=2,3 , ну и там дальше могут быть роутеры чисто NetID=2. Было бы полностью логично делать так. Может сделать типо подсети главной сети NetID=2, чтобы можно было например создавать чисто свои сети, которые с главной никак
weko не связаны (test net например), и подсети, которые будут иметь возможность при желании связывать с другими подсетями
weko По битовой маске например
weko Сейчас же 00000011 main net. Сделать что главная сеть имеет маску 0000000/5, и занять для ygg 00000100/5 (3 в десятичной)
orignal так можно битовую маску доступных трапспортов публиковать как я внутри храню
weko А если кто-то свою хочет то пусть например берёт 0000100/2
weko orignal: тоже вариант, надо подумать
weko Просто проблема что на каждый тип коннекта нужен будет 1 бит. А типов уже 6
orignal я деду эту мысль давно предлагал
orignal пока типов только 5
weko А ну да 5
weko ygg ssu2 нету
orignal с ним еще конь не валялся
weko В перспективе просто может куда больше быть
weko Даже если с запасом 32 бита взять - а вдруг не хватит?
orignal пока у меня 8 бит
weko NetID с маской перспективнее в этом плане мне кажется. Сейчас даже распишу
weko Думаю придётся другое название, чтобы совместимость оставить. Цифра 2 тут вообще не удобна
weko Берём так:
weko 32 бита (как IP условно говоря)
weko 1.1.0.0/16 - main net
weko 1.1.1.0/24 - подсеть обычного интернета (на данный момент IPv4 и IPv6, NTCP2 и SSU2)
weko 1.1.1.32/27 - подсеть NTCP
weko 1.1.1.64/27 - подсеть SSU
weko 1.1.1.38/30 - NTCP2
weko 1.1.1.68/30 - SSU2
weko 1.1.1.39/32 - NTCP2 IPv4
weko 1.1.1.40/32 - NTCP2 IPv6
weko 1.1.1.69/32 - SSU2 IPv4
weko 1.1.1.70/32 - SSU2 IPv6
weko 1.1.2.16/28 - подсеть YGG
weko 1.1.2.20/30 - Ygg NTCP
weko 1.1.2.24/30 - Ygg SSU
weko 1.1.2.21/32 - Ygg NTCP2
weko 1.1.2.25/22 - Ygg SSU2
weko Ну вот так например
weko Хотя можно на ygg и побольше подсеть выделить
weko Можно вообще 128 бит чтоб точно хватило и был запас на каждого исключительного
weko Надо тебе доступ к сети YGG - делаешь конфиг чтобы строились туннели для 1.1.2.16/28
weko И будет строиться так чтобы концы покрывали эту подсеть
weko Правда не понятно кое что... Например я Ygg роутер, имею 1.1.2.21 и 1.1.2.25, но я не буду как бы "покрывать" 1.1.2.16/28
weko Выходит что нужны будут шаблоны, например ygg будет 1.1.2.21 и 1.1.2.25, а при обновлении шаблон можно дополнить
weko Ой бля а с флудфилами то что делать
weko Ааааа бля
Vort "важна тенендцния у улучшению" - я о другом говорю. одной из задач у меня было понять, насколько сильно влияют U узлы на рейт. могли вообще не влиять, могли только они и гадить. а получилось, образно говоря, посредине
Vort "<weko> Vort: вот бы статистику по версии протокола и реализации" так хрен его знает, от чего зависимость. может какой-то ещё кластер допустим гадить
Vort допустим, кластер с определённой версией и реализацией. подумаем, что дело в версии и реализации, а будет дело чисто в кластере
Vort я считаю, что надо ловить откуда таймауты берутся. как для U, так и для R
Vort даже без U таймаутов многовато. хоть и не overдохрена как с U. вот за ночь что набралось:
Vort TCSR[1]: 0.921 (S: 632, T: 26, F: 28, T/F: 0.9)
Vort TCSR[2]: 0.484 (S: 498, T: 436, F: 95, T/F: 4.6)
Vort TCSR[3]: 0.516 (S: 1161, T: 831, F: 257, T/F: 3.2)
Vort TCSR[T]: 0.578 (S: 2291, T: 1293, F: 380, T/F: 3.4)
Vort взять вот допустим один хоп. он ведь преимущественно из соединённых пиров строится, верно? откуда же тогда там половина таймаутов?
Vort хотя всё же решил таймауты по версиям глянуть. для 1 хопа. вот что получилось: javaTimeouts: 17 | i2pdTimeouts: 3
Vort попробую ещё вот что. для 3 хопов статистику по туннелям java-java-java и i2pd-i2pd-i2pd
Vort чтобы не трахать мозг с выделением сигнала из шума
Vort вот что вышло: javaTimeouts: 83 | i2pdTimeouts: 20
Vort получается, примерно 80% таймаутов из-за Java
Vort если объединить с моими прошлыми результатами, то выходит так: 80% таймаутов из-за U, 16% из-за Java R, 4% из-за i2pd R
Vort посчитал TCSR отдельно для java и i2pd. хоть бы не ошибся. но никто видимо не будет перепроверять (
Vort TCSRJava[1]: 0.908 (S: 426, T: 19, F: 24, T/F: 0.8)
Vort TCSRJava[2]: 0.520 (S: 116, T: 90, F: 17, T/F: 5.3)
Vort TCSRJava[3]: 0.518 (S: 146, T: 106, F: 30, T/F: 3.5)
Vort TCSRJava[T]: 0.706 (S: 688, T: 215, F: 71, T/F: 3.0)
Vort TCSRI2Pd[1]: 0.937 (S: 222, T: 6, F: 9, T/F: 0.7)
Vort TCSRI2Pd[2]: 0.563 (S: 94, T: 52, F: 21, T/F: 2.5)
Vort TCSRI2Pd[3]: 0.613 (S: 76, T: 24, F: 24, T/F: 1.0)
Vort TCSRI2Pd[T]: 0.742 (S: 392, T: 82, F: 54, T/F: 1.5)
Vort получается, что хоть у java и больше таймаутов, но на TCSR это не сильно влияет
Vort i2pd фейлится с ошибками, java фейлится с таймаутами, но количество неудач схоже
Vort ещё кое что оказывается упустил: у java больше таймаутов частично из-за того, что самих java в туннелях больше. в 2 раза
Vort в 2 раза больше java и в 2 раза больше таймаутов у java получается в среднем в 4 раза таймаутов больше (знаю, что путано объяснил, но как вышло)
tetrimer Vort: >посчитал TCSR отдельно для java и i2pd.
tetrimer А есть у Вас где-то описание: как считать все эти показатели?
Vort tetrimer: у меня есть патч для i2pd который логирует данные и программа на C# которая анализирует логи. сейчас выложу
tetrimer Vort: Под фрей C# - не заработает...
Vort вот ветка с патчем, там два коммита: github.com/Vort/i2pd/tree/only_r2
Vort первый - логирование, второй - исключение U из своих туннелей
Vort tetrimer: там разве не работает Mono ?
tetrimer Его еще ставить и изучать надо... Если просто парсить текстовые логи - то проще на awk, или perl вспомнить...
Vort ставится небось одной командой
Vort собирается второй командой )
Vort программа то есть собирается
Vort это не C++ с хитрозакрученной системой сборки
Vort mcs Program.cs
Vort mono Program.exe
Vort вроде всё
Vort вот данные за сегодняшнюю ночь: paste.i2pd.xyz/?dd72c023ab5a2265#C8QPV7rhLW5vHQmyTsDkijgQ4JGVM5eTbUQFG1zWEFkV
Vort чтобы заработало, надо пути подправить - программе нужно расположение netdb
Vort ну и там конечно хаос - так как цели, которые я ставил перед этой программой, постоянно менялись :)
Vort "Если просто парсить текстовые логи" - routerInfo из netdb ещё парсить надо, они не текстовые
tetrimer Понятно... Попробуем поставить mono.
tetrimer i2pd собрался, правда - без версии.
tetrimer Blinded message
tetrimer i2pd version (0.9.56)
tetrimer Boost version 1.82.0
tetrimer OpenSSL 1.1.1t 7 Feb 2023
tetrimer Какой уровень логирования включить?
tetrimer Что-то даже заработало:
tetrimer # mono Program.exe
tetrimer Hops: 1 | Reachable: 682, Total: 682, R/T: 100%
tetrimer Hops: 2 | Reachable: 1298, Total: 1326, R/T: 98%
tetrimer Hops: 3 | Reachable: 3140, Total: 3177, R/T: 99%
tetrimer TCSR[1]: 0.914 (S: 796, T: 34, F: 41, T/F: 0.8)
tetrimer TCSR[2]: 0.475 (S: 623, T: 569, F: 120, T/F: 4.7)
tetrimer TCSR[3]: 0.497 (S: 1479, T: 1148, F: 350, T/F: 3.3)
tetrimer TCSR[T]: 0.562 (S: 2898, T: 1751, F: 511, T/F: 3.4)
tetrimer Но это, я так понимаю, надо анализировать свой лог по своей NetDb...
Vort "Какой уровень логирования включить?" - без разницы. патч делает свой лог, независимый от основного
tetrimer А куда он его пишет-то?
Vort "под себя"
Vort наверно туда же, где и бинарник
Vort или рабочая директория...
tetrimer Кто-ж ему даст туда писать... :)
Vort ну у меня под виндой рядом с бинарником
Vort кстати может патч надо доделать
Vort сейчас проверю кое что
Vort да, его доделать надо .сейчас логирование под секцией #ifdef _WIN32
Vort надо его перенести наверх и поставить путь для лог файла по вкусу
Vort StartProfiling(); и StopProfiling(); надо в начале и в конце main воткнуть
Vort это я всё про i2pd.cpp говорю
tetrimer Блин, я не настолько "программист", чтобы что-то поставить "по вкусу". :(
Vort ну я могу попробовать зашить путь. какой поставить?
Vort для лог файла
tetrimer Можно поставить что-то универсальное: /var/tmp/... или просто /tmp
tetrimer Это для unix-систем...
Vort ага
tetrimer У винды же тоже есть %TEMP%...
Vort сейчас попробую переделать
Vort такс. поменял. вот вариант коммита: github.com/Vort/i2pd/commit/4451a777c42610c167647b200ecc3f71b3319373
Vort tetrimer: ^^ так соберётся?
tetrimer Сейчас попробую.
Vort вообще странно, что прошлый вариант даже собрался. там же переменные под #ifdef _WIN32
tetrimer Хмм, по git clone - приехал не такой файл...
Vort там же ветка
Vort only_r2
Vort -b only_r2 или как-то так, не помню
Vort в основной ветке у меня старьё какое-то
Vort надо именно ветку only_r2 собирать
tetrimer Ага, теперь похоже.
tetrimer Собралось, сейчас попробую запустить...
Vort окей
Vort файл с логом 2 раза в минуту должен обновляться
Vort файл /tmp/crstat.txt должен создаться сразу, а появиться данные там должны где-то через минуту
tetrimer А если его переименовать, например, при смене суток? Создастся новый?
Vort скорее всего в переименованный будут данные идти. если вообще ОС позволит его переименовать
tetrimer fopen делается два раза в минуту, или один раз при запуске демона?
Vort ну да нарезать его можно уже при анализе
Vort один раз
tetrimer Понятно, тогда лучше не трогать...
Vort и не такой уж он жирный чтобы его резать просто так
Vort у меня за неделю мегабайт 10 набралось
Vort но его же можно копировать в процессе работы
Vort по крайней мере, у меня проблем не было с этим
Vort то есть, можно скопировать в каталог с программой для анализа
weko [06:09:08] <Vort> "<weko> Vort: вот бы статистику по версии протокола и реализации" так хрен его знает, от чего зависимость. может какой-то ещё кластер допустим гадить
weko [06:09:55] <Vort> допустим, кластер с определённой версией и реализацией. подумаем, что дело в версии и реализации, а будет дело чисто в кластере
weko Потому чем больше статистики тем лучше. Но а любом случае лучше чтоб было чем не было
weko [06:58:52] <Vort> i2pd фейлится с ошибками, java фейлится с таймаутами, но количество неудач схоже
weko В любом случае возврат ошибки куда лучше
tetrimer service i2pd onestart
tetrimer Starting i2pd.
tetrimer /usr/local/etc/rc.d/i2pd: WARNING: failed to start i2pd
tetrimer Но при этом сам демон - стартанул и делает вид, что работает...
tetrimer -rw-r--r-- 1 root wheel 0 12 июля 12:32 /tmp/crstat.txt
tetrimer Файл crstat - пока пустой...
tetrimer Routers: 11301 Floodfills: 1008 LeaseSets: 60
tetrimer Client Tunnels: 61 Transit Tunnels: 735
tetrimer Поменял владельца файла на _i2pd, перезапустил демона - все равно в crstat.txt ничего не пишет...
Vort если файл создался, то наверно же хватает прав?
Vort может, ОС ошибается, что там пусто? стоит попробовать его скопировать куда-то
Vort а, я же flush не делаю. может в этом причина
tetrimer Может...
Vort хотя вроде std::endl должен flush делать. загадка
Vort я попробую под линукс собрать и посмотреть, может воспроизведётся. только попозже
tetrimer Может проще файл закрывать каждый раз после записи?
Vort не закрываю чтобы не влез какой-то процесс и не захватил файл (антивирус, допустим)
Vort да тут какой-то баг просто. попробую выловить
weko Vort: это ж варворство называется
weko Чужие файлы трогать
weko За подобное не разработкчик программы-жертвы отвечает
Vort "<tetrimer> Может проще файл закрывать каждый раз после записи?" у меня подозрение, что ОС может не нравится открытие файла в одном потоке, а запись в другом
Vort да и я там скорее всего "гонку" устроил
Vort tetrimer: может, вот так заработает? github.com/Vort/i2pd/commit/687db6468da16f48390743bdb887b891595e0b4b
Vort там только i2pd.cpp изменён, должно быстро дособраться
Vort если не заработает, тогда буду в виртуалке тестировать - хотелось бы этот баг выловить
Vort хотя засуну даже этот файл целиком в поток. не так уж он нужен в глобальном пространстве имён
Vort и flush на всякий случай втулил: github.com/Vort/i2pd/commit/59b5bdcef8b09e86f78bac0549a25ec3526a8fbb
Vort вот теперь если баг всё ещё не прихлопнут, это будет значить, что проблема не в файлах, а где-то в другом месте
tetrimer Спасибо, сейчас буду пробовать...
orignal там же форк делается
orignal все файлы который котрыты до него заккываются
Vort orignal: в линуксе нельзя открыть файл в одном потоке и писать в другом? :(
orignal нет
Vort ну тогда есть шанс, что проблему я исправил
orignal надо переоткрывать
Vort так как запихал всё в один поток
tetrimer В теории - надо передавать хэндл открытого файла...
Vort только сейчас увидел, что GHA бинарник для FreeBSD собирает :)
Vort (сработает только если залогинен в GitHub) github.com/Vort/i2pd/suites/14240230568/artifacts/799636728
tetrimer 6.2Мб - это без дебага.
tetrimer lrwxr-xr-x 1 root wheel 28 12 июля 12:34 /usr/local/bin/i2pd -> /usr/local/bin/i2pd-248-Vort
tetrimer -rwxr-xr-x 1 root wheel 86914128 12 июля 13:53 /usr/local/bin/i2pd-248-Vort
Vort ну так дебаг в данном случае не сильно и помог :)
tetrimer Не-а, все равно не пишет в лог... :(
Vort хоть бы в линуксе воспроизвелось
tetrimer Сейчас попробую собрать под убунтой
Vort tetrimer: но файл хоть создаётся? именно программой
tetrimer Я предыдущий не удалял
Vort стоит проверить
Vort будет понятно, запустился ли поток
Vort так как создание теперь в потоке
tetrimer Да, файл при запуске - создается (теперь сразу от пользователя _i2pd), но в него никто не пишет...
Vort понял
tetrimer Сейчас соберется под линуксом - проверю там...
tetrimer Vort/i2pd$ ./i2pd --version
tetrimer i2pd version 2.46.1-181-g59b5bdce (0.9.59)
tetrimer Boost version 1.74.0
tetrimer OpenSSL 3.0.2 15 Mar 2022
tetrimer terminate called without an active exception
tetrimer Аварийный останов (образ памяти сброшен на диск)
Vort я тоже под линуксом собираю. только не знаю пока ещё как настраивать
tetrimer Но файл - уже создал. :)
Vort создал и сразу же крешнулся что ли
Vort это уже убунту?
tetrimer Ага.
tetrimer Причем - это даже не запуск, а просто версию спросил...
Vort проще баг ловить )
tetrimer Сейчас отвалюсь на пару минут...
Vort ок
Vort у меня пока в линуксе соберётся, много времени пройдёт
Vort ага. и у меня крашнулось и у меня файл создался. никуда значит баг не уйдёт ) ну пока что...
tetrimer Может проще задействовать уже имеющийся в i2pd механизм записи в лог?
Vort мне не помешает разобраться в особенностях линукса
tetrimer Log.h и иже с ним... Там только имя файла другое подсунуть...
Vort я понял из-за чего креш идёт. но к пустому файлу это отношения не имеет. теперь смотрю почему может быть файл пуст
Vort ага, а вот файл у меня не пустой. сейчас покажу как креш залатать
tetrimer Обновление 59b5bdce..47de1d75 - оно?
tetrimer Да, не падает.
Vort ещё варнинг убрал
Vort наверно пустота файла связана как-то с запуском в режиме демона
Vort потому что самое простое - ./i2pd
Vort у меня файл наполняет
Vort не знаю только где при этом все файлы данных - netdb и прочее, но да наверно не важно
Vort ну или дело в отличиях Ubuntu и BSD
Vort а, нашёл: Data path: /home/vort/.i2pd
Vort может, демон запускает программу как бы дважды и процессы дерутся за файл?
tetrimer У меня почему-то по git clone -b only_r2 github.com/Vort/i2pd.git получается версия -DGITVER=2.46.1-183-gf7795f70
tetrimer Несколько раз удалял - притаскивал...
Vort ну так я же на неё ссылку и дал
Vort всё правильно
Vort я успел ещё предупреждение починить
Vort в общем, gf7795f70 - это то что надо
tetrimer Смущает версия 2.46.1 Или можно просто сам файлик i2pd.cpp переместить в актуальное дерево openssl?
Vort так у меня тегов то нету в репозитории
Vort мог бы починить, но важно ли это?
Vort точнее, наверно, один тег когда-то я сделал и всё
Vort нет, одного файлика мало
tetrimer Ок, пока собираю так и пробую запустить...
Vort важно проверить, будет ли писаться в файл при запуске ./i2pd из консоли в ubuntu
Vort у меня пишется. но у меня правда ubuntu старая. может в новых новые проблемы какие-то
Vort вижу при запуске демона какие-то демонические шаманства с fork. видимо, запуск логирования надо ещё глубже засовывать
Vort ну да всё равно когда его запустить. лишь бы запустить
Vort сейчас попробую передвинуть
tetrimer июл 12 15:33:35 filled-by-LTN systemd[1]: Starting I2P Router written in C++...
tetrimer июл 12 15:33:35 filled-by-LTN i2pd[17047]: [274] i2pd v2.46.1-183-gf7795f70 (0.9.59) starting...
tetrimer июл 12 15:33:35 filled-by-LTN i2pd[17045]: terminate called without an active exception
tetrimer июл 12 15:33:35 filled-by-LTN systemd[1]: i2pd.service: Control process exited, code=dumped, status=6/ABRT
tetrimer июл 12 15:33:36 filled-by-LTN systemd[1]: i2pd.service: Failed with result 'core-dump'.
tetrimer июл 12 15:33:36 filled-by-LTN systemd[1]: Failed to start I2P Router written in C++.
tetrimer Не взлетает...
Vort демон? ну так про демона я только что сказал
Vort сейчас попробую его починить. правда, наугад
tetrimer А если просто из консоли пускать с ключиками, кроме service - то процесс наглухо (и молча) виснет и снимается только по kill -9
tetrimer И корок - нигде нету. :(
Vort ого загадка
Vort ну я пушнул изменение (починку демона наугад)
Vort в винде и в консоли убунты проверил - работает
Vort а вот как демона проверить - пока ещё не знаю
Vort WITH_GIT_VERSION кстати при разработке лучше не ставить
Vort из-за него пересборка с нуля перезапускается
Vort не могу в доках найти как демона настраивать при сборке вручную. наверно линукс юзеры это наизусть помнят. я же только догадываюсь, что надо как-то теребить systemd :(
tetrimer При копировании файлов настроек в юзерский ~/.i2pd - запускается и даже пишет данные в файлик:
tetrimer 8285 июл 12 15:56 /tmp/crstat.txt
Vort это с прошлой версией?
tetrimer Blinded message
tetrimer i2pd version 2.46.1-183-gf7795f70 (0.9.59)
tetrimer Видимо уже прошлой.
Vort а я вот всё пробую демона запустить
Vort sudo make install что-то установил, но вот запуск sudo systemctl start i2pd выдаёт ошибку
Vort стоит попробовать через cmake пересобрать? может он нормально установит?
Vort я просто make`ом из корня собрал
tetrimer Я просто меняю бинарники от версии к версии... Все работает.
Vort в смысле первая установка с пакета, а потом пакету подсовывать свежие бинарники?
Vort у меня ещё есть надежда, что есть более чистый метод
Vort попробую через cmake значит
tetrimer А потом просто копирую бинарник туда, где лежит старый и симлинками - разруливаю...
tetrimer install же просто выполняет сценарий, прописанный в мейкфайле: копирует куда надо бинарь и файлы конфигурации, прописывается в sysctl или кто там стартом в системе заведует.
Vort ну вот он мне нифига в systemd не прописал похоже
tetrimer find /lib/systemd/ -name "*i2pd*"
Vort пусто
Vort сейчас cmake доделается, там попробую
tetrimer Тогда надо в src найти:
tetrimer i2pd$ find ./ -name "i2pd.service"
tetrimer Blinded message
tetrimer Blinded message
tetrimer Blinded message
Vort и с cmake нифига (
tetrimer И что-то из них скопировать в /lib/systemd/system/i2pd.service
Vort вручную файлы покопировать?
tetrimer Ну а что тут такого? :)
Vort то, что не документировано и легко ошибиться. в общем, чуть позже попробую
tetrimer Потом можно спросить systemctl status i2pd.service
tetrimer Vort: >то, что не документировано и легко ошибиться.
tetrimer Почему не документировано? Команда make -n install - покажет то, что должно быть сделано. И все эти операции - можно пошагово произвести из консоли.
tetrimer Версия g765d3dd7 - запустилась и пишет в файлик...
tetrimer Это под убунтой...
Vort "Команда make -n install - покажет то, что должно быть сделано" - говорю же - оба make`а ничего мне в systemd не установили. ну или я не заметил :)
Vort "запустилась и пишет в файлик..." - через демона или через консоль?
tetrimer1 Инсталл - от рута делался?
Vort да
tetrimer Я бы тогда попробовал установить стандартный пакет из релизов...
Vort systemd ругается на неправильные пути. install не туда куда надо поставил похоже
tetrimer Кто писал сценарий install? :)
Vort про юзеров тоже ругается. мне и юзеров вручную создавать что ли? )
tetrimer А как же! :)
tetrimer Вот так примерно: i2pd:x:123:132::/var/lib/i2pd:/bin/false
Vort root root сработало. по крайней мере стартануло без матюков
tetrimer Через vipw добавляем строчку с юзером: там оно само разложит куда надо...
Vort ну и путь поправил
Vort файлик логов наполняться начал. в консоли Data path: /var/lib/i2pd
Vort теперь бы понять, настроен ли автозапуск...
tetrimer В статусе - оно пишет.
tetrimer systemctl status ...
tetrimer О. под фрей - тоже пошло писать в лог... Завтра будут данные.
Vort Loaded: loaded (/lib/systemd/system/i2pd.service; disabled; vendor preset: enabled)
Vort disabled похоже значит, что нет автозапуска. вот и супер
Vort "Завтра будут данные." - можно хоть через 5 минут файл скопировать и потестировать его обработку
Vort мало ли - вдруг ещё какой-то баг вылезет
tetrimer А, вот теперь ему надо сказать enable service. Тут я всегда путаюсь с очередностью.
Vort да мне как раз не надо enable. я же просто проверил, что файл пишется. каждый раз запускать в виртуалке i2pd мне не надо :)
weko Кто-то читал то, что я про NetID расписывал?
tetrimer $ mono Program.exe
tetrimer Hops: 1 | Reachable: 0, Total: 0, R/T: NaN%
tetrimer Hops: 2 | Reachable: 8, Total: 8, R/T: 100%
tetrimer Hops: 3 | Reachable: 82, Total: 84, R/T: 98%
tetrimer TCSR[1]: 1.000 (S: 1, T: 0, F: 0, T/F: NaN)
tetrimer TCSR[2]: 0.750 (S: 6, T: 2, F: 0, T/F:Infinity)
tetrimer TCSR[3]: 0.456 (S: 52, T: 45, F: 17, T/F: 2.6)
tetrimer TCSR[T]: 0.480 (S: 59, T: 47, F: 17, T/F: 2.8)
tetrimer TCSRJava[1]: NaN (S: 0, T: 0, F: 0, T/F: NaN)
tetrimer TCSRJava[2]: NaN (S: 0, T: 0, F: 0, T/F: NaN)
tetrimer TCSRJava[3]: 1.000 (S: 3, T: 0, F: 0, T/F: NaN)
tetrimer TCSRJava[T]: 1.000 (S: 3, T: 0, F: 0, T/F: NaN)
tetrimer TCSRI2Pd[1]: NaN (S: 0, T: 0, F: 0, T/F: NaN)
tetrimer TCSRI2Pd[2]: 1.000 (S: 2, T: 0, F: 0, T/F: NaN)
tetrimer TCSRI2Pd[3]: 0.500 (S: 1, T: 0, F: 1, T/F: 0.0)
tetrimer TCSRI2Pd[T]: 0.750 (S: 3, T: 0, F: 1, T/F: 0.0)
tetrimer Работает?
Vort работает
tetrimer Отлично!
Vort weko: мне не понятно, требует ли это каких-то изменений в протокол
weko Vort: ну это и есть само по себе изменение
Vort в какой из протоколов? их же в i2p много
weko Не так уж и много
weko NTCP, SSU, I2NP, Streaming, Datagrams ... и кажется всё
Vort tetrimer: только надо чтобы правильный каталог netdb был (ну то есть актуальный)
weko Ну ещё модификация bittorrent, но это уже уровень приложения
Vort weko: так в какой из них предлагаешь вносить изменения?
weko Vort: так понятно в какой
tetrimer Там он один. Я, вроде бы, исправлял в исходнике...
Vort ну окей
Vort остальные там были в комментарии
weko Vort: ты же знаешь за что каждый отвечает
weko И читал о чём была речь
Vort я не настолько хорошо понимаю работу i2p, как может показаться :)
Vort ну да не важно. мне хватило "погони за демонами" :)
tetrimer Vort: Догнали же в конце концов. :) Осталось только смержить изменения с актуальным деревом openssl - и можно тиражировать сбор статистики.
weko Этого точно не надо
weko Vort же писал что там костыли
tetrimer Не в дерево openssl, а чтобы у Vort-а было актуальное дерево.
weko Ветка. Окей, изначально по другому написал просто
tetrimer Ну, фиг знает: как это правильно назвать... Расплодили тут с этим гитом вариаций...
Вертихуй кст O это сколько у нас... ща rtfm учиню
Вертихуй мб мой можна флудфилом. ип4 белый есть
Вертихуй ну у меня 10 Mbps
Вертихуй 256 k есть заведомо
Вертихуй включу фф
segfault orignal: Makefile, который лежит в каталоге проекта выглядит так, как будто его генерирует Autotools, а не CMake.
orignal он вручную написан
orignal его никто не генериурет
segfault А зачем тогда вообще cmake?
orignal затем чтобы ты спросил
orignal отвали а?
segfault Если я добавляю файл, то его просто cmake должен увидеть или мне его ещё и в Makefile'ы дописывать?
orignal ничего не надо
orignal Makefile сам подхватит
orignal что там с cmake я не помню
tetrimer 9,99segfault99,99: погуглите "синтаксис makefile". Это же просто текстовый файл-сценарий...
orignal да ему это неинтернесно
segfault Я знаю что такое Makefile
segfault Я их сам пишу
segfault CMake ненавижу
orignal а хули тогда мозги ебешь?
segfault Я думал что есть какой-то скрипт, который смотрит что есть в каталоге и обновляет Makefile
segfault Самописный
orignal там же внутри проход по директориям
segfault Я слепой
segfault Сорри
tetrimer Это если есть configure. :)
segfault Так configure это autotools
segfault Он его генерирует
segfault Через automake например
segfault точнее autoconf
orignal заебали
orignal никаго automake там нету
orignal и Makefile менять не надо
tetrimer Эх, хорошая фича была в полуосевом rexx. Написал текстовый файл, "скомпилировал" его, а потом текст из файла можно удалить, а файл продолжит работать.