The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск p2p-мессенджера Communist 1.4"
Отправлено Аноним, 25-Июн-22 14:50 
> Не говоря уж о времени разбирать чужие решения и вникать в чужой код.
> Это не есть хорошо, но пока ситуация именно такова.

Я конечно понимаю что NIH штука кусачая, но вы и правда надеетесь дойти своим ходом до удачных идей быстрее чем суммарный общепланетарный интеллект по тематике?

> Когда проект задумывался, то я даже приблизительно не представлял, какой будет
> конечный объём кода, и как это всё будет работать в принципе.

А как он тогда задумывался? И что продумывалось?

> "Сначала сделать, потом сделать, чтобы работало, затем - чтобы работало хорошо".
> Сейчас проект на этапе "чтобы работало", дальше будет - "чтобы работало хорошо".

С точки зрения написания софта, некоторые решения бывает очень сложно переиграть "потом". А писать несколько раз одно и то же все-таки обидно и время очень жрет. Поэтому иногда имеет смысл сперва немного подумать, посмотреть как другие делали, что им икалось, а потом кодить, имхо.

> При работе с текстом от кодировок вы не уйдёте никак. Особенно
> в кроссплатформенном приложении.

С точки зрения именно нижнего уровня можно слать мсг как бинарный блоб в виде как его отдал более высокий уровень, без изменений. А хотел ли кто-то продвинуто парсить уникод это вообще вопрос номер два. Кто-то хотел, кому-то в боте обнаружения !help для реакции на команду хватило, как hardcoded константы в виде набора байтов. А заодно так можно при случае мелкую аватарку или кастомный смайлик какой слать, например.

И нет, icu там таки не линкуется. Просто это мои проблемы что делать с пришедшим мсг. Если продвинутый лингвизм, может и icu поюзать. А в простых случаях можно и забить на это. Зачем боту понимающему пяток команд типа !help сдался icu?

Это называется разделение функциональности. Название libtoxcore намекает что это core месенжера. А ui уже другой уровень абстракций. Вот он и займется этим - если вообще есть и оно ему надо.

> Только в Коммунисте использован ещё один трюк - "сложение" ключей, чтобы даже сам
> пользователь не знал, через какие ключи идёт обмен данными.

У токса на самом деле ключи разные быают. Есть ключ транспортного уровня, DHT ID. Чтобы послать сообщение между системами в DHT, надо знать DHT ID назначения. Знание IP:port недостаточно, надо знать еще DHT ID. Оно там походу ключ 25519, а ширина DHT специально 256 битов, как ключи 25519. У торента DHT 160 битов, как SHA1. Этого мало чтобы адрес DHT был ключом публичного крипто "напрямую".

Есть другой ключ, долговременный. DHT'шный ключ чисто технический и зачастую временный. У бутстрапов он постоянный, это несколько портит их приваси но они ж и так публичные. Однако они равноправны с юзерами, просто юзеры иногда меняют "технический" ключ DHT для улучшения приваси.

Долговременный ключ который юзеры дают как идентификатор для поиска - не есть DHT ID и в DHT нет никого с таким "адресом".

А почему оно на самом деле такое? А потому что https://nacl.cr.yp.to/box.html - основано на вот этой штуке. В более попсовом, быстром и портабельном виде это известно как libsodium.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру