~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
l13kdsa
до атаки, на нормальном роутере не за фаерволом:
l13kdsa
2182 router.version=0.9.58; 1219 router.version=0.9.56; 609 router.version=0.9.57; 175 router.version=0.9.55;
l13kdsa
правда на тот момент у меня ff не включен был вроде
orignal
мне и дрозд что то гвоорил что 0.9.56
l13kdsa
если я закину роутеры не первой свежести в netDb i2pd их отбросит да?
l13kdsa
в прочем, учитывая что там внутри есть таймштамп, думаю скорее всего да
orignal
через 10 минут выкинет
l13kdsa
погоди, а в случае first start он разрешает просроченные роутеры? Чтобы закинуть например прошлогодний netDb архив к примеру
user
Java i2p:
user
RouterInfos have no set expiration time. Each router is free to maintain its own local policy to trade off the frequency of RouterInfo lookups with memory or disk usage. In the current implementation, there are the following general policies:
user
There is no expiration during the first hour of uptime, as the persistent stored data may be old.
user
There is no expiration if there are 25 or less RouterInfos. As the number of local RouterInfos grows, the expiration time shrinks, in an attempt to maintain a reasonable number RouterInfos. The expiration time with less than 120 routers is 72 hours, while expiration time with 300 routers is around 30 hours.
user
RouterInfos containing SSU introducers expire in about an hour, as the introducer list expires in about that time.
user
Floodfills use a short expiration time (1 hour) for all local RouterInfos, as valid RouterInfos will be frequently republished to them.
l13kdsa
ну ладно, хм, может ради эксперемента откатиться на бэкапный netDb
l13kdsa
спасиб
l13kdsa
если кто хочет глянуть, вот команда под линь, выполнять находясь в каталоге netDb:
l13kdsa
grep -a -R -o 'router.version=.*;' | cut -d';' -f 1 | cut -d':' -f 2 | sort | uniq -c | sort -rn
user
Top 5:
user
7544 router.version=0.9.56
user
4445 router.version=0.9.58
user
1477 router.version=0.9.57
user
527 router.version=0.9.55
user
186 router.version=0.9.51
l13kdsa
отвал
l13kdsa
какой быстрый привал
orignal
так ацетон отвалился
orignal
пойду пересоберусь
l13kdsa
кстати, по капсам, самый жирный - 8329 caps=LU
l13kdsa
кстати, по капсам, самый жирный - 8329 caps=LU (повтор на всякий случай для orignal)
orignal
ха
orignal
а верися какая?
orignal
то есть LU это как раз нормально
orignal
это обычные обыватели
orignal
<blngq> netbsd i2pd has been working great
orignal
на тему бздунов
orignal
он как раз собрал последний коммит
l13kdsa
хотя, по поводу капсов, там есть и цифровой вариант, я хз, он ещё жирнее: 10644 caps=4
l13kdsa
> а верися какая? < щас попробую распарсить
orignal
неее caps=4 это дргой
orignal
это который адреса а не роутера
orignal
там 2 вида
l13kdsa
что ж, если мои ковыряния верны, то, вот: 6031 caps=LU;netId=2;router.version=0.9.56;
l13kdsa
так что, походу все просто сидят на старой версии просто потому что она работает...
l13kdsa
класс, в netDb даже можно наковырять роутеры (их количество), которые известны другим (наверное флудфилам)
orignal
да это число тоолько флудфилы публикуютсч
l13kdsa
20578;router.version 0.9.55;
l13kdsa
19461;router.version 0.9.55;
l13kdsa
18998;router.version 0.9.58;
l13kdsa
18928;router.version 0.9.58;
l13kdsa
18860;router.version 0.9.58;
l13kdsa
18730;router.version 0.9.58;
l13kdsa
пытаюсь распарсить как могу, в этих полубинарных файлах)))
l13kdsa
хех, названия family видно)
orignal
конечно вижно
user
Туннели резко в рост пошли
orignal
аидпть баны у джавистов истекли
user
Только 4хоп туннели всё равно не строятся
user
И 3хоп с трудом
user
Откатились обратно 18к -> 11к
l13kdsa
Во, точно растёт, подтверждаю, ещё бы флудфилы tcsr бы слали...
orignal
шлют для зондирующих
orignal
джавовские
orignal
там какой то хитрый формат который даже дед не знает
orignal
кстати семейство gostcoin это мое
wat
Кто здесь работает на плюсах?
orignal
для тебя никто
orignal
а вообще много кто
wat
:\
Vort
tetrimer: там же вроде при анализе дампа надо путь к бинарнику указывать. это ж не винда, где такое делается автоматически
weko
[22:16:05] <l13kdsa> погоди, а в случае first start он разрешает просроченные роутеры? Чтобы закинуть например прошлогодний netDb архив к примеру
weko
Вроде да
weko
Туннели ушли, TCSR чуть подрос
weko
А
weko
Это по другой причине))
Vort
у меня 10%, примерно как и в предыдущие дни когда волны не было
Vort
хоть это уже и много раз обсуждалось, но у меня в очередной раз возникло подозрение, что нынешние 10к транзитных туннелей могут быть делом рук юзеров
Vort
если у децентрализированного приложения с вот таким количеством Client Tunnels есть заметное количество юзеров, то это вполне может давать такой эффект:
Vort
а если оно вдруг ещё написано как попало, то и трафик бесполезный может тоже создавать
Vort
атаки, как я вижу, имеют более пиковый характер
l13kdsa
количество старых версий только выросло
Vort
по куче L нод у меня тоже сомнение: не факт, что это обычные юзеры
Vort
по графикам виден рост чисто L узлов, хотя если бы это были обычные юзеры, то и другие типы бы добавлялись
Vort
в java ведь автодетект скорости?
Vort
с чего бы это иметь рост i2pd, но не иметь рост java, где дефолтной L скорости нету (вроде как)
l13kdsa
там ещё могут быть несостыковки, из-за того, что в файлах не только "caps", а ещё есть "ccaps" "-caps"
Vort
l13kdsa: в файлах вперемешку текст и бинарные данные
Vort
надо понимать, где одно, а где другое
Vort
и не рассматривать бинарную длину строки как текст к примеру
Vort
если хочется иметь чисто текст, то стоит RI пропускать через java
l13kdsa
да я вижу, пытаюсь зацепить по сепараторам ";" и убрать непечатаемые бинарные символы, вывод вполне читабелен
l13kdsa
router.exe к сожалению нет возможности стартануть (по некоторым причинам), по этому применить unixway подход
Vort
какой такой exe ? я jar запускал
Vort
надо папку router.jar целиком выковырять из установки джава версии и дальше уже с ней можно работать хоть с помощью OpenJDK
Vort
папку с *
Vort
жаль нет метода скачать эти файлы напрямик. ну или я не нашёл
Vort
я упоминал routerinfo.exe, а не router.exe - и применить его мне не удалось. зато метод с java заработал
l13kdsa
если по флудфилам вычислить среднее их известных роутеров, то получится вот: 7621
l13kdsa
хотя, фиг его знает, эти цифры же можно подменять наверняка
l13kdsa
Vort: > с вот таким количеством Client Tunnels < хм, а что, все таки большое количество туннелей делает хуже?
l13kdsa
А ну да, с учётом банящей джавы
Vort
"а что, все таки большое количество туннелей делает хуже?" - да, расходуется больше ресурсов. не просто так же java не тянет
Vort
в случае если это ошибка (и программист не понимает, что по одному дестинейшену можно много коннектов делать), то это очень желательно исправить
Vort
если для какой-то цели всё же нужно столько туннелей, то надо выяснить, почему и подумать над этим
Vort
в любом случае мне кажется неправильным оставлять это просто так. но надо чтобы кто-то написал разработчику без ругани и наездов. а вот кто так умеет - не знаю
l13kdsa
275 флудфилов (известных моему) знают больше 10000 роутеров
l13kdsa
К сожалению туннелей посмотреть не могу, наверняка они закодированы в бинарных строках
l13kdsa
ещё бы тот router.jar разобрать на сорцы, чтобы попробовать разобрать файл чем-нибудь другим, но только не жавой
Vort
а чем java мешает?
Vort
сорцы есть. могу найти ссылку
Vort
java i2p тоже опенсорс вообще-то
l13kdsa
хотя, вручную байты перебирать тоже как-то не айс...
Vort
вот тут обработка командной строки: github.com/i2p/i2p.i2p/blob/master/core/java/src/net/i2p/util/CommandLine.java
Vort
l13kdsa: упс. не ту ссылку дал. вот правильная: github.com/i2p/i2p.i2p/blob/master/router/java/src/net/i2p/router/CommandLine.java
l13kdsa
да я вот тоже подумал, это ж явно не то было)
l13kdsa
но, спасибо
Vort
оказывается у них там несколько точек входа как бы
Vort
я привык что одна программа - один набор команд. а вот фиг там
Vort
вот: github.com/i2p/i2p.i2p/blob/18a3893185e0a524069eb3a51b35823a8ff31540/router/java/src/net/i2p/data/router/RouterInfo.java#L656-L686
Vort
там видимо у каждого объекта свой toString
Vort
а ниже метод, который вызывает вывод RI public static void main(String[] args) {
Vort
github.com/i2p/i2p.i2p/blob/18a3893185e0a524069eb3a51b35823a8ff31540/router/java/src/net/i2p/data/router/RouterInfo.java#L704-L706
Vort
не пойму пока правда как оно вариант *.dat обрабатывает
Vort
ну да не важно
weko
Можно ещё как вариант запарсить файл в объект RI в i2pd и потом читать параметры
weko
Можно даже в i2pcontrol эту фичу встроить шоб считала
weko
А то читать по куче файлов на диске чревато
Vort
i2pd не всё хранит
Vort
"<weko> А то читать по куче файлов на диске чревато" - в чём проблема? в доступе? ну так с копиями работать надо
weko
Я просто думал либо делать костыльный протокол для получение данных напрямую с роутера (понятно почему это лучше и даже необходимо), либо же расширять i2pcontrol. Думаю второй вариант лучше, однако не уверен что сохраниться суть протокола (возможно, будет хорошая
weko
идея отдельно отмечать параметры, зависящие от реализации. В доках уже есть просто отметки, но думаю можно возвращать код реализации для универсальности)
weko
Vort: при чём тут доступ?
weko
Читать тысячи файлов ну даже раз в 10 секунд - лишний износ диска
l13kdsa
ну, в десять секунд перебор, там netDb обновляется раз в минуту как раз походу
weko
Даже название говорит - i2pcontrol это про контроль, а не получения статистики. Хотя это не главное
l13kdsa
Хотя, именно что читать, это не критично
l13kdsa
А вот писать тонну файлов, вот тут да))
weko
Почему то не хочется пихать всё в i2pcontrol, возможно ошибаюсь и это будет нормально; всё равно мало вариантов есть
weko
Надо сделать обязательную аутентификацию,потому что там куча данных доступно
tetrimer
weko: >Надо сделать обязательную аутентификацию
tetrimer
Или доступ через unix-socket, чтобы только локально было доступно.
weko
Да, хотел предложить
weko
Только для другого
weko
Обязательную не нужно делать, но настоятельно рекомендовать если хост не 127.0/8 стоит
Vort
"<weko> Читать тысячи файлов ну даже раз в 10 секунд - лишний износ диска" во-первых, это от ОС зависит. во-вторых, можно на рамдиск закинуть. в третьих, зависит от цели. если однократный анализ, то пофиг
Vort
"протокол для получение данных напрямую с роутера" если из памяти, а не диска, то я же уже сказал - в памяти обрезанные данные. если читать с диска, то это будет дублирование кода ну и лишние чтения
Vort
хотя если кому-то обрезанных данных достаточно - то можно и так
weko
При чём тут обрезанные данные?
weko
Если данные читаются, значит они имеют значение. Если нет - то это мусор, и он в статистике не нужен
Vort
weko: при том, что для анализа этого может быть мало. а вообще странный вопрос
Vort
"Если нет - то это мусор" - неверно
orignal
tetrimer чувак на openbsd собирал и зпаускал последние коммиты все у него нормальо
Vort
tetrimer: видел моё сообщение про указание файла?
tetrimer
У меня на 13-й версии - тоже пока все нормально.
orignal
у джава тоже L по умаолчани.
weko
Я тут подумал, что некоторые моменты придётся дописывать в метод чтения. И нужны будут только для статистики. Тоесть просто дописать методы в i2pcontrol не выйдет (так, чтобы не менять основной код). Значит либо придётся делать отдельный билд, либо думать что ещё
weko
можно сделать и так ли это нужно
tetrimer
Это там что-то в системе накосячено, раз она свои же debug-файлы не признает.
Vort
orignal: странно. я припоминаю UI для теста скорости. надо будет мне когда-нибудь проверить
weko
[11:21:54] <Vort> "Если нет - то это мусор" - неверно
weko
Верно? Зачем это значение если оно не используется?
orignal
LU это обычное дело
Vort
не используется для работы i2pd, но может использоваться при анализе файлов
orignal
сами они ничего не выставляют
weko
И что ты там увидишь?
Vort
tetrimer: файл указывал при анализе дампа?
weko
Секретное послание?
weko
Типо "мы вас видим"
tetrimer
Vort: Да я там уже "и унитаз приносил и жопу показывал"... И пересобирал несколько раз... :(
tetrimer
Там начинается с того, что gdb пишет про системные библиотеки, что, типа, не могу подгрузить символьный файл из debug версии.
tetrimer
Хотя файлы от одной даты и версии...
Vort
weko: да хоть послание. будет возможность по нему классификацию сделать. забыл что ли "salt" в caps`ах?
tetrimer
Проще будет, после празников, обновить систему до более актуальной. Пока отключил там SSU2 и версию чуть понизил... Вроде работает.
weko
У меня сомнение по поводу встраивания в i2pcontrol вот почему: надо добавить метод который возвращал бы количество java роутеров и i2pd роутеров, но на данный момент протоколом никак это не регламентируется и основано на разном поведении, которое может и поменяться.
weko
Поэтому это костыль, которое не стоило бы встраивать даже в realization specific метод i2pcontrol... orignal , что думаешь?
orignal
зачем оно?
weko
Для статистики
weko
Хочу туда пихнуть много новых методов
l13kdsa
ну вы особо не заморачивайтесь, если я триггернул эту тему, кому надо и файлы может перебрать как-нибудь, все же статистика в i2p это почти рандом основанный на "тенденциях"
weko
l13kdsa: необходимость в инструменте давно тут обсуждалась
weko
Да и статистика не только по NetDb должны быть
l13kdsa
ну, по вопросу нужно ли, в принципе чисто теоритически, например 500 флудфилов внезапно стали знать 10000-20000 роутеров, можно предположить, что снова спам роутерами
weko
Я вот думаю стоит сделать просто возврат поддерживаемых методов
weko
А клиент будет уже понимать что с этим делать и что можно использовать
weko
l13kdsa: да нужно вообще по всем параметрам
weko
Какие только можно
l13kdsa
главное случайно не сделать инструмент деанона по статистике)))
l13kdsa
по такой подробной статистике*
weko
Ну как раз таки будет хорошо что мы узнаем об этом раньше чем различные чмошники
l13kdsa
эх, если бы не атаки, можно было бы не пытаться статистику делать
qend
Blinded message
qend
смотреть количество java роутеров?
Vort
"главное случайно не сделать инструмент деанона по статистике)))" - свой узел - легко. тот кто решится выкладывать статистику, уже не будет анонимен. другие узлы - не особо, так как хакер может сделать (а, точнее, скорее всего, уже делает
Vort
) ровно то же самое
Vort
"<l13kdsa> эх, если бы не атаки, можно было бы не пытаться статистику делать" - для оптимизации работы сети статистика тоже нужна. ну если стараться сделать сеть лучше
Vort
qend: метод, может, и не нужен. данные - нужны. хотя бы самое простое - сделали улучшение - проверили, перешли ли к нам юзеры
Vort
вариант, когда хакер наваливает кучу узлов тоже полезно ловить. вряд ли он будет балансировать i2pd/java разновидности
weko
[11:43:56] <qend> ... метод который возвращал бы количество java роутеров и i2pd роутеров... <- weko: что даст эта статистика, зачем она нужна всем, что ее следует добавить? Если она нужна только тебе конкретно, почему не сделаешь ее для себя, чтобы лично
weko
[11:43:56] <qend> смотреть количество java роутеров?
weko
А зачем делать так, чтобы никто потом не смог воспользоваться?
weko
[11:40:35] <l13kdsa> эх, если бы не атаки, можно было бы не пытаться статистику делать
weko
Не можно
weko
В любом случае нужно сделать
qend
<weko> А зачем делать так, чтобы никто потом не смог воспользоваться?
qend
Я тебя спросил зачем делать то, что никому не нужно?
l13kdsa
чтобы подмайорные узлы не стали юзать готовый инструмент статистики
l13kdsa
это был ответ на "А зачем делать так, чтобы никто потом не смог воспользоваться?"
weko
Эм
weko
А смысл?
weko
Они сделают свой
weko
Какой толе
weko
[12:40:30] <qend> Я тебя спросил зачем делать то, что никому не нужно?
weko
Сначала аргументируй, что никому не нужно и не будет нужно
weko
У меня нет причин полагать, что никому не нужно и не будет нужно, поэтому я сделаю нормальный метод
weko
Впрочем даже если бы и были - все равно бы сделал метод
weko
l13kdsa: закон Мёрфи, слышал?
qend
weko: Аргументируй обратное) мне вот очень нужен метод, чтобы в телеграм еще статистику отправлял, тоже надо бы запилить, вдруг еще кому понадобится ;)
weko
Делай
l13kdsa
ладно, щас будет срач наверное, лучше не пытаться
weko
Где проблема то?
qend
l13kdsa: да, с таким на ru идти
l13kdsa
В технической беседе прост получше
weko
orignal: github.com/PurpleI2P/i2pd/pull/1927
orignal
HandleTunnlBuildI2NPMessage
orignal
чини
weko
Ой бля
weko
Ок
orignal
отсальное нормально
weko
orignal:
orignal
что?
weko
исправил
orignal
чрез 15 минут я на собрании
weko
)
not_bob
I thought the #ls2 meeting started in 45 min?
not_bob
This must be something else.
weko
18:30 utc
weko
now is 15:29 utc
not_bob
OYH, 18, not 16! Hahahah
weko
39*
not_bob
Yeah, my bad there.
weko
heh
orignal
no
orignal
it's 2:30
weko
))
l13kdsa
lul
orignal
смержил
weko
щас ещё доделаю
weko
кое что
weko
boost::asio::ip::address m_LocalAddress;
weko
boost::asio::ip::udp::endpoint m_RemoteEndpoint;
weko
нейминг бомба ))
orignal
а что не так?
weko
это про одно и тоже
weko
только адрес local а endpoint внезапно remote
Vort
weko: endpoint - это address + port
weko
не только
weko
но это понятно
weko
вопрос ведь почему одно local а другое remote
orignal
нет
Vort
ну свой и чужой, нет?
orignal
одно local другое remote
orignal
разные стороны
Vort
свой IP и чужой IP + порт
orignal
да
weko
IP роутера выходит?
weko
там UDP серверный туннель
weko
зачем там свой IP предельно не понятно
orignal
local скрее всего куда bind
weko
а
weko
ну понятно
weko
так стоп там нет bind
weko
это же серверный туннель
Vort
ну перекладывает же данные с одного места в другое, верно?
weko
ну а зачем нам свой IP то хранить
weko
нам он не нужен чтобы пакеты слать
weko
которые с I2P приходят
orignal
нужен чтобы привязку сокета делать говорю же
Vort
поиск по названию просто делаешь и всё
Vort
if(m_IsUniqueLocal && m_LocalAddress.is_loopback())
Vort
вот тут используется к примеру
orignal
ну да к 127.x.x.x
weko
orignal: github.com/PurpleI2P/i2pd/pull/1928
orignal
а для серверных как?
weko
куда идёт пишется
weko
и показано стрелкой
weko
стрелка направлена от адреса b32 на ip адрес
orignal
хорошо
weko
закрой иссуй ещё
orignal
счас пусть дособерется
weko
ок
l13kdsa
merge o'clock
weko
))
weko
бля, надо было ещё добавить destination port в клиентские туннели
weko
ну уже пох ))
orignal
так добавь я еще не смержил
weko
ок
weko
там ещё переделать надо
Vort
опять волна: Transit Tunnels: 17400
weko
LeaseSets: 462
weko
есть такое
orignal
weko так мержить?
weko
нет
weko
там неверно в клиентских туннелях
weko
переделываю
weko
искал один момент просто
weko
LeaseSets: 463
weko
или я что-то не понимаю
orignal
никакх typeid
weko
а как сделать то
orignal
делай виртуальный метод
weko
а в прокси что ?
orignal
только так
weko
что прокси возвращать будет
orignal
возвращать пустую строку
orignal
метод возврашает b32 строку
weko
ну да
weko
ну ок хорошо
orignal
в C++ typeid есть
weko
думал так плохо будет )
orignal
но мы его испольщовать не будет )))
orignal
ибо моветон
weko
почему?)
Vort
он же наверно требует RTTI
Vort
дополнительный код вроде генерится
weko
ну тут оправдано было бы
weko
потому что во время компиляции неизвестно какие будут туннели
weko
и прокси
orignal
RTTI это больгая гадость которую лучше избегать
orignal
из соображений производетльности
weko
хотя тут лучше было бы разделить их на разные контейнеры
weko
orignal: да тут то ладно, а вообще вебконсоль не особо требовательна )
_mblw_
я юзаю веб консоль
weko
_mblw_: а дальше то что?
weko
orignal: там ещё проблема что GetRemoteDestinationPort() возвращает число, а как мне вот число пустым сделать?
weko
хотя есть идея
weko
просто проверять пустая ли строчка destination
weko
хотя порт всё равно надо какой то возвращать
l13kdsa
занулить порт?
weko
ну я думал так сделать
weko
просто не хочется не валидное значение возвращать
l13kdsa
да и вдруг всё сломается
weko
хотя пох
orignal
возвраший 0
weko
orignal: вроде всё
weko
там длинная строка выходит, хз что с ней делать
weko
там теперь выводится отдельно b32 локального дестинейшена и куда ведёт туннель если не прокси
weko
43zxxxucbwxxxxxxxxxxxzbxxxxhgnryy4c3xxfbmaxxx3pcxxxq.b32.i2p; 127.1.1.1:6624 ⇒ lxxxxxdoipmm7xxxxxbo2qcceiaxxxxxxxxxx7tyxxxxxxlx2poa.b32.i2p:2345
weko
типо такого
orignal
на веб морде прятать под спойлер середину
orignal
* Dendy вышел (Quit: )