~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN_
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
vade
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
ключи публичные?
polistern
Да
orignal
а разве P256 в 32 байта вписывается?
orignal
там же вроде 33
orignal
кроме того как распознается публичный ключ 25519 смотри статьи про эллигатор
polistern
Там формат адреса такой: <crypto public><sign public><crypto priv><sign priv>
polistern
Получается если свой загружаешь из конфига (полный), то весь. Если чей-то адрес, то нам доступна только первая часть (на не�� и шлём письма).
polistern
Ну и при компоновке адреса из P256 убираются "А" в начале ключей, после чтения из конфига возвращаются обратно (даже не спрашивай зачем они так, скорее всего для красоты).
polistern
Я для 25519 думаю убирать "=" в конце, т.к. он у меня фигово парсится, и также возвращать "=" при чтении из конфига.
polistern
Вообще хз как быть.
orignal
так сколько длина у p256 в бинароном виде?
polistern
33
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
Oh
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
да
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'а лопатой по голове и запихал в багажник машины*
`
*** лайк поставил ***
Katya1
f