Files

85 lines
3.9 KiB
Lua

-- Тестовый конфиг Prosody 13.0 (параллельный стенд для проверки mod_privilege)
-- Домен: test.nixg.ru · Порты: 15222 (c2s) / 15269 (s2s) / 15280 (http)
-- Запущен отдельно от прода (icq-prosody на 5222/5269/5280)
data_path = "/var/lib/prosody"
plugin_paths = { "/etc/prosody/modules" }
log = {
debug = "/var/log/prosody/prosody.log";
error = "/var/log/prosody/prosody.err";
}
admins = { "admin@test.nixg.ru" }
modules_enabled = {
"roster"; -- Список контактов
"saslauth"; -- Аутентификация
"tls"; -- TLS
"dialback"; -- s2s dialback
"disco"; -- Service discovery
"carbons"; -- Копии сообщений на все устройства
"pep"; -- Personal eventing (OMEMO, avatars)
"admin_shell"; -- временно: prosodyctl shell для диагностики
"private"; -- Приватные хранилища XML
"blocklist"; -- Чёрный список
"vcard4"; -- vCard 4
"vcard_legacy"; -- vCard 2
"version"; -- Версия сервера
"uptime"; -- Время работы
"time"; -- Время
"ping"; -- XMPP Ping
"register"; -- In-band registration (для теста можно включить)
"adhoc"; -- ad-hoc команды
"admin_adhoc"; -- админ-команды
"bosh"; -- BOSH
"csi"; -- Client State Indication
"offline"; -- Хранение оффлайн-сообщений
"presence"; -- Присутствие
"mam"; -- Message Archive Management
"websocket"; -- WebSocket
"server_contact_info";
}
-- Порты (локальные, чтобы не конфликтовать с продом icq-prosody)
c2s_ports = { 15222 }
s2s_ports = { 15269 }
c2s_interface = "0.0.0.0"
s2s_interface = "0.0.0.0"
http_ports = { 15280 }
http_interfaces = { "0.0.0.0" }
-- Компоненты (XEP-0114) — в 13.0 сервис 'component' слушает только default 5347
-- (опция component_ports удалена из кода 13.0). Проброс: хост 15347 -> контейнер 5347.
-- ВАЖНО: (1) внешний компонент объявляется блоком Component БЕЗ модуля, иначе
-- mod_component не загрузится и порт 5347 не будет слушаться;
-- (2) component_interfaces обязана быть в ГЛОБАЛЬНОЙ секции (выше VirtualHost/Component),
-- иначе Prosody молча игнорирует её и listener висит на 127.0.0.1.
component_interfaces = { "0.0.0.0" }
Component "telegram.test.nixg.ru"
component_secret = "test-secret-telegram-123"
modules_enabled = { "privilege" } -- чтобы mod_privilege реагировал на component-authenticated
-- Тестовый домен
VirtualHost "test.nixg.ru"
authentication = "internal_hashed"
storage = "internal"
allow_registration = true -- для теста можно регистрироваться in-band
modules_enabled = { "privilege" } -- XEP-0356: модуль должен жить на VirtualHost, чтобы видеть privileged_entities
-- Привилегии для проверки mod_privilege (XEP-0356)
privileged_entities = {
["telegram.test.nixg.ru"] = {
roster = "both";
message = "outgoing";
iq = {
["http://jabber.org/protocol/pubsub"] = "both";
["http://jabber.org/protocol/pubsub#owner"] = "set";
};
};
}
-- PubSub как компонент (XEP-0060; в 13.0 модуль pubsub в VirtualHost не грузится)
Component "pubsub.test.nixg.ru" "pubsub"
modules_enabled = { "pubsub" }