mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 09:55:11 +00:00
5.3 KiB
5.3 KiB
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