# ICQ XMPP — Инфраструктура, учётные данные, бэкапы (детали) > Вспомогательный файл для STATUS.md; обновлено: 2026-08-29 ## Учётные данные - **admin@nixg.ru / пароль: `<СМОТРИ В ЗАЩИЩЁННОМ ХРАНИЛИЩЕ / .env>`** ← перенесён 2026-08-28 с admin@chat.nixg.ru, ВХОД ПОДТВЕРЖДЁН (проверено через WebSocket: slixmpp + wss://xmpp.nixg.ru/xmpp-websocket → AUTH OK). - **estorozhenko@nixg.ru** — создан 2026-08-29, вход подтверждён (slixmpp, c2s 5222, AUTH OK). - Если пароль снова понадобится сбросить: `docker exec icq-prosody prosodyctl register ЛОГИН nixg.ru 'НОВЫЙПАРОЛЬ'` - ⚠️ **Самостоятельная регистрация ВЫКЛЮЧЕНА** (2026-08-29): `allow_registration = false`, модуль `register` не загружен. Создание/удаление пользователей — только через prosodyctl (см. CHEATSHEET.md). - Старый аккаунт admin@chat.nixg.ru: домен chat.nixg.ru убран из Prosody (VirtualHost теперь nixg.ru). ## Инфраструктура - bigbox (машина агента), каталог: **/opt/icq** - Контейнеры: **icq-prosody** (Prosody 0.11.9: 5222/5269/5280/5281), **icq-webchat** (nginx:8081), **icq-slidgram** (мост Telegram) - vps02 (87.242.100.206, Debian 12, enp3s0): Caddy (443, host-network), iptables DNAT 5222/5269 → 10.8.0.2 - WireGuard: bigbox 10.8.0.2 ↔ vps02 10.8.0.4; Caddy → 10.8.0.2:8081 ## DNS (Jino) - A `chat.nixg.ru` → 87.242.100.206 (веб-клиент) - A `xmpp.nixg.ru` → 87.242.100.206 (XMPP WS) - A `nixg.ru` → 81.177.135.175 (визитка, НЕ трогаем) - A `upload.nixg.ru` → 87.242.100.206 (HTTP Upload) - SRV `_xmpp-client._tcp.nixg.ru` → 0 5 5222 **xmpp.nixg.ru.** - SRV `_xmpp-server._tcp.nixg.ru` → 0 5 5269 **xmpp.nixg.ru.** - SRV `_xmpp-client-websocket._tcp.nixg.ru` → 0 5 443 **xmpp.nixg.ru.** - MX `mail.nixg.ru` — НЕ трогаем (почта) ## Prosody - VirtualHost **nixg.ru**, cross_domain_websocket = { "https://chat.nixg.ru", "https://xmpp.nixg.ru" } - WebSocket: wss://xmpp.nixg.ru/xmpp-websocket — РАБОТАЕТ (101, авторизация OK, LE-сертификат) - Компоненты: `conference.nixg.ru` (MUC), `upload.nixg.ru` (HTTP Upload), `telegram.nixg.ru` (Slidge, component_ports 5347) ## TLS / Let's Encrypt (детали) - Выпуск: `sudo certbot certonly --manual --preferred-challenges dns -d nixg.ru -d xmpp.nixg.ru --manual-auth-hook /bin/true --manual-cleanup-hook /bin/true` (TXT в Jino вручную) - Сертификат: /etc/letsencrypt/live/nixg.ru/ → копия в /opt/icq/certs/nixg.ru.{crt,key} (cp -L!) - Истекает **2026-11-26**; продление вручную: TXT в Jino → `sudo certbot renew --manual-auth-hook /bin/true --manual-cleanup-hook /bin/true` → копия в certs/ → restart prosody - **Watchdog-напоминание**: Hermes cron ca2a23a34905, ежедневно 10:00 UTC, no_agent, доставка в Telegram DM. Скрипт /opt/hermes/.hermes/scripts/check_icq_cert.sh (THRESHOLD=45 дн.): молчит, пока до истечения >45 дней; при <=45 дней шлёт в TG инструкцию продления. Первое срабатывание ≈ 12.10.2026. ## Резервное копирование - Скрипт: **/opt/icq/backup.sh** (по образцу /opt/netbox/backup.sh), права 755, в git. - Что бэкапит (tar czf): data/ (аккаунты, PEP/OMEMO, MUC, http_upload) + config/ + certs/ + modules/ + webchat/ + docker-compose.yml + все *.md (включая новые INFRA/BRIDGE/CHEATSHEET). - Куда: /opt/icq/backups/ (локально, 7 дней) → /mnt/yandex-disk/backup/icq-backups/ (30 дней), проверка mountpoint. - Cron (root): `45 2 * * * /opt/icq/backup.sh >> /var/log/icq-backup.log 2>&1` — после NetBox (2:00) и Gitea (2:30). ## Проверено (подтверждено) - ✅ XMPP-сервер на nixg.ru, федерация (SRV), порты 5222/5269 открыты извне - ✅ TLS на 443 (Caddy/Let's Encrypt): xmpp.nixg.ru (LE, 2026-08-28) и chat.nixg.ru (страница) - ✅ WebSocket-путь целиком: Caddy → nginx:8081 → Prosody:5280 → 101 Switching Protocols - ✅ Аутентификация по WebSocket: admin@nixg.ru (slixmpp, 2026-08-28) - ✅ Веб-чат https://chat.nixg.ru/ (Converse v14.0.0, вход подтверждён headless-браузером) - ✅ Рестарт Prosody с модулями (2026-08-29): c2s/s2s/http/https, LE-серты, mod_bosh, mod_http_upload, mod_vcard_muc, mod_muc_moderation — без ошибок (исторические ошибки «http_upload MUST happen with TLS» — от 28 авг, до настройки LE) - ✅ HTTP Upload: disco urn:xmpp:http:upload:0, слот, PUT, GET→200 (slixmpp) - ✅ OMEMO: устройство Converse 14035 опубликовало devicelist + bundles в PEP (подробности: WALKTHROUGH §9) - ✅ Мост Telegram: компонент telegram.nixg.ru аутентифицирован, Slidge started, upload discovery OK