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, аудит
This commit is contained in:
2026-08-29 14:38:25 +00:00
parent 49df2ad681
commit 3c4190402b
28 changed files with 7344 additions and 7 deletions
+28 -1
View File
@@ -8,13 +8,40 @@
- **Caddy** (vps02, host-network) — TLS-терминатор: chat.nixg.ru, xmpp.nixg.ru, upload.nixg.ru
- **Let's Encrypt** — сертификаты для XMPP (c2s/s2s) и веб
- **WireGuard** — туннель bigbox (10.8.0.2) ↔ vps02 (10.8.0.4)
- **Slidge/slidgram** (Docker) — мост XMPP↔Telegram (внешний компонент, XEP-0114)
## Функциональность (XEP-модули)
| Возможность | XEP | Модуль | Статус |
|---|---|---|---|
| MUC (групповые чаты) | XEP-0045 | Component `conference.nixg.ru` (mod_muc) | ✅ |
| PubSub (подписки, ленты) | XEP-0060 | mod_pubsub | ✅ |
| HTTP Upload (файлы) | XEP-0363 | Component `upload.nixg.ru` (mod_http_upload, community) | ✅ |
| MAM (история) | XEP-0313 | mod_mam (+mod_muc_mam) | ✅ |
| Carbons (все устройства) | XEP-0280 | mod_carbons | ✅ |
| OMEMO / OTR (сквозное шифрование) | XEP-0384 | PEP (mod_pep) для хранения ключей; серверный mod_omemo в 0.11 отсутствует — шифрование клиент-сайд (Gajim/Dino/Conversations) | ⚠️ клиент-сайд |
| WebRTC (звонки) | XEP-0166/0343 | клиент-сайд (Jingle); серверного модуля нет | ⚠️ клиент-сайд |
| Bookmarks (избранные) | XEP-0402 | через PEP/pubsub node `storage:bookmarks` (отдельного mod_bookmarks в 0.11 нет) | ✅ через PEP |
| Privilege (roster sync для мостов) | XEP-0356 | mod_privilege (community) | ✅ |
| PEP (аватары, OMEMO, отметки) | XEP-0163 | mod_pep | ✅ |
## Мост XMPP↔Telegram (Slidge/slidgram)
- Внешний компонент **telegram.nixg.ru** (XEP-0114), порт 5347 (внутри docker-сети).
- Образ `slidgram-proxy:latest` = codeberg.org/slidge/slidgram + SOCKS5-патч (env `SLIDGRAM_PROXY`).
- **Трафик Telegram идёт через SOCKS5 172.27.0.1:1080** (SSH-туннель VPS01, вне РФ) — работает при блокировке Telegram в РФ.
- Данные сессий: `./slidgram/data/` (том, uid 10000).
- Регистрация TG-аккаунта: из XMPP-клиента написать «register» на `telegram.nixg.ru`.
- Офлайн-доки: `docs/slidgram/` (копия slidge.im).
## Состав (после клонирования)
```
/opt/icq
├── config/ # prosody.cfg.lua (+ mounts в контейнер)
├── webchat/ # nginx: index.html + nginx.conf (dist скачивается отдельно)
├── modules/ # community-модули Prosody (mod_http_upload)
├── modules/ # community-модули Prosody (mod_http_upload, mod_privilege, ...)
├── slidgram/ # Dockerfile + патчи для образа slidgram-proxy (SOCKS5)
├── docs/slidgram/ # офлайн-копия документации slidgram
├── docker-compose.yml
├── STATUS.md # точка входа: текущее состояние, задачи
├── PRD.md # требования/архитектура