Собственный мессенджер на замену телеграм! (реально)
Свой аналог Telegram на коленке
В последнее время телеграм, как и весь интернет, плохо себя чувствует, и кажется, что мир катится к истокам, в каменный век...
Но, отойдя от философии, стоит вспомнить, что есть такой протокол как Jabber(сейчас - XMPP), прародитель почти всех известных нам мессенджеров, которому уже внимание - почти 30 лет! 0_0 Не смотря на его старость, в нём имеется:
- сквозное шифрование *
- поддержка загрузки файлов
- качественные звонки и главная фишка - децентрализованность. Любой желающий может поднять свой сервер, и общаться таким образом с другими людьми на других сотнях серверов! А-ля e-mail.
В этой статье будет показано, как легко установить на своём сервере XMPP, а точнее, его самую лёгкую реализацию - сервер Prosody. Действия ниже проводились на системе Debian 12, но должно работать и на других системах с некоторыми отличиями.
- Вход в root в Linux плохо работает автодополнение без прав root. Если у вас вход выполнен не в root, выполните его:
sudo su - root
Если вы уже из под рута, то не выполняйте.
- Установка пакета Prosody
apt update
apt install prosody
- Настройка базового конфига
Отредактируйте конфиг:
nano /etc/prosody/prosody.cfg.lua
Стерите весь файл, и вставьте код ниже.
modules_enabled = {
"disco"; "roster"; "saslauth"; "tls"; "pep";
"vcard4"; "csi_simple"; "ping"; "mam"; "admin_shell"; "posix";
}
authentication = "internal_hashed"
certificates = "/var/lib/prosody/certs"
VirtualHost "ВАШ.ДОМЕН"
Укажите ваш домен,
TIP: зажмите ctrl + k в nano чтобы быстро стереть файл
- Настройка TLS-сертификата
Нужно настроить шифрование трафика. Рекомендуется использовать certbot:
apt install certbot
certbot certonly --standalone -d ВАШ.ДОМЕН
cp /etc/letsencrypt/live/ВАШ.ДОМЕН/fullchain.pem /var/lib/prosody/certs/ВАШ.ДОМЕН.crt
cp /etc/letsencrypt/live/ВАШ.ДОМЕН/privkey.pem /var/lib/prosody/certs/ВАШ.ДОМЕН.key
chown prosody:prosody /var/lib/prosody/*
Если вы не можете использовать по каким-либо причинам certbot, можете создать самоподписанный сертификат:
prosodyctl cert generate ВАШ.ДОМЕН
- Перезапуск сервера для применения настроек
systemctl restart prosody
- Добавление пользователя(вас)
prosodyctl adduser ЛОГИН@ВАШ.ДОМЕН
- Подключение Используйте любой XMPP-клиент (лучшие: для ПК Gajim или Dino, для андроид Monocles Chat, для айфонов Monal) с вашим доменом, логином и паролем.
