mirror of
https://gitverse.ru/kpa39l/icq.git
synced 2026-09-29 09:55:11 +00:00
docs: push-уведомления — отложено, варианты в WALKTHROUGH 10.4
- Попытка включить mod_unified_push (apt prosody-modules) → НЕ грузится: требует util.jwt (API 0.12), контейнер 0.11.9. Откатил, error из логов ушёл. - Зафиксированы 2 варианта для будущей реализации: (1) XEP-0357 mod_push/mod_push_offline/mod_push_muc из hg (нативный push для Conversations/Monal, под 0.11); (2) UnifiedPush после апгрейда до 0.12. - Уточнён комментарий mod_admin_web в конфиге (XMPP ad-hoc, НЕ веб-панель).
This commit is contained in:
@@ -148,7 +148,13 @@ chromium --headless --no-sandbox --disable-gpu --enable-logging=stderr --virtual
|
|||||||
- Ошибки «http_upload MUST happen with TLS» в prosody.err — ИСТОРИЧЕСКИЕ (28 авг 20:01, до настройки LE-серта);
|
- Ошибки «http_upload MUST happen with TLS» в prosody.err — ИСТОРИЧЕСКИЕ (28 авг 20:01, до настройки LE-серта);
|
||||||
за рестарт 29 авг ошибок нет.
|
за рестарт 29 авг ошибок нет.
|
||||||
- [ ] Мосты mautrix (Telegram/WhatsApp) — Этап 4; нужен external component (mod_component).
|
- [ ] Мосты mautrix (Telegram/WhatsApp) — Этап 4; нужен external component (mod_component).
|
||||||
- [ ] Push-уведомления (APNs/FCM).
|
- [ ] Push-уведомления (APNs/FCM) — ОТЛОЖЕН (нет особой потребности; см. WALKTHROUGH раздел 10.4 «Варианты»).
|
||||||
|
Пробовал (2026-08-29): mod_unified_push из apt-prosody-modules НЕ подходит — требует util.jwt (API 0.12), а контейнер на 0.11.9.
|
||||||
|
Для реализации нужно (любое из):
|
||||||
|
(1) XEP-0357: mod_push + mod_push_offline (+ mod_push_muc) из официального hg prosody-modules
|
||||||
|
(в Debian-пакете их НЕТ) — даёт нативный push для Conversations/Monal через публичные шлюзы; под 0.11.
|
||||||
|
(2) Апгрейд Prosody до 0.12 → тогда заработает mod_unified_push (UnifiedPush, уже есть в apt).
|
||||||
|
Сделать, когда появится реальная потребность или закончится список задач.
|
||||||
|
|
||||||
## 5. Полезные команды (кратко)
|
## 5. Полезные команды (кратко)
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
+36
-1
@@ -465,6 +465,41 @@ Component "conference.nixg.ru" "muc"
|
|||||||
- **Порядок включения**: после правок конфига — `docker exec icq-prosody prosodyctl check config`
|
- **Порядок включения**: после правок конфига — `docker exec icq-prosody prosodyctl check config`
|
||||||
→ `docker compose restart prosody` → `docker logs icq-prosody --tail 100`.
|
→ `docker compose restart prosody` → `docker logs icq-prosody --tail 100`.
|
||||||
|
|
||||||
|
### 10.4 Push-уведомления (APNs/FCM) — варианты реализации
|
||||||
|
|
||||||
|
**Статус (2026-08-29): ОТЛОЖЕНО.** Особой потребности в push нет; реализуем когда понадобится
|
||||||
|
или когда исчерпается список задач. Ниже — честная картина с учётом нашей версии Prosody.
|
||||||
|
|
||||||
|
Как устроен push в XMPP (коротко):
|
||||||
|
- **XEP-0357** — стандарт push-уведомлений. «Перевёрнутая» схема: не сервер шлёт в APNs/FCM,
|
||||||
|
а мобильный клиент регистрирует у Prosody «push-сервис и токен», и сервер при новом
|
||||||
|
offline-сообщении зовёт push-сервис, а тот уже доставляет через APNs/FCM.
|
||||||
|
- Нативные клиенты Conversations (Android) и Monal (iOS) ходят на **свои публичные push-шлюзы**
|
||||||
|
(conversations.im, push.monal.im) — для них достаточно включить XEP-0357-модули на сервере,
|
||||||
|
свой APNs/FCM-мост поднимать НЕ нужно.
|
||||||
|
|
||||||
|
**Варианты:**
|
||||||
|
|
||||||
|
**(1) XEP-0357 (рекомендуемый, работает на 0.11)** — mod_push + mod_push_offline (+ mod_push_muc для комнат):
|
||||||
|
```bash
|
||||||
|
# Модули НЕ в Debian-пакете prosody-modules — берутся из официального репозитория prosody-modules (Mercurial):
|
||||||
|
# https://hg.prosody.im/prosody-modules/ (каталоги mod_push, mod_push_offline, mod_push_muc)
|
||||||
|
# Положить в /opt/icq/modules/, затем в prosody.cfg.lua добавить в modules_enabled:
|
||||||
|
# "push"; "push_offline"; # и "push_muc" для MUC
|
||||||
|
```
|
||||||
|
Плюс: нативный push для Conversations/Monal через их бесплатные публичные шлюзы, без своей инфраструктуры.
|
||||||
|
|
||||||
|
**(2) UnifiedPush (mod_unified_push)** — только после апгрейда Prosody до 0.12:
|
||||||
|
```bash
|
||||||
|
# mod_unified_push уже есть в apt-prosody-modules (скопирован был из /usr/lib/prosody/modules/mod_unified_push/)
|
||||||
|
# НО требует util.jwt — это API Prosody 0.12+, в нашем контейнере (0.11.9) его НЕТ → модуль не грузится:
|
||||||
|
# modulemanager error: module 'util.jwt' not found
|
||||||
|
# Поэтому включить его смысл есть только вместе с переходом prosody на 0.12.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Вывод:** пока остаёмся на 0.11.9 без push. Когда появится мобильный клиент или потребность —
|
||||||
|
идти по варианту (1): скачать 3 модуля из hg, положить в modules/, включить в конфиг (это под 0.11).
|
||||||
|
|
||||||
## 11. Полезные команды
|
## 11. Полезные команды
|
||||||
```bash
|
```bash
|
||||||
cd /opt/icq
|
cd /opt/icq
|
||||||
@@ -482,5 +517,5 @@ curl -sS https://upload.nixg.ru/upload
|
|||||||
- [x] ~~OMEMO (XEP-0384)~~ — ВЫПОЛНЕНО: раздел 9; скрипт scripts/omemo_check.py.
|
- [x] ~~OMEMO (XEP-0384)~~ — ВЫПОЛНЕНО: раздел 9; скрипт scripts/omemo_check.py.
|
||||||
- [ ] Бот-книгоискатель (slixmpp + OPDS) — Этап 3 PRD. venv уже создан (/opt/icq/.venv: aiohttp, slixmpp).
|
- [ ] Бот-книгоискатель (slixmpp + OPDS) — Этап 3 PRD. venv уже создан (/opt/icq/.venv: aiohttp, slixmpp).
|
||||||
- [ ] Мосты mautrix-telegram / mautrix-whatsapp — Этап 4 (нужен Prosody mod_component / external component).
|
- [ ] Мосты mautrix-telegram / mautrix-whatsapp — Этап 4 (нужен Prosody mod_component / external component).
|
||||||
- [ ] Push-уведомления APNs/FCM (публичный push-шлюз для Prosody).
|
- [ ] Push-уведомления APNs/FCM — ОТЛОЖЕНО, варианты в разделе 10.4.
|
||||||
- [ ] Продление LE-серта nixg.ru — 2026-10-15 10:00 (cron Hermes, job ca2a23a34905); процедура в разделе 4.
|
- [ ] Продление LE-серта nixg.ru — 2026-10-15 10:00 (cron Hermes, job ca2a23a34905); процедура в разделе 4.
|
||||||
@@ -38,7 +38,7 @@ modules_enabled = {
|
|||||||
"register"; -- In-band registration (для первого пользователя)
|
"register"; -- In-band registration (для первого пользователя)
|
||||||
"adhoc"; -- ad-hoc команды
|
"adhoc"; -- ad-hoc команды
|
||||||
"admin_adhoc"; -- админ-команды
|
"admin_adhoc"; -- админ-команды
|
||||||
"admin_web"; -- веб-панель /admin (yurt-page; глобальный, требует bosh+admin_adhoc+http_files)
|
"admin_web"; -- XMPP ad-hoc админ-команды (adminsub; НЕ веб-панель — см. разд. 10 WALKTHROUGH)
|
||||||
"bosh"; -- BOSH (HTTP long-polling, для mod_admin_web)
|
"bosh"; -- BOSH (HTTP long-polling, для mod_admin_web)
|
||||||
|
|
||||||
-- Messaging / Chat
|
-- Messaging / Chat
|
||||||
|
|||||||
Reference in New Issue
Block a user