mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 09:55:11 +00:00
5.5 KiB
5.5 KiB
ICQ XMPP — ТЕКУЩИЙ СТАТУС И ПЛАН (точка входа для новой сессии)
Обновлено: 2026-08-29 (вечер) · Сессия: bigbox (/opt/icq)
Проект
Self-hosted XMPP-мессенджер на nixg.ru (Prosody 0.11.9 + веб-клиент Converse v14 + мост Telegram).
Миграция на nixg.ru (2026-08-28): JID юзеров user@nixg.ru, веб-клиент chat.nixg.ru, WS wss://xmpp.nixg.ru.
Документация:
- INFRA.md — инфраструктура, DNS, учётные данные, TLS/LE, бэкапы
- BRIDGE-TELEGRAM.md — мост Telegram (Slidge): статус, регистрация, задача по аватарам
- WALKTHROUGH.md — полный разбор всех этапов, команд, засад (ESM-фикс, TLS, HTTP Upload, OMEMO, регистрация slidgram §12, push §10.4)
- CHEATSHEET.md — полезные команды
- PRD.md · MIGRATION.md · XEP-AUDIT.md
Что работает (подтверждено)
- ✅ XMPP-сервер nixg.ru: c2s 5222 / s2s 5269 / http 5280 / https 5281, федерация через SRV
- ✅ TLS: LE-серты (Caddy 443 для WS/веб; Prosody c2s/s2s — dns-01, истекает 2026-11-26, продление вручную)
- ✅ Веб-чат https://chat.nixg.ru/ (Converse v14, вход admin@nixg.ru, wss://xmpp.nixg.ru)
- ✅ HTTP Upload (upload.nixg.ru, XEP-0363), OMEMO (XEP-0384, через PEP), MAM, Carbons, MUC, PubSub, Bookmarks
- ✅ Бэкапы → Яндекс.Диск (cron 2:45), watchdog продления LE-серта (тихий, cron ca2a23a34905)
- ✅ Мост Telegram (Slidge/slidgram): telegram.nixg.ru аутентифицирован, MTProto через SOCKS5-туннель VPS01
- ✅ TG-аккаунт привязан к мосту (2026-08-29): estorozhenko@nixg.ru → команда register из Pidgin, номер +792****2181, api_id/api_hash из конфига. Логин OK, контакты и аватары синхронизируются.
- ✅ Пользователи: admin@nixg.ru, estorozhenko@nixg.ru (оба входят); самостоятельная регистрация ОТКЛЮЧЕНА
- ✅ Админы сервера (2026-08-29):
admins = { "admin@nixg.ru", "estorozhenko@nixg.ru" }— оба могут ad-hoc команды
Задачи (будущее)
Регистрация TG-аккаунта в мосте— ВЫПОЛНЕНО 2026-08-29 (estorozhenko@nixg.ru)Вопрос про каналы/папки TG в рostере— РЕШЕНО/ОТВЕЧЕНО 2026-08-29 (вечер): каналов в рostере XMPP НЕТ и быть не может (роster = личные контакты, 1602 шт.). Каналы/группы (91+40) живут в БД моста (room), в XMPP — через bookmarks (сломаны из-за mod_privilege-стаба). Папки Telegram слайдж не поддерживает (TODO в session.py:292). Подробности: WALKTHROUGH §12.9.- Аватары TG в мосте таймаутят — HTTP-часть slidge не ходит через SOCKS5 (URL web.telegram.org недоступны из РФ). Косметика, на переписку не влияет. Разбор и варианты: BRIDGE-TELEGRAM.md.
- Сборка Prosody 0.12.x (система сборки) — ЗАПЛАНИРОВАНО (сделать позже): официальный Docker-образ не имеет 0.12 (latest=0.11.9); сторонние nightly не годятся. Собрать свой образ из исходников prosody-0.12.6.tar.gz (WALKTHROUGH §12.8). Закроет: нативный XEP-0356 (mod_privilege больше не нужен → «миллион приглашений» в Pidgin исчезнет, bookmarks заработают), push-уведомления (util.jwt), безопасность.
- Бот-книгоискатель (slixmpp + OPDS) — Этап 3 PRD. (venv готов: /opt/icq/.venv)
- Мост mautrix (WhatsApp) — Этап 4; нужен external component. [Telegram уже на Slidge]
- Push-уведомления — ОТЛОЖЕН до апгрейда 0.12 (нужен util.jwt); варианты — WALKTHROUGH §10.4
- MAM: ошибка при логине «max_items: not a number» — проверить настройку mod_mam (не мешает чату)
Известные грабли (2026-08-29)
- mod_privilege (XEP-0356) сломан на 0.11.9 (module:send_iq — API 0.12). Стоит стаб-ACK (коммит
770c9fa): Prosody стабилен, но bookmarks/MDS через XEP-0356 не работают → слайдж шлёт приглашения в группы вручную. Полное решение — апгрейд 0.12. Детали: WALKTHROUGH §12.7. - Рostер TG-контактов цел на сервере (1602). Если контакты «пропали» в Pidgin после рестарта — Disable/Enable аккаунта (клиент сам скачает рostер). Не трогать сервер.
Быстрые команды
cd /opt/icq && docker compose ps
docker logs icq-prosody --tail 50
docker exec icq-prosody prosodyctl check config
# полный список: CHEATSHEET.md