The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск коммуникационного клиента Dino 0.3"
Отправлено _hide_, 14-Фев-22 12:08 
> Приветствую!
> А можете запилить гайд-инструкцию, как вы это у себя сделали?!

Настоящую не могу, потому что это (на мой взгляд) титанический труд и его ещё никто не осилил в должной мере.
Хочу уточнить, что для сервера XMPP требуется внешний IP и доменое имя для настройки.
Берём роутер (оперативы 256+ и я не про килобайты говорю), что-то вроде вот этой https://aliexpress.ru/item/1005001824406659.html железки.
Настраиваем хранение root-а на внешнем носитиле (у этих железок проблема с питанием sdcard-ов, поэтому лучше воткнуть в USB или, если в железке распаян SATA, сразу на него всё разместить).
Ставим пакеты: prosody в качестве сервера XMPP, restund для обхода NAT-а (через пакетный менеджер, можно через GUI) и luci-app-acme сертификаты для SSL.

0. Настраиваем фаервол и разрешаем соединения на нужные порты или, как я делаю, но это не очень секьюрно, разрешаем всё и потом блокируем всё, что не должно глядеть наружу. SSH уводим на порт за 2000+ или блокируем (если он не нужен удалённо)

1. Получаем сертификаты через вебгуй (там есть тестовый сервер -- на нем и нужно вначале настроить, чтобы не ругали за спам).

2. В качестве DNS-а использую Яндексовый, пока полёт нормальный

3. Настраиваем restund (сертификаты он так и не принял, поэтому у меня работает по незашифрованному соединению, почему не знаю)

4. Ставим репозиторий модулей (чтобы видео и звук в том же conversation-е работал) https://prosody.im/doc/installing_modules (я слил с репов на ubuntu, потом просто скопировал файлы на роутер).
Настраиваем /etc/prosody/prosody.cfg.lua , как Вам хочется (в интернете полно инструкций) и проверяем результаты по логам.
Поскольку собрать сам не смог нужный модуль для restund под железку (там какие-то заморочки, нужен свой SDK и т.п.), чтобы научить turn авторизации по временному ключу. Чтобы решить проблему с авторизацией, патчим файл prosody-modules/mod_turncredentials/mod_turncredentials.lua , заменяя ключ на пароль (там в двух местах нужно добавить строчки кода, чтобы переопределить ранее заложенную логику)

    local userpart = "ИМЯ ПОЛЬЗОВАТЕЛЯ ИЗ КОНФИГА restund";
    local nonce = base64.encode(hmac_sha1("ОРИГИНАЛЬНЫЙ ПАРОЛЬ ИЗ КОНФИГА restund (не хешированный)", tostring(userpart), false));

Проверить trun можно тут https://webrtc.github.io/samples/src/content/peerconnection/.../

Описание скомкано, но при определённом усердии очень сократит количество граблей.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру