После блокировки Discord в РФ люди начали искать варианты решения проблемы. Легально это можно сделать двумя способами:
Перейти на альтернативный мессенджер с централизованным управлением от сторонней компании (TeamSpeak, Skype и др.). Правда, некоторые аналоги Discord уже упали под нагрузкой и вынуждены ограничить доступ пользователям из РФ, как Guilded.
Поднять собственный сервер.
Второй вариант кажется наиболее надёжным с учётом будущих блокировок. Ведь любой мессенджер из первого пункта может сам упасть или отказать в доступе с территории РФ, или его тоже внесут в чёрный список.
В итоге остаётся только свой сервер. Желательно в локальной сети или хотя бы на виртуальном хостинге.
▍ Готовый сервер Matrix Synapse
Например, в маркетплейсе RUVDS есть готовый шаблон сервера Matrix Synapse, который можно использовать для групповых коммуникаций.
Этот шаблон поставляется с операционной системой 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. Кроме того, в Матрице большой выбор других клиентов:
По уровню безопасности к Element/Matrix ближе всего другие опенсорсные системы, которые поддерживают сквозное шифрование, такие как XMPP, NextCloud Talk, Wire и проч.
Внизу списка — проприетарные системы Discord, Slack, Skype, Zoom, Hangouts и тому подобные, где нормальное шифрование отсутствует, а исходный код засекречен.
Если связка Matrix/Element не устраивает, то никто не мешает выбрать из большого списка других альтернатив Discord.
В комментариях на Хабре в качестве альтернативы часто упоминали Guilded, который является полным аналогом Discord в Roblox. Для работы в этом мессенджере нужен только аккаунт Roblox.
К сожалению, 11 октября 2024 года платформа Guilded закрыла доступ к своим ресурсам для пользователей РФ.
Из других популярных альтернатив/аналогов 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 (исходный код).
Чтобы регистрация была доступна только по приглашениям, достаточно изменить две переменных в файлах настройки: установить 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 пока находится в ранней стадии разработки. Но это очень интересный пример того, что может сделать один человек. Бэкенд написан на Rust, интерфейс полностью скопирован с Discord — тоже две немаловажные части успеха. Будем надеяться, что сообщество перехватит знамя у автора/мейнтейнера — и проект станет действительно общественным. Опенсорсный мессенджер с богатой функциональностью нужен всем.
▍ Итоги
Подводя итог, в опенсорсе немало альтернатив Discord, которые можно поставить на своём сервере. Многие из них известны нам ещё по тем временам, когда мы искали замену Slack и Mattermost. История повторяется.
Среди новых разработок за последние годы выделяется опенсорсный проект Revolt, который также называют полным клоном Discord, потому что пытается копировать его дизайн, элементы интерфейса и функциональность. Проект изначально создан с нуля единственным разработчиком ради удовольствия, а сейчас активно развивается силами сообщества.