В сети много информации о том, как настроить ejabber для работы в локальной сети, но о том как настроить высокоскоростную передачу файлов информация обрывочная — есть настройки на стороне jabber сервера, но нет примера настройки в PSI клиенте.
Постараюсь показать как я настраивал связку ejabber -PSI для передачи файлов в локальной сети. Установку самого ejabberd сервера опускаю.
Для передачи файлов будем использовать модуль mod_proxy65
Настройки ejabberd на сервере Ubuntu:
в файле /etc/ejabberd/ejabberd.cfg (документация по всему файлу : Документация ejabber)
добавляем в разделе TRAFFIC SHAPERS ограничения для передачи файла этим модулем
{shaper, proxy65, {maxrate, 650000}}.
В разделе MODULES настраиваем модуль mod_proxy65
{mod_proxy65, [
{host, "proxy.@HOST@"},
{name, "ProXy for File Transfer"},
{hostname, "192.168.0.207"},
{auth_type, anonymous},
{max_connections, 5},
{ip, {0,0,0,0}},
{port, 7777},
{access, all},
{shaper, proxy65}
]},
Открываем порты TCP и UDP на сервере:
sudo iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 7777 -j ACCEPT
смотрим, что правила появились:
sudo iptables -L
Перезагружаем ejabberd:
/etc/init.d/ejabberd restart
С сервером закончили, теперь настраиваем клиента PSI.
Смотрим, что созданный сервис модуля появился в PSI:
«Общее» далее «Обзор сервисов» , там мы должны увидеть название созданного в модуле сервиса «ProXy for File Transfer».
Запоминаем JID (в моем примере — proxy.davical)
Далее «Общее» идем в вкладку «Аккаунты» нажимаем «изменить»
Вкладка «дополнительно» в Data Transfer прописываем ранее запомненный JID:
Сохраняем. Соглашаемся с предупреждением «Переподключится сейчас»
На этом настройка передачи файлов с использованием mod_proxy65 закончена
Важно, чтобы вышеуказанная настройка клиента PSI была выполнена хотя бы у одной из сторон, участвующих в передаче/приеме файлов.