![](https://habrastorage.org/webt/_w/0v/nr/_w0vnrgqqrg3b_g_uzpldoh72au.png)
После блокировки Discord в РФ люди начали искать варианты решения проблемы. Легально это можно сделать двумя способами:
- Перейти на альтернативный мессенджер с централизованным управлением от сторонней компании (TeamSpeak, Skype и др.). Правда, некоторые аналоги Discord уже упали под нагрузкой и вынуждены ограничить доступ пользователям из РФ, как Guilded.
- Поднять собственный сервер.
Второй вариант кажется наиболее надёжным с учётом будущих блокировок. Ведь любой мессенджер из первого пункта может сам упасть или отказать в доступе с территории РФ, или его тоже внесут в чёрный список.
В итоге остаётся только свой сервер. Желательно в локальной сети или хотя бы на виртуальном хостинге.
▍ Готовый сервер Matrix Synapse
Например, в маркетплейсе RUVDS есть готовый шаблон сервера Matrix Synapse, который можно использовать для групповых коммуникаций.
![](https://habrastorage.org/webt/0q/ij/7z/0qij7zzloptpei05ithylpctxym.png)
Этот шаблон поставляется с операционной системой Debian 11, где всё необходимое уже установлено, сконфигурировано и готово к работе.
Matrix Synapse — открытый, современный, мощный протокол для организации защищённых систем связи реального времени. Представляет собой набор API (JSON over REST). Даёт возможность обмениваться мгновенными сообщениями (IM), поддерживает передачу файлов, голосовую (Voice over IP (VoIP)) и видеосвязь, может обеспечивать коммуникацию Интернета вещей (IoT). Помимо передачи данных между клиентом и сервером, также описывает способ организации связи между серверами за счёт механизма «федерации», обеспечивая возможность общаться пользователям, клиенты которых подключены к разным серверам.
Synapse — сервер с открытым исходным кодом, реализующий протокол Matrix. Разрабатывается Matrix.org Foundation с 2014 года. Активно совершенствуется в данный момент, как и вышеописанный протокол.
Кроме Synapse, для удобства после инициализации в данном образе будут доступны:
- Synapse Admin UI — небольшая открытая утилита с веб-интерфейсом для администрирования.
- Element Web — веб-версия клиента, также с открытым исходным кодом.
Веб-версия Element
Мессенджер Element выпускается для разных операционных систем и мобильных устройств, включая iOS и Android. Кроме того, в Матрице большой выбор других клиентов:
![](https://habrastorage.org/webt/em/mv/wo/emmvwosmwigiru7o3cqxh0aggt4.png)
Ранее мы публиковали ссылку на технологическое сравнение всех протоколов коммуникации по ряду критериев, включая безопасность, совместимость, функциональность и надёжность. Как легко увидеть, связка Element/Matrix выигрывает практически по всем показателям.
![](https://habrastorage.org/r/w1560/webt/v9/nw/zl/v9nwzlp9ndd_w7mus8bc0-iu6rm.png)
По уровню безопасности к Element/Matrix ближе всего другие опенсорсные системы, которые поддерживают сквозное шифрование, такие как XMPP, NextCloud Talk, Wire и проч.
Внизу списка — проприетарные системы Discord, Slack, Skype, Zoom, Hangouts и тому подобные, где нормальное шифрование отсутствует, а исходный код засекречен.
![](https://habrastorage.org/r/w1560/webt/zx/4j/bw/zx4jbwlwt4rukkb3stos6mz4jkw.png)
Если связка Matrix/Element не устраивает, то никто не мешает выбрать из большого списка других альтернатив Discord.
▍ Другие альтернативы Discord
Вышеупомянутая таблица всех протоколов коммуникации содержит практически все возможные варианты замены Discord.
В комментариях на Хабре в качестве альтернативы часто упоминали Guilded, который является полным аналогом Discord в Roblox. Для работы в этом мессенджере нужен только аккаунт Roblox.
![](https://habrastorage.org/r/w1560/webt/lq/mj/7e/lqmj7efazb6qsoyj5az_pqokcaw.jpeg)
К сожалению, 11 октября 2024 года платформа Guilded закрыла доступ к своим ресурсам для пользователей РФ.
![](https://habrastorage.org/r/w1560/webt/hy/tt/we/hyttwevh2-hwi3_hkqpnfadyrkw.png)
Из других популярных альтернатив/аналогов Discord можно упомянуть следующие:
- TeamSpeak 3 — управление своим сервером через Server Admin Token.
- Мессенджер с поддержкой голосовой связи Mumble с открытым исходным кодом. Отличается хорошим качеcтвом связи и низкой задержкой.
- Tox — защищённый мессенджер с распределённой системой узлов (без центральных серверов) и шифрованием.
Поддержка ОС разными клиентами Tox:
- Volt.im — потенциально опенсорсная альтернатива Discord, которую также называют гибридом Discord и Telegram. Десктопный клиент размером 300 КБ будет работать со Slack, Skype, Twitter, Telegram и другими сервисами. Разработка экспериментального клиента началась недавно, пока вышла только версия под MacOS.
Volt.im
- Mattermost — известная альтернатива Slack и Discord, можно установить на своём хостинге.
- Rocket.chat — опенсорсная полностью настраиваемая платформа для коммуникаций, разработанная на JavaScript. Позиционируется в том числе для бизнес-пользователей с высокими стандартами для защиты данных и шифрования.
Rocket.chat
- Aliucord — модификация клиента Discord для Android.
- Jitsi — коллекция бесплатных и открытых мультиплатформенных приложений для голосовой связи (VoIP), видеоконференций и обмена мгновенными сообщениями. Есть версия для веба, Windows, Linux, macOS, iOS и Android.
▍ Revolt
Один из самых интересных мессенджеров, которые появились в последнее время как альтернатива Discord — это опенсорсный проект Revolt (исходный код).
![](https://habrastorage.org/webt/kj/r5/_u/kjr5_uxqvi6g-ahnte_4vuf4uzs.png)
Установка на своём сервере требует наличия Git и Docker.
Этапы установки в локальной сети:
- Клонировать репозиторий.
git clone https://github.com/revoltchat/self-hosted revolt cd revolt
- Скопировать файл
.env
с настройками окружения, а также скачатьRevolt.toml
и отредактировать оба файла под свои нужды.
cp .env.example .env wget -O Revolt.toml https://raw.githubusercontent.com/revoltchat/backend/main/crates/core/config/Revolt.toml
- Запустить Revolt в докере.
docker compose up
С настройками по умолчанию наша локальная копия мессенджера должна открыться в браузере по адресу local.revolt.chat. См. пример файла .env.
Установка на удалённом сервере включает в себя дополнительные манипуляции. В частности, нужно отредактировать адреса URL в файлах
.env
и Revolt.toml
.Во-первых, все упоминания
local.revolt.chat
требуется заменить на свой домен:# .env
- REVOLT_APP_URL=http://local.revolt.chat
+ REVOLT_APP_URL=http://my.domain
# Revolt.toml
- app = "http://local.revolt.chat"
+ app = "http://my.domain"
Во-вторых, включить HTTPS:
# .env
- REVOLT_APP_URL=http://my.domain
+ REVOLT_APP_URL=https://my.domain
- REVOLT_EXTERNAL_WS_URL=ws://my.domain/ws
+ REVOLT_EXTERNAL_WS_URL=wss://my.domain/ws
# Revolt.toml
- app = "http://local.revolt.chat"
+ app = "https://my.domain"
- events = "ws://my.domain/ws"
+ events = "wss://my.domain/ws"
Чтобы регистрация была доступна только по приглашениям, достаточно изменить две переменных в файлах настройки: установить
REVOLT_INVITE_ONLY
из файла .env
в значение 1
, а значение invite_only
из файла Revolt.toml
в значение true
.В качестве базы данных мессенджер использует MongoDB. Создание инвайта:
# drop into mongo shell
docker compose exec database mongosh
# create the invite
use revolt
db.invites.insertOne({ _id: "enter_an_invite_code_here" })
Revolt — интересный мессенджер, который начинался как хобби-проект одного разработчика в образовательных целях, а сейчас оброс нормальным комьюнити и бурно развивается. Недавно вышли экспериментальные клиенты под Android и iOS, десктопный клиент GTK4 и клиент на React Native.
![](https://habrastorage.org/webt/mw/hb/qi/mwhbqi6xqbbixam9xlpuatodz_0.png)
Клиент под iOS
![](https://habrastorage.org/webt/mm/2u/es/mm2ues0tmxqottzj0mn-5ljakna.png)
Клиент под Android
Конечно, Revolt пока находится в ранней стадии разработки. Но это очень интересный пример того, что может сделать один человек. Бэкенд написан на Rust, интерфейс полностью скопирован с Discord — тоже две немаловажные части успеха. Будем надеяться, что сообщество перехватит знамя у автора/мейнтейнера — и проект станет действительно общественным. Опенсорсный мессенджер с богатой функциональностью нужен всем.
▍ Итоги
Подводя итог, в опенсорсе немало альтернатив Discord, которые можно поставить на своём сервере. Многие из них известны нам ещё по тем временам, когда мы искали замену Slack и Mattermost. История повторяется.
Среди новых разработок за последние годы выделяется опенсорсный проект Revolt, который также называют полным клоном Discord, потому что пытается копировать его дизайн, элементы интерфейса и функциональность. Проект изначально создан с нуля единственным разработчиком ради удовольствия, а сейчас активно развивается силами сообщества.
© 2024 ООО «МТ ФИНАНС»
Telegram-канал со скидками, розыгрышами призов и новостями IT 💻
![](https://habrastorage.org/webt/7u/o0/_9/7uo0_9itb0bkl_y8_0_n1a57vuc.jpeg)