IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2022/06/21
~R4SAS
~villain
&N00B
+relaybot
AreEnn
Guest63403
Guest7650
Leopold
Most2_
Nausicaa
Nikat
Stark
Vort
acetone
karamba_i2p
ncop
onon
onon1
orignal
poriori
r00tobo
teeth
tetrimer_
uis
un
weko
whothefuckami
колдобина
колдырь
R4SAS orignal: нифига
R4SAS <netdb.h>
orignal говорю же резолвер вроде
orignal gethostbynname или типа того
R4SAS ясно
R4SAS значит winsock2.h
R4SAS а вот с таймером надо будет подумать
orignal а что ты собрался делать с таймером?
orignal и еще будет eventfd
R4SAS кстати, а че не epoll_wait?
orignal смысл такого таймера чтобы его epoll поллил
orignal так чтобы много независимых таймеров вешать
orignal R4SAS а нельзя ли для wrt как то прилинковать openssl динамически?
orignal поскольку он там всегда есть
orignal собственно в этом и состояла базовая идея whitei2p
orignal что использовать системные либы
polistern orignal, R4SAS, нужен совет. Не сильно отвлеку?
orignal давай
polistern Есть (для примера) два вида адресов в Bote - P256 и 25519. Оба в виде Bote-адреса одной длины получаются (172 символа в base64). Мне нужно их как-то различать на этапе парсинга конфига. Менять P256 адреса не хочу, чтобы люди могли из Java Bote мигриров
polistern ать Ctrl+C/Ctrl+V.
polistern Ничего лучше не придумала, чем добавить в начало к 25519 какой-то идентификатор, типа несколько раз ID ключа по протоколу - 5555, и проверять его + из-за идентификатора меняется длина адреса. Ну и получается все новые типы адресов уже
polistern делать с префиксом (задел на будущее).
polistern Как бы сделали (или делате)?
orignal ключи публичные?
orignal а разве P256 в 32 байта вписывается?
orignal там же вроде 33
orignal кроме того как распознается публичный ключ 25519 смотри статьи про эллигатор
polistern Там формат адреса такой: <crypto public><sign public><crypto priv><sign priv>
polistern Получается если свой загружаешь из конфига (полный), то весь. Если чей-то адрес, то нам доступна только первая часть (на не�� и шлём письма).
polistern Ну и при компоновке адреса из P256 убираются "А" в начале ключей, после чтения из конфига возвращаются обратно (даже не спрашивай зачем они так, скорее всего для красоты).
polistern Я для 25519 думаю убирать "=" в конце, т.к. он у меня фигово парсится, и также возвращать "=" при чтении из конфига.
polistern Вообще хз как быть.
orignal так сколько длина у p256 в бинароном виде?
orignal а у 25519 32
orignal вот тебе и ответ
polistern Храним то и загружаем в виде base64
orignal так по длине понятно же
orignal сколько там байт реально
Darkdik Orignal consider hosting your own cgit instance instead of GitHub (or why not have both - someone I know uses a script to switch the git origin link out and push to all web-sites at once)? git.zx2c4.com/cgit/about
Darkdik It looks so much more professional, etc.
orignal I have my own local SVN
polistern Вот смотри, видим мы ключ: M-c26SoRVFEeV7xsUpw673otJ1YlylbAtjrwZPOYeUMpXg0wT4~CGpGKnJDv-RQr7MlXdCd4Ya-WO9VgOY6oyU
polistern Как его по правильному определять кто он есть?
Darkdik Well - it's local..
orignal ну так преобразуй его в бинарные байты
orignal сколько байт получится 32 или 33 то и будет
orignal можно просто по длине base64 определяеть сколько получается байт
orignal формула есть
orignal я просто ее не помню
orignal что то у тебя ключ длинноватый для 32 или 33
polistern <crypto public><sign public>
orignal а crypto public это что?
polistern Первый используется для согласования общего секрета при шифровании сообщения. Второй при подписи/верификации этого сообщения.
orignal так первый какого типа
orignal или они оба одинаковые?
polistern У P256 одинаковые, у 25519 соответсветнно <X25519><ED25519>
orignal ну то есть в одном случае 66 байт в другом 64
orignal ну и все по длине base64 смотри длину
polistern Чтобы он ста валидным base одноиу нужно добавить A в начале каждого ключа, другому =. ИЛИ оставить = в 25519 ключах и костылить/фиксить парсинг.
polistern * добавить = в конец
orignal ну это то понятно чтобы было кратным
orignal но все равно по длине понять можно сколько там байт закодировано
polistern Т.е. пробовать добавлять поочерёдно A или отступ к ключу, пока не получится валидный base, потом в байты, потом смотреть длину. Или не так?
orignal нет
orignal берешь длину в base64
orignal делишь на что то там
orignal вот целая часть от деления это и есть твоя длина
orignal просто когда не кратно там эти симыволы и добваляют чтобы стало кратно
orignal короче длина это 3/4 от base64
polistern Ок, попробую с разными ключами.
polistern Если верить 4*(n/3)=base64_len, то (n/4)*3=bytes_len. Но сути это не меняет, т.к. у одного нет А в начале, а у другого = в конце, оба одинаково не кратны 4 если исходить просто из длины строки. А что нужно добавить А или = мы не знаем.
orignal так целая часть должна быть разная
orignal тебе неважно чего добавлять
orignal твоя задача узнать истинную длину ключа и понять тип
` Похоже на повод пройтись по ближайшему парку)
polistern Да блин, всё готово для 25519, вот по сути с форматом определиться и можно тестить отправку/доставку))
polistern Проверила, с отступом оба отлично преобразуются в 64 байта
orignal ну отлично
WebClient73 echelon.i2p работает?
polistern Так получается дальше только пробовать ключи лепить из этих байт. По другому не понять какой кривой эта точка принадлежит. Из документа по эллигатору я поняла только, что у точки кривой свой диапазон (что логично), но для поним
polistern ания всё равно нужно её конвертировать в BN и смотреть. Возможно я чего не уловила.
orignal давно уже сдох
orignal несколько лет как
orignal так я не понимаю откуда 33 ий байт берется?
polistern Это 0
orignal там не 0 там и 1 бывает
orignal по крайней мере
polistern Ну да, + или - на оси.
orignal вот смотри какая у меня проверка на x25519
polistern А вот это уже интересно. Т.е. всегда в конце так у 25519?
polistern * в публичном
orignal всегде старший бит нулевой
orignal у 25519
polistern Круто, тогда да, проверка резко становится короче.
WebClient73 есть где мануалы по шарку?
polistern WebClient73, ты про i2p-snark?
` WebClient73, на ютубе видео некоего acetone и на гитхабе статья по этому же поводу
WebClient73 про i2psnark
WebClient73 пусть делает видео уже на украинском языке
WebClient73 более полезно будет
` WebClient73, слова, конечно, громкие, но не существует украинца не понимающего русский язык.
WebClient73 не существует русского понимающего зачем нужна свобода и анонимность
WebClient73 я же молчу
WebClient73 важно то что украинцы это свободная нация которую нужно просвещать, а не гадких варваров ато хуй знает для чего они ещё будут анонимность использовать
orignal иди на #ru на политтемы
orignal а здесь канал о разработке
` * #polit
WebClient73 это тема популиризации темы а не политики
WebClient73 и среди кого
WebClient73 ничо такого
orignal тебе непонятно сказано?
orignal здесь вопросы только разработки
WebClient73 ты про политику говоришь тут же вопрос не в этом
WebClient73 мне всё понятно
orignal хочешь делать на мове так делай
orignal кто то запрещает что ли?
orignal если считаешь это полезным
WebClient73 я могу и советы давать
WebClient73 надо на украинском ацетону делать у него же уже хорошо получается объяснять
WebClient73 только зачем то это делает на русском
orignal меньше всего мы нуждаемся в советах
WebClient73 серьезная ошибка
WebClient73 я всегда готов дать совет
WebClient73 меня просить не нужно
WebClient73 я тебе посоветую прислушиваться к советам такого человека как я
` Прибухнул?)
orignal ну вот и убеждай ацетона и желательно приватно
orignal а хохлосрач на этом канале разводить не надо
` У ацетона есть "личный" канал #acetonevideo
orignal так ему надо вовсе не это
WebClient73 я вообще пиво не пью
WebClient73 пиво для быдла я только траву курю
` На #ru есть пользователь "ad", он по траве.
` /offtop
WebClient73 технический вопрос
WebClient73 если у меня на голове кастрюля или шапочка из фольги
WebClient73 взломать могут?
orignal смогут если паляница не правильно произносишь
WebClient73 блять я не хочу что бы мне голову взломали
WebClient73 если паляница не правильно произносишь там ддос атака на отказ органов идёт
R4SAS orignal: он так и делается
R4SAS <~orignal> R4SAS а нельзя ли для wrt как то прилинковать openssl динамически?
orignal а откуда 3 мега тогда?
orignal не должно быть
R4SAS вероятно из-за musl
R4SAS но не факт
R4SAS потом гляну
orignal смотри
orignal для макоси такого размера сборка статики
R4SAS для линя статика у нас в районе 6.4 мб
R4SAS проверял
orignal а whitei2p где то под сотню килобайт с динамечской линковской с openssl
` i2p в каждый чайник?)
` каждому тостеру по i2p)
R4SAS вроде всё динамика
orignal тогда x3
R4SAS надо как то подробнее посмотреть
R4SAS только как хз
R4SAS # du -h /usr/sbin/i2pd
R4SAS 3.1M /usr/sbin/i2pd
WebClient85 а если ты через клиент в ирку входишь регестрироваться обязательно?
` Нет
` Только если хочешь забить ник за собой или канал/лс требует регистрации.
` Если регистрируешься в качестве почты можешь указывать что угодно - не работает всё равно
` например моя почта: *@*.*
reloaded `: красивый адрес :D
` reloaded, бот требует соблюдения "маски".
reloaded `: Вне контекста звучит как фраза предщедствующиваясяаа похищению маньяком сектантом
reloaded `: бот требует соблюдения маски ... *Ударил reloaded'а лопатой по голове и запихал в багажник машины*
` *** лайк поставил ***