mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 09:55:11 +00:00
87 lines
4.0 KiB
Markdown
87 lines
4.0 KiB
Markdown
# ICQ XMPP — Полезные команды (шпаргалка)
|
|
|
|
> Все docker-команды выполняются из /opt/icq. Сервер: Prosody 0.11.9 в контейнере icq-prosody.
|
|
|
|
## Проект / статус
|
|
```bash
|
|
cd /opt/icq && docker compose ps # статус всех контейнеров
|
|
docker compose ps -a # включая остановленные
|
|
docker compose logs --tail 50 prosody # логи сервиса (или slidgram/webchat)
|
|
```
|
|
|
|
## Пользователи (регистрация ОТКЛЮЧЕНА — только через prosodyctl)
|
|
```bash
|
|
# Создать пользователя (логин@nixg.ru):
|
|
docker exec icq-prosody prosodyctl register ЛОГИН nixg.ru 'ПАРОЛЬ'
|
|
# Пример: docker exec icq-prosody prosodyctl register ivan nixg.ru 'secret123'
|
|
|
|
# Изменить пароль (та же команда — перезапишет):
|
|
docker exec icq-prosody prosodyctl register ivan nixg.ru 'НОВЫЙПАРОЛЬ'
|
|
|
|
# Удалить пользователя:
|
|
docker exec icq-prosody prosodyctl unregister ЛОГИН nixg.ru
|
|
|
|
# Список аккаунтов (лежат в data/nixg.ru/accounts/*.dat на хосте):
|
|
ls /opt/icq/data/nixg%2eru/accounts/
|
|
```
|
|
⚠️ In-band self-registration ВЫКЛЮЧЕНА (allow_registration=false, модуль register не загружен).
|
|
Единственный способ создать аккаунт — `prosodyctl register`. Пользователи НЕ могут сами регистрироваться.
|
|
|
|
## Сервисы (Prosody, мост, веб-чат)
|
|
```bash
|
|
# Рестарт сервиса:
|
|
docker compose restart prosody # или slidgram / webchat
|
|
# Пересоздать контейнер с новыми env (после правки docker-compose.yml):
|
|
docker compose up -d --force-recreate --no-deps slidgram
|
|
# Полный перезапуск проекта:
|
|
docker compose up -d
|
|
# Остановить/запустить:
|
|
docker compose stop && docker compose start
|
|
|
|
# Проверка конфига Prosody:
|
|
docker exec icq-prosody prosodyctl check config
|
|
# Просмотр активных портов/модулей:
|
|
docker logs icq-prosody --tail 100
|
|
# Валидация сертификатов/домена:
|
|
docker exec icq-prosody prosodyctl check certs
|
|
docker exec icq-prosody prosodyctl check dns
|
|
```
|
|
|
|
## Мост Telegram (Slidge/slidgram)
|
|
```bash
|
|
docker logs icq-slidgram --since 10m | grep -iE 'register|login|session|avatar|error'
|
|
# Регистрация TG-аккаунта: из XMPP-клиента команда "register" на telegram.nixg.ru
|
|
# (api_id/api_hash уже в конфиге; см. WALKTHROUGH.md §12)
|
|
# Перезапуск моста после правки env:
|
|
docker compose up -d --force-recreate --no-deps slidgram
|
|
```
|
|
|
|
## Просмотр логов / диагностика
|
|
```bash
|
|
docker logs icq-prosody --tail 50
|
|
docker logs icq-webchat --since 5m
|
|
docker logs icq-slidgram --since 10m | grep -iE 'error|register|avatar'
|
|
# Прямые файлы логов:
|
|
tail -50 /opt/icq/logs/prosody.log
|
|
tail -30 /opt/icq/logs/prosody.err
|
|
```
|
|
|
|
## Внешняя проверка
|
|
```bash
|
|
curl -sS https://upload.nixg.ru/upload # HTTP Upload (ожидается 403/404 — сервис жив)
|
|
curl -sI https://chat.nixg.ru/ # веб-чат
|
|
curl -sI https://xmpp.nixg.ru/ # WS endpoint (Caddy)
|
|
```
|
|
|
|
## Проверка входа пользователя по WebSocket (slixmpp, ssl не проверяется)
|
|
```python
|
|
bot = slixmpp.ClientXMPP('admin@nixg.ru','ПАРОЛЬ')
|
|
import ssl; ctx = ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE
|
|
bot.ssl_context = ctx
|
|
bot.connect(('wss://xmpp.nixg.ru/xmpp-websocket',))
|
|
```
|
|
|
|
## Проверка веб-чата headless (UI отрендерен)
|
|
```bash
|
|
chromium --headless --no-sandbox --disable-gpu --virtual-time-budget=15000 --dump-dom https://chat.nixg.ru/ | grep converse-login-form
|
|
``` |