mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 01:50:10 +00:00
85 lines
3.9 KiB
Lua
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" } |