29.06.2022

Выпуск коммуникационного клиента Dino 0.3

После более года разработки опубликован выпуск коммуникационного клиента Dino 0.3, поддерживающего участие в чатах и обмен сообщениями с использованием протокола Jabber/XMPP. Программа совместима с различными клиентами и серверами XMPP, ориентирована на обеспечение конфиденциальности переговоров и поддерживает сквозное шифрование с применением XMPP-расширения OMEMO на базе протокола Signal или шифрование при помощи OpenPGP. Код проекта написан на языке Vala с использованием тулкита GTK и распространяется под лицензией GPLv3+.

В новой версии помимо текстовых сообщений реализована поддержка видеовызовов и видеоконференций, позволяющих совершать видеовызовы с привлечением двух и большего числа участников. Видеопотоки шифруются с использованием сквозного шифрования, а трафик направляется напрямую между пользователями в режиме P2P, но в качестве запасного варианта предоставляется и возможность работы через промежуточный сервер.

Расширены средства групповых вызовов — пользователь может инициировать вызов в закрытой группе или пригласить дополнительных участников к уже установленному вызову. Групповые вызовы могут быть организованы в режиме P2P без привлечения дополнительных серверов, кроме XMPP-сервера, координирующего подключение к конференции. Для конференций с большим числом участников для снижения требований к пропускной способности может быть организована работа через централизованный сервер. Обмен ключами для шифрования трафика участников, которые генерируются на стороне клиента, осуществляется через DTLS, после чего данные передаются по шифрованному каналу SRTP. Достоверность ключей аутентифицируется при помощи XMPP-расширения OMEMO.

Для организации соединения используется протокол XMPP и типовые расширения XMPP (XEP-0353, XEP-0167), что позволяет совершать вызовы между Dino и любыми другими клиентами XMPP, поддерживающими соответствующие спецификации, например, возможна установка шифрованных видеовызовов с приложениями Conversations и Movim, а также незашифрованных вызовов с приложением Gajim. При отсутствии поддержки видео может быть установлен аудиовызов.

Основные возможности Dino и поддерживаемые XEP-расширения:

  • Многопользовательские чаты с поддержкой приватных групп и публичных каналов (в группах можно общаться только с включёнными в группу людьми на произвольные темы, а в каналах любые пользователи могут общаться только на заданную тему);
  • Использование аватаров;
  • Управление архивом сообщений;
  • Пометка последнего полученного и прочитанного сообщений в чатах;
  • Прикрепление файлов и изображений к сообщениям. Файлы могут передаваться как напрямую от клиента к клиенту, так и с загрузкой на сервер и предоставлением ссылки, по которой другой пользователь сможет загрузить этот файл;
  • Поддержка прямой передачи мультимедийного контента (звук, видео, файлы) между клиентами при помощи протокола Jingle;
  • Поддержка SRV-записей для установки прямого шифрованного соединения с использованием TLS, в дополнение к отправке через XMPP-сервер;
  • Шифрование при помощи OMEMO и OpenPGP;
  • Распространение сообщений по подписке (Publish-Subscribe);
  • Уведомление о состоянии набора сообщения другим пользователем (можно отключить отправку уведомлений о наборе в привязке к чатам или отдельным пользователям);
  • Отложенная доставка сообщений;
  • Ведение закладок на чаты и web-страницы;
  • Уведомление об успешной доставке сообщения;
  • Расширенные средства поиска сообщений и фильтрации вывода в истории переписки;
  • Поддержка работы в одном интерфейсе с несколькими учётными записями, например, для разделения рабочей и личной переписки;
  • Работа в offline-режиме с фактической отправкой написанных сообщений и приёмом накопившихся на сервере сообщений после появления сетевого соединения;
  • Поддержка SOCKS5 для проброса прямых P2P-соединений;
  • Поддержка XML-формата vCard.


Источник.