Files
icq/XEP-AUDIT.md
estorozhenko 3c4190402b Telegram bridge: slidgram + SOCKS5 proxy, mod_privilege (XEP-0356), XEP audit
- docker-compose: сервис slidgram (Slidge->Telegram, внешний компонент XEP-0114)
- кастомный образ slidgram-proxy: SOCKS5-патч (SLIDGRAM_PROXY -> Pyrogram) для маршрутизации через VPS01
- prosody: component telegram.nixg.ru (5347), component_secret в секции Component (0.11!),
  mod_privilege + privileged_entities (roster sync мостов), mod_pubsub включён
- modules/mod_privilege.lua (community, hg.prosody.im)
- docs/slidgram/: офлайн-копия документации slidgram (slidge.im)
- README: секции 'Функциональность (XEP)' и 'Мост Telegram'; XEP-AUDIT.md (полный аудит XEP)
- STATUS.md: мост ПОДКЛЮЧЁН, privilege, аудит
2026-08-29 14:38:25 +00:00

47 lines
4.2 KiB
Markdown

# Аудит XEP-функциональности сервера nixg.ru (Prosody 0.11.9)
Дата: 2026-08-29. Проверено фактически: по конфигу `config/prosody.cfg.lua`,
загруженным модулям в контейнере (`docker exec icq-prosody ls ...`) и логам
(компонент telegram.nixg.ru аутентифицирован, MAM активен).
Легенда: ✅ работает · ⚠️ частично/клиент-сайд · ❌ не реализовано
## Основные модули (XEP)
| Возможность | XEP | Как реализовано | Статус |
|---|---|---|---|
| **MUC** (групповые чаты) | XEP-0045 | Component `conference.nixg.ru` (mod_muc); + mod_vcard_muc (аватары комнат), mod_muc_moderation (XEP-0425), max_history 200 | ✅ |
| **PubSub** (подписки/ленты) | XEP-0060 | mod_pubsub (stock, включён 2026-08-29) | ✅ |
| **HTTP Upload** (файлы) | XEP-0363 | Component `upload.nixg.ru` (mod_http_upload, community), внешний URL https://upload.nixg.ru, лимит 10 MB, TTL 7 дней | ✅ |
| **MAM** (история) | XEP-0313 | mod_mam (в modules_enabled) + mod_muc_mam (история комнат) | ✅ |
| **Carbons** (все устройства) | XEP-0280 | mod_carbons (в modules_enabled) | ✅ |
| **OMEMO / OTR** | XEP-0384 / XEP-0363 | mod_pep (хранение ключей/бандлов OMEMO). Серверного mod_omemo в Prosody 0.11 нет (и в prosody-modules его нет) — шифрование **клиент-сайд** (Gajim/Dino/Conversations/Monal работают через PEP). | ⚠️ клиент-сайд |
| **WebRTC** (звонки) | XEP-0166 (Jingle) / XEP-0343 | Jingle — клиент-сайд; серверного модуля нет. Prosody не терминатор медиа — для звонков клиент↔клиент достаточно канала сигнализации (c2s/websocket уже есть). | ⚠️ клиент-сайд |
| **Bookmarks** (избранное) | XEP-0402 / XEP-0048 | Через PEP/pubsub node `storage:bookmarks` (mod_pep). Отдельного mod_bookmarks в 0.11 нет; mod_default_bookmarks (community) — по желанию. | ✅ через PEP |
## Связанное (мосты и сервисы)
| Возможность | XEP | Как реализовано | Статус |
|---|---|---|---|
| **External component** (мост Telegram) | XEP-0114 | Component `telegram.nixg.ru`, порт 5347 (внутри docker-сети), секрет в `component_secret` секции Component | ✅ |
| **Privileged Entity** (roster sync для мостов) | XEP-0356 | mod_privilege (community, добавлен 2026-08-29) + `privileged_entities` в VirtualHost для telegram.nixg.ru | ✅ |
| **PEP** (аватары, OMEMO, отметки) | XEP-0163 | mod_pep (в modules_enabled) | ✅ |
| **In-band registration** | XEP-0077 | mod_register (allow_registration=true) | ✅ |
| **WebSocket / BOSH** | XEP-0306 / XEP-0124 | mod_websocket, mod_bosh (порт 5280) | ✅ |
| **Stream Management** | XEP-0198 | mod_smacks (community, установлен) | ✅ |
## Что проверять клиентами
- **Gajim/Dino/Conversations** — полная поддержка MUC, MAM, Carbons, OMEMO, Bookmarks (через PEP).
- **Converse.js (веб)** — MUC, MAM, Carbons, OMEMO (частично), HTTP Upload.
- Для OMEMO-шифрования: включить в клиенте, ключи хранятся в PEP (сервер уже готов).
## Примечания
- Модули OMEMO/Bookmarks как серверные отсутствуют в экосистеме Prosody 0.11 —
это норма: OMEMO и Bookmarks реализованы клиентски через PEP/pubsub.
Если нужен именно серверный mod_bookmarks (дефолтные закладки) — ставится
`mod_default_bookmarks` (community, hg.prosody.im).
- Источник community-модулей (работает из РФ): https://hg.prosody.im/prosody-modules/
(GitHub raw заблокирован, 404).