Repolode
SAMA-Communications

SAMA-Communications/sama-server

Чат-сервер на uWebSockets.js — альтернатива XMPP с бэкендом на Node.js, MongoDB и Redis.

Звёзды
161
Форки
16
Открытые issues
3
Последний коммит
в прошлом месяце

Что это?

SAMA — это чат-сервер и протокол обмена сообщениями, созданные как альтернатива XMPP — давно ставшему стандартом протоколу для мгновенного обмена сообщениями. Сервер написан на JavaScript и работает на Node.js, а для обработки WebSocket использует uWebSockets.js. Данные хранятся в MongoDB, а Redis используется для управления состоянием кластера.

Сервер предоставляет API для работы с пользователями, беседами, сообщениями, активностями, адресными книгами и push-уведомлениями. Официальные веб-клиент и клиент на Flutter доступны в отдельных репозиториях; для тестирования всего стека также есть размещённая демоверсия.

Узлы кластера находят друг друга через записи в Redis, устанавливают между собой WebSocket-соединения и удаляют данные, оставшиеся от отключившихся узлов.

Ключевые возможности

  • 01Чат-сервер на uWebSockets.js и Node.js
  • 02Использует MongoDB для хранения данных и Redis для координации кластера
  • 03Предоставляет API для пользователей, бесед, сообщений и push-уведомлений
  • 04Поддерживает кластеризацию с несколькими узлами, автоматическим обнаружением узлов и повторным подключением
  • 05Включает API адресной книги и API активностей

Сценарии использования

  • Создание собственного чат-бэкенда как альтернативы XMPP
  • Запуск сервиса обмена сообщениями с масштабированием на несколько узлов Node.js
  • Прототипирование чат-продукта с готовыми веб-клиентом или клиентом на Flutter

Что важно знать

  • В качестве зависимостей серверной части требуются MongoDB и Redis.
  • Проект распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая накладывает обязательства на производные работы.
  • В README вместо инструкций по настройке приведены ссылки на внешнюю документацию по локальной разработке и развёртыванию.

Темы

Частые вопросы

Что такое sama-server?
Чат-сервер на uWebSockets.js — альтернатива XMPP с бэкендом на Node.js, MongoDB и Redis. SAMA — это чат-сервер и протокол обмена сообщениями, созданные как альтернатива XMPP — давно ставшему стандартом протоколу для мгновенного обмена сообщениями. Сервер написан на JavaScript и работает на Node.js, а для обработки WebSocket использует uWebSockets.js. Данные хранятся в MongoDB, а Redis используется для управления состоянием кластера.
sama-server можно использовать бесплатно? Какая у него лицензия?
sama-server распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
sama-server всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в sama-server — 5 окт. 2026 г..
Для чего можно использовать sama-server?
Создание собственного чат-бэкенда как альтернативы XMPP Запуск сервиса обмена сообщениями с масштабированием на несколько узлов Node.js Прототипирование чат-продукта с готовыми веб-клиентом или клиентом на Flutter
Где скачать sama-server?
Исходный код и инструкции по установке — на GitHub: https://github.com/SAMA-Communications/sama-server

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытый сервер реального времени на Erlang для чатов по XMPP, обмена сообщениями через MQTT и сигнализации голосовых и видеозвонков по SIP.

6,8 тыс.+1 за неделю1,6 тыс.ErlangOtherАктивно поддерживаетсяОбновлён 3 дня назад