Давайте дружить в Телеграме: рассказываем про новые фичи и общаемся в комментах Подписаться
support@serv.host
Личный кабинет

Собственный мессенджер на замену телеграм! (реально)

Свой аналог Telegram на коленке

В последнее время телеграм, как и весь интернет, плохо себя чувствует, и кажется, что мир катится к истокам, в каменный век...

Но, отойдя от философии, стоит вспомнить, что есть такой протокол как Jabber(сейчас - XMPP), прародитель почти всех известных нам мессенджеров, которому уже внимание - почти 30 лет! 0_0 Не смотря на его старость, в нём имеется:

  • сквозное шифрование *
  • поддержка загрузки файлов
  • качественные звонки и главная фишка - децентрализованность. Любой желающий может поднять свой сервер, и общаться таким образом с другими людьми на других сотнях серверов! А-ля e-mail.

В этой статье будет показано, как легко установить на своём сервере XMPP, а точнее, его самую лёгкую реализацию - сервер Prosody. Действия ниже проводились на системе Debian 12, но должно работать и на других системах с некоторыми отличиями.

  1. Вход в root в Linux плохо работает автодополнение без прав root. Если у вас вход выполнен не в root, выполните его:
sudo su - root

Если вы уже из под рута, то не выполняйте.

  1. Установка пакета Prosody
apt update
apt install prosody
  1. Настройка базового конфига
    Отредактируйте конфиг:
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 чтобы быстро стереть файл

  1. Настройка 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 ВАШ.ДОМЕН
  1. Перезапуск сервера для применения настроек
systemctl restart prosody
  1. Добавление пользователя(вас)
prosodyctl adduser ЛОГИН@ВАШ.ДОМЕН
  1. Подключение Используйте любой XMPP-клиент (лучшие: для ПК Gajim или Dino, для андроид Monocles Chat, для айфонов Monal) с вашим доменом, логином и паролем.

Готово! Не бойтесь блокировок, вы уже защищены. Приглашайте друзей и переводите знакомых на новый уровень свободы.

Я создал чат в XMPP, где мы можем болтать, общаться и помогать в настройке друг другу. Жду вас тут: serv.host@muc.unionium.org