Разворачиваем свой SMP (SimpleXMQ) сервер

Разворачиваем свой SMP (SimpleXMQ) сервер


Как известно, в РФ заблокировали Simplex. Но не стоит расстраиваться, ведь заблокировали всего лишь известные сервера:



А мы с вами развернём свои!

Что нужно

Всё очень просто, Минимальный VPS

  • Я использую beget за 210р/месяц
  • Также на aeza сейчас акция, можно купить VPS на год за 11 евро

Систему выбирай Ubuntu, на неё SMP встаёт без проблем, другие не пробовал

Как

  1. Нам нужно скачать SMP сервер

Последняя стабильная версия на время написания статьи - 6.0.4, её и скачаем!

Выбираем бинарный файл для нашей системы Ubuntu 20 или 22


У меня ubuntu 22 поэтому, поэтому скачиваю для неё:

wget https://github.com/simplex-chat/simplexmq/releases/download/v6.0.4/smp-server-ubuntu-22_04-x86-64

Теперь давайте переименуем скачаный файл, и перенесём туда, где лежат другие программы, чтобы всё было аккуратно:

mv smp-server-ubuntu-22_04-x86-64 /usr/local/bin/smp-server

Сделаем файл исполняемым:

chmod +x /usr/local/bin/smp-server

Проверяем:

smp-server -h

Должен отобразиться help

SMP server v6.0.4

Usage: smp-server [-v|--version] COMMAND

Available options:
 -h,--help        Show this help text
 -v,--version       Show version

Available commands:
 init           Initialize server - creates /etc/opt/simplex and
              /var/opt/simplex directories and configuration files
 cert           Generate new online TLS server credentials
              (configuration: /etc/opt/simplex/smp-server.ini)
 start          Start server (configuration:
              /etc/opt/simplex/smp-server.ini)
 delete          Delete configuration and log files

Теперь самое главное - инициализируем сервер:

smp-server init --disable-web -l --ip <ip твоего vps>

Если у твоего vps есть доменное имя, то делаем так:

smp-server init --disable-web -l -n <твой домен>

Нажимай enter, процесс инициализации будет спрашивать некоторые вопросы. Вот как это выглядело у меня:

SMP server will be initialized (press Enter)
Enable store log to restore queues and messages on server restart (Yn): y
Enable logging daily statistics (yN): N
Require a password to create new messaging queues?
'r' for random (default), 'n' - no password, or enter password: 
Enter server FQDN or IP address for certificate (ytstalker.fun): 
Enter server source code URI (https://github.com/simplex-chat/simplexmq): 
Enter path to store generated static site with server information (/var/opt/simplex/www): 
Enable built-in web server for static site (yN): N
Certificate request self-signature ok
subject=CN = ytstalker.fun
Server initialized, please provide additional server information in /etc/opt/simplex/smp-server.ini.
Run `smp-server start` to start server.
----------
You should store CA private key securely and delete it from the server.
If server TLS credential is compromised this key can be used to sign a new one, keeping the same server identity and established connections.
CA private key location:
/etc/opt/simplex/ca.key
----------
SMP server v6.0.4
Fingerprint: 1lLMHXMhdV14KmDkxEfOJqtszGg8HytoFMjYRBlUyJ4=
Server address: smp://1lLMHXMhdV14KmDkxEfOJqtszGg8HytoFMjYRBlUyJ4=:_lLiSkuClqGVXECTlbGmiwpCicBmjq1PRktvcu5kbzs=@ytstalker.fun
Warning: server source code is not specified.
Add 'source_code' property to [INFORMATION] section of INI file.

Обрати внимание, тут уже есть адрес сервера

smp://RUJRylEdgiY50rHy0urzp_n8BmYVLcQ4NRdLtDTL3L8=@ytstalker.fun

Нам осталось поменять порт, потому что блокировка в РФ в том числе по порту


Отредактируй

/etc/opt/simplex/smp-server.ini

И поменяй порт с 5223 на 443, если он у тебя не занят, или на 21 или на 3389. В общем выбери любой стандартный популярный порт, который используют другие программы. Я указал 3389

Не забудем написать systemd сервис, чтобы при перезагузке нашего VPS сервер симплекса автоматически загружался. Создай файл

nano /etc/systemd/system/smp-server.service

И заполни его следующим:

[Unit]
Description=SimpleX Messaging Protocol Server
After=network.target

[Service]
Type=simple
ExecStart=smp-server start
Restart=always
RestartSec=3
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target

Запускаемся

systemctl enable smp-server
systemctl start smp-server

Проверим как всё работает

systemctl status smp-server

Получим что-то типа

● smp-server.service - SimpleX Messaging Protocol Server
   Loaded: loaded (/etc/systemd/system/smp-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2024-09-26 19:22:49 UTC; 4s ago
  Main PID: 1209478 (smp-server)
   Tasks: 6 (limit: 1100)
   Memory: 29.6M
    CPU: 49ms
   CGroup: /system.slice/smp-server.service
       └─1209478 smp-server start

Итого

Сервер доступен по

smp://RUJRylEdgiY50rHy0urzp_n8BmYVLcQ4NRdLtDTL3L8=@ytstalker.fun:3389

Так что летсгоу децентрализовывать общение!




доки: https://simplex.chat/docs/server.html


@mov3371 @sur_NET

Report Page