Самостоятельно размещаемый сервер мгновенных сообщений на Go с нативными клиентами для Android, iOS и веба, а также API JSON/websocket и gRPC.
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 обновляется ежедневно.
Похожие проекты
Rust-сервисы и библиотеки, лежащие в основе чата Stoat: REST API, WebSocket-сервер событий и файловый сервер.
Открытый сервер реального времени на Erlang для чатов по XMPP, обмена сообщениями через MQTT и сигнализации голосовых и видеозвонков по SIP.
Масштабируемый и отказоустойчивый XMPP-сервер мгновенных сообщений на Erlang для крупных корпоративных установок.
Модульный и настраиваемый XMPP/Jabber-сервер на Java с поддержкой подключений клиентов по TCP, BOSH и WebSockets.
Монорепозиторий SDK для Ethora — платформы чатов и обмена сообщениями с SDK для React, React Native, Android, iOS и WordPress, а также инструментами для AI-ботов и MCP.