LINUX.ORG.RU
ФорумTalks

Отстал от жизни: какие открытые протоколы для создания мессенджеров нынче рулят и педалят вместо XMPP?

 ,


0

3

Условно говоря, какой открытый протокол общепризнанно считается современным наместником XMPP и какое семейство клиентов для данного протокола занимает топовые чарты мировых хит-парадов? Matrix? Всё ещё XMPP? Что-то ещё? Безотносительно архитектуры сети передачи сообщений - федеративная, авторитарная, децентрализованная и т.п. В приоритете базово интересует «один корпоративный сервер и 500 клиентов с прописанным адресом сервера» и никакой федерации. Мессенджер для меня и моей бабушки без покидания этого контура. Или для меня и сотрудников моего завода, которых 300.

Фичи, которые интересуют в клиенте/протоколе:

  1. Твой контактлист (базовая база), засылаемый с сервера.
  2. В контактлисте сущности вида «чат», «канал».
  3. Возможность аттачить файлы размеров и типов, о которых сообщил сервер как о допустимых. Возможность аттачить голосовухи и предположительно «кружочки». Допустим, сервер на чате ставит настройки «сюда можно картинки до 180 кб каждую» или ещё «частота отправки месаг в данный чат - раз в 30 сек».
  4. Шифрование там всякое жесточайшее конечно. E2E не обязательно, ну исключение MITM хотя-бы просто.
  5. Сам протокол предпочтительно более бинарный и суперкомпактный, чтобы в глухом подвале на GPRS законнектилось, а не развесистая XML-фигня на 2 мегабайта на простейший пинг.
  6. Всякое там админство. Удаление сообщений в администрируемых тобой чатах, навешивание лимитов и прав. Типа запрет аттачей в каком-то чатике.

Посибо.



Последнее исправление: tcpfinhello (всего исправлений: 6)
Ответ на: комментарий от LightDiver

Год уже как создал.

По ссылке не нашёл ни описания протокола, ни списка клиентов. Есть ли что-то под Emacs или хотя бы консольное?

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Готового консольного нету, потому что нахрен никому это не упилось. Нет пользователей под такое. Но запилить такое - это буквально пара часов. Я минимально сделал клиенты под винду, линукс, андроид. Ну и веб-клиент, как основа.

По сути что нужно для консольного клиента (чисто теоретически: mediasoup-client-werift, ffmpeg) - работа с хттп и вебсокетами.

Но я опять же не вижу целевой аудитории для этого. Вот ты будешь этим пользоваться? С кем?

LightDiver ★★★★★
()

Что-нибудь на CBOR.

«CBOR (Concise Binary Object Representation) — это бинарный формат сериализации данных, вдохновленный MessagePack и основанный на принципах JSON. Его главное преимущество — компактность, что увеличивает скорость обработки и передачи данных по сравнению с текстовыми форматами, такими как JSON»

«Minkan: Этот мессенджер позиционируется как платформа со сквозным шифрованием и нулевым доверием. Согласно описанию, Minkan использует CBOR в качестве формата данных как для взаимодействия с сервером, так и для передачи самих клиентских пакетов при общении между пользователями. »

https://github.com/minkan-chat
https://github.com/minkan-chat/client
https://github.com/minkan-chat/server
На Rust, AGPL-3.0 license

Saakx
()

И всё-таки на Matrix стоит обратить внимание. Это по-ходу самый фичастый и активно развиваемый открытый и децентрализованный протокол для коммуникаций. Легковесные имплементации сервера и клиента на расте есть (conduit, elementx). На подходе Matrix 2.0 с набором улучшений, которые уже сейчас доступны в develop ветке. В будущем, Matrix планируют перевести на p2p, и уже сейчас можно попробовать pinecone - мэш протокол, похожий на yggdrasil, с более продвинутой маршрутизацией. Также для Matrix есть интеграции у разных проектов, типа Home Assistant, различные ИИ агенты и т.д.

Короче, ранние имплементации Matrix многие заслуженно критиковали, но сейчас многое меняется, и эта критика становится неактуальной.

П.С. И для тех, кто любит кодить сам, на matrix-org есть несколько sdk (rust, js, android, ios), так что в добрый путь.

yvv1
()
Последнее исправление: yvv1 (всего исправлений: 1)
Ответ на: комментарий от yvv1

Я не против Matrix. Задача в том, чтобы к своему серверному движку-мессенджеру, который сейчас работает в вебе через WebSocket прикрутить сбоку поддержку ещё какого-то протокола, под который полно хороших десктопных и мобильных клиентов.

tcpfinhello
() автор топика

Мне понравилась концепция secure scuttlebutt и ее развития pzp. В рамках этой концепции каждое устройство хранит у себя базу данных действий пользователя (например, в рамках чата Алисы и Боба). И устройствам при появлении связи между ними нужно не сообщения пересылать, а синхронизировать базы данных (У Алисы своя база данных только с ее сообщениями, у Боба - аналогичная своя. Для функционирования чата на каждом устройстве есть по копии каждой из этих баз данных, которые объединяются для получения собственно самого чата). Достоинство протокола в том, что Алиса может оставить срез базы данных (например, последние ее 100 сообщений) в зашифрованном виде для Боба на сервере третьей стороны (допустим, переслать по email или оставить на NOSTR сервере), а Боб заберет и включит этот срез в свою базу данных когда ему будет удобно. Таким образом чат может работать без серверов и даже при отсутствии прямой связи между его участниками.

К сожалению, pzp больше не развивается, авторы делали на его основе Manyverse, но не осилили.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 2)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)