~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
вот программа для обработки: paste.i2pd.xyz/?de2daf59493b7770#EcYvsQoqRdvRVmFk4MVEVUwmxbHhkck7t25fmEWphgLs
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 набралось
tetrimer
:)
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
Abort
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> Может проще файл закрывать каждый раз после записи?" у меня подозрение, что ОС может не нравится открытие файла в одном потоке, а запись в другом
zerozerozero
1/
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 есть заведомо
Вертихуй
включу фф
orignal
256
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. Написал текстовый файл, "скомпилировал" его, а потом текст из файла можно удалить, а файл продолжит работать.