- PVSM.RU - https://www.pvsm.ru -
[1]Мессенджер Revolt [2]
После блокировки Discord в РФ люди начали искать варианты решения проблемы. Легально это можно сделать двумя способами:
Второй вариант кажется наиболее надёжным с учётом будущих блокировок. Ведь любой мессенджер из первого пункта может сам упасть или отказать в доступе с территории РФ, или его тоже внесут в чёрный список.
В итоге остаётся только свой сервер. Желательно в локальной сети или хотя бы на виртуальном .
Например, в маркетплейсе RUVDS [5] есть готовый шаблон сервера Matrix Synapse [6], который можно использовать для групповых коммуникаций.

Этот шаблон поставляется с операционной системой Debian 11, где всё необходимое уже установлено, сконфигурировано и готово к работе.
Matrix Synapse — открытый, современный, мощный протокол для организации защищённых систем связи реального времени. Представляет собой набор API [7] (JSON over REST). Даёт возможность обмениваться мгновенными сообщениями (IM), поддерживает передачу файлов, голосовую (Voice over IP (VoIP)) и видеосвязь, может обеспечивать коммуникацию Интернета вещей (IoT). Помимо передачи данных между клиентом и сервером, также описывает способ организации связи между серверами за счёт механизма «федерации», обеспечивая возможность общаться пользователям, клиенты которых подключены к разным серверам.
Synapse — сервер с открытым исходным кодом, реализующий протокол Matrix. Разрабатывается Matrix.org Foundation с 2014 года. Активно совершенствуется в данный момент, как и вышеописанный протокол.
Кроме Synapse, для удобства после инициализации в данном образе будут доступны:
- Synapse Admin UI [8] — небольшая открытая утилита с веб-интерфейсом для администрирования.
- Element Web [9] — веб-версия клиента, также с открытым исходным кодом.
Веб-версия Element
Мессенджер Element выпускается для разных операционных систем и мобильных устройств, включая iOS и Android. Кроме того, в Матрице большой выбор других клиентов [10]:

Ранее мы публиковали [11] ссылку на технологическое сравнение всех протоколов коммуникации [12] по ряду критериев, включая безопасность, совместимость, функциональность и надёжность. Как легко увидеть, связка Element/Matrix выигрывает практически по всем показателям.

По уровню безопасности к Element/Matrix ближе всего другие опенсорсные системы, которые поддерживают сквозное шифрование, такие как XMPP, NextCloud Talk, Wire и проч.
Внизу списка — проприетарные системы Discord, Slack, Skype, Zoom, Hangouts и тому подобные, где нормальное шифрование отсутствует, а исходный код засекречен.

Если связка Matrix/Element не устраивает, то никто не мешает выбрать из большого списка других альтернатив Discord.
Вышеупомянутая таблица всех протоколов коммуникации [12] содержит практически все возможные варианты замены Discord.
В комментариях на Хабре в качестве альтернативы часто упоминали Guilded [3], который является полным аналогом Discord в Roblox. Для работы в этом мессенджере нужен только аккаунт Roblox.

К сожалению, 11 октября 2024 года платформа Guilded закрыла доступ [13] к своим ресурсам для пользователей РФ.

Из других популярных альтернатив/аналогов Discord можно упомянуть следующие [14]:
Поддержка ОС разными клиентами Tox:


Volt.im

Rocket.chat
Один из самых интересных мессенджеров, которые появились в последнее время как альтернатива Discord — это опенсорсный проект Revolt [2] (исходный код [24]).

Установка на своём сервере [25] требует наличия 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
docker compose up
С настройками по умолчанию наша локальная копия мессенджера должна открыться в браузере по адресу local.revolt.chat [26]. См. пример файла .env [27].
Установка на удалённом сервере [28] включает в себя дополнительные манипуляции. В частности, нужно отредактировать адреса 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 — интересный мессенджер, который начинался как хобби-проект [29] одного разработчика в образовательных целях, а сейчас оброс нормальным комьюнити и бурно развивается. Недавно вышли экспериментальные клиенты под Android [30] и iOS [31], десктопный клиент GTK4 [32] и клиент на React Native [33].

Клиент под iOS

Клиент под Android
Конечно, Revolt пока находится в ранней стадии разработки. Но это очень интересный пример того, что может сделать один человек. Бэкенд написан на Rust, интерфейс полностью скопирован с Discord — тоже две немаловажные части успеха. Будем надеяться, что сообщество перехватит знамя у автора/мейнтейнера — и проект станет действительно общественным. Опенсорсный мессенджер с богатой функциональностью нужен всем.
Подводя итог, в опенсорсе немало альтернатив Discord, которые можно поставить на своём сервере. Многие из них известны нам ещё по тем временам, когда мы искали замену Slack и Mattermost [11]. История повторяется.
Среди новых разработок за последние годы выделяется опенсорсный проект Revolt [2], который также называют полным клоном Discord, потому что пытается копировать его дизайн, элементы интерфейса и функциональность. Проект изначально создан с нуля единственным разработчиком ради удовольствия, а сейчас активно развивается силами сообщества.
© 2024 ООО «МТ ФИНАНС»
Автор: ru_vds
Источник [34]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/skype/399568
Ссылки в тексте:
[1] Image: https://habr.com/ru/companies/ruvds/articles/850438/
[2] Revolt: https://revolt.chat/
[3] Guilded: https://www.guilded.gg/
[4] хостинге: https://www.reg.ru/?rlink=reflink-717
[5] маркетплейсе RUVDS: https://ruvds.com/ru/mp/
[6] Matrix Synapse: https://ruvds.com/ru/mp/matrix/
[7] набор API: https://spec.matrix.org/latest/
[8] Synapse Admin UI: https://github.com/Awesome-Technologies/synapse-admin
[9] Element Web: https://github.com/element-hq/element-web
[10] большой выбор других клиентов: https://matrix.org/ecosystem/clients/
[11] публиковали: https://habr.com/ru/companies/ruvds/articles/702494/
[12] технологическое сравнение всех протоколов коммуникации: https://docs.google.com/spreadsheets/d/1-UlA4-tslROBDS9IqHalWVztqZo7uxlCeKPQ-8uoFOU/edit#gid=0
[13] закрыла доступ: https://habr.com/ru/news/850110/
[14] следующие: https://habr.com/ru/news/849148/
[15] TeamSpeak 3: https://teamspeak.com/en/downloads/#server
[16] Mumble: https://www.mumble.info/downloads/
[17] Tox: https://tox.chat/
[18] Volt.im: https://volt.im/
[19] потенциально опенсорсная: https://volt-app.com/
[20] Mattermost: https://mattermost.com/
[21] Rocket.chat: https://www.rocket.chat/
[22] Aliucord: https://github.com/Aliucord/Aliucord
[23] Jitsi: https://jitsi.org/
[24] исходный код: https://github.com/revoltchat
[25] Установка на своём сервере: https://github.com/revoltchat/self-hosted
[26] local.revolt.chat: http://local.revolt.chat/
[27] пример файла .env: https://github.com/revoltchat/self-hosted/blob/master/.env.example
[28] Установка на удалённом сервере: https://github.com/revoltchat/self-hosted#custom-domain
[29] начинался как хобби-проект: https://developers.revolt.chat/faq.html#:~:text=Revolt%20started%20as%20a%20passion%20project
[30] под Android: https://github.com/revoltchat/android
[31] iOS: https://github.com/revoltchat/ios
[32] клиент GTK4: https://github.com/revoltchat/mutiny
[33] клиент на React Native: https://github.com/revoltchat/rvmob
[34] Источник: https://habr.com/ru/companies/ruvds/articles/850438/?utm_campaign=850438&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.