Files
icq/webchat/index.html
T
estorozhenko 527584281d feat: OMEMO по умолчанию, admin_web+BOSH, MUC-модули (vcard_muc, muc_moderation), модули из apt в modules/, scripts/omemo_check.py, backup.sh на Яндекс.Диск
- index.html: omemo_default=true (XEP-0384, встроен в Converse v14)
- prosody.cfg.lua: admin_web + bosh (глобальные), MUC: vcard_muc (XEP-0153) + muc_moderation (XEP-0425)
- modules/: mod_admin_web (+www_files), mod_http_upload_external, mod_muc_moderation, mod_vcard_muc — из prosody-modules (apt)
- scripts/omemo_check.py — проверка OMEMO-бандлов
- backup.sh — ежедневный бэкап проекта (data/config/certs/modules/webchat/доки) на /mnt/yandex-disk, ротация 7/30 дней
- STATUS/WALKTHROUGH: OMEMO, admin_web, HTTP Upload итоги
2026-08-29 07:33:14 +00:00

44 lines
2.4 KiB
HTML

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ICQ Family Chat</title>
<meta name="theme-color" content="#2c3e50">
<!-- Converse.js v14 (локально, ESM-сборка из /dist) -->
<link rel="stylesheet" type="text/css" href="/dist/converse.min.css">
</head>
<body>
<!-- Converse.js рендерит интерфейс в этот контейнер -->
<div id="conversejs"></div>
<!-- ВАЖНО: v14 собирается как ES-модуль (использует import.meta и динамические
import() для чанков). Подключать ТОЛЬКО через type="module", иначе
SyntaxError: Cannot use 'import.meta' outside a module. -->
<script type="module" src="/dist/converse.min.js"></script>
<script type="module">
import converse from '/dist/converse.min.js';
converse.initialize({
// WebSocket-адрес XMPP-сервера (ВАЖНО: websocket_url, НЕ bosh_service_url —
// иначе Converse пробует подключиться по BOSH-протоколу и падает).
// Страница живёт на chat.nixg.ru, но XMPP-домен теперь nixg.ru → WS на xmpp.nixg.ru.
// Юзеры логинятся как user@nixg.ru.
websocket_url: 'wss://xmpp.nixg.ru/xmpp-websocket',
// Полноэкранный режим (дефолт в v14)
view_mode: 'fullscreen',
// Авторизация вручную (форма логина)
auto_login: false,
// Тема
theme: 'concord',
// Русский язык
i18n: 'ru',
// Показать форму входа сразу
show_controlbox_by_default: true,
// OMEMO (XEP-0384): шифрование по умолчанию, когда контакт поддерживает.
// Ключи генерируются автоматически; devicelist+bundles публикуются в PEP сервера.
// (OMEMO встроен в Converse v14 — libomemo; серверных модулей не требует.)
omemo_default: true,
});
</script>
</body>
</html>