Вопрос или проблема
Я настраиваю сервер Prosody для использования с мобильными клиентами, поддерживающими OMEMO. Я выбрал Conversations в качестве эталонного клиента, так как я с ним знаком. Какие модули Prosody мне нужно установить для его поддержки?
Conversations предоставляет список XEP, требующих поддержки на серверной стороне, который приведен ниже с ссылками на соответствующие модули Prosody 0.9.x.
Для шифрованного группового чата (поддержка OMEMO) вам строго необходимы только mod_pep
и mod_roster
. Остальные модули добавляют дополнительные функции в контексте OMEMO (например, обмен файлами) и в окружениях (например, мобильные клиенты, клиенты за межсетевым экраном).
- XEP-0065: mod_proxy65
- XEP-0163: mod_pep (основной)
- XEP-0191: mod_blocking
- XEP-0198: mod_smacks
- XEP-0237: mod_roster (основной)
- XEP-0280: mod_carbons
- XEP-0313: mod_mam (только для 1:1 чатов, для поддержки MUC смотрите заметки Prosody 0.10 ниже)
- XEP-0352: mod_csi
- XEP-0363: mod_http_upload
- XEP-0357: mod_cloud_notify (необязательный, требуется только для push-уведомлений)
Заметки:
- mod_proxy65 должен в идеале указывать на альтернативную DNS-запись для того же сервера
- mod_blocking требует mod_privacy
- mod_csi не определяет правила для XEP-0352 – для этих определений требуются дополнительные модули, они перечислены на странице mod_csi
- mod_http_upload требует mod_http и других
Заметки Prosody 0.10:
- mod_blocking будет заменен на mod_blocklist
- mod_carbons станет основным модулем
- mod_mam поддерживает только 1:1 чаты, Conversations отметит ваши MUC как “XEP-0313: MAM недоступен”. Для поддержки групп вам нужен mod_mam_muc. Но согласно странице модуля (на март 2017 года) это работает только в trunk (и частично в 0.10)
Ссылки:
Ответ или решение
Подбор Модулей Prosody для Поддержки Conversations с OMEMO
При настройке сервера Prosody для использования с мобильными клиентами, поддерживающими OMEMO, важно учитывать необходимые модули, чтобы обеспечить стабильную и безопасную работу. Выбор клиента Conversations в качестве эталонного позволяет сосредоточиться на конкретных требованиях, выраженных в спецификациях XEP.
Основные Модули
Для обеспечения поддержки шифрования в групповых чатах с использованием OMEMO основными модулями, которые необходимо установить, являются:
-
mod_pep (XEP-0163):
- Этот модуль является основой для поддержки Personal Eventing Protocol, что позволяет пользователям обмениваться личной информацией и состоянием. Он необходим для работы с данными, связанными с OMEMO.
-
mod_roster (XEP-0237):
- Модуль, отвечающий за управление списком контактов. Обеспечивает пользователям стабильную работу с их контактами и их статусами.
Дополнительные Модули для Расширенной Функциональности
Для достижения более широких возможностей в контексте использования OMEMO и обеспечения полной функциональности, следующих модулей тоже рекомендуется установка:
-
mod_proxy65 (XEP-0065):
- Модуль, предназначенный для поддержки проксирования соединений. Рекомендуется, чтобы он указывал на альтернативную DNS-запись сервера для оптимизации работы.
-
mod_blocking (XEP-0191):
- Необходим для блокировки нежелательных пользователей, дополнительно требует установки mod_privacy для функционирования.
-
mod_smacks (XEP-0198):
- Поддерживает расширенные механизмы контроля за сообщениями, что особенно актуально для мобильных клиентов, которые могут сталкиваться с разрывами соединения.
-
mod_carbons (XEP-0280):
- Позволяет синхронизацию сообщений между несколькими устройствами. Это критически важно для пользователей, работающих с несколькими активными клиентами.
-
mod_mam (XEP-0313):
- Позволяет хранить историю сообщений. Следует отметить, что он поддерживает только индивидуальные чаты; для поддержки многопользовательских чатов требуется mod_mam_muc (который должен быть установлен из бета-версий).
-
mod_csi (XEP-0352):
- Модуль, который поддерживает механизмы управления состоянием соединения для мобильных клиентов.
-
mod_http_upload (XEP-0363):
- Обеспечивает загрузку и обмен файлами через HTTP, что является удобным способом передачи больших данных.
-
mod_cloud_notify (XEP-0357) (опционально):
- Необходим для поддержки пуш-уведомлений, что может быть важно для пользователей, желающих получать актуальные уведомления.
Примечания
- Убедитесь, что модуль mod_blocking и mod_privacy правильно настроены для эффективной работы.
- Для использования функциональности, предлагаемых модулем mod_csi, могут потребоваться дополнительные модули, описанные на самой странице модуля.
- Поддержка MUC (многопользовательских чатов) в версии Prosody 0.10 требует особого внимания, поскольку используется специальная реализация mod_mam_muc, которая, как сообщается, работает только в бета-версии Prosody.
Заключение
Установка указанных модулей значительно улучшит функциональность вашего сервера Prosody и обеспечит его должную поддержку для полноценной работы популярных мобильных клиентов, таких как Conversations. Следование рекомендациям позволит не только укрепить безопасность общения, но и улучшить общую эффективность использования сервиса. Убедитесь, что все изменения в конфигурации сервера тестируются на соответствие стандартам XMPP, чтобы ваше пользователи могли наслаждаться качественным и безопасным общением.