В Модуле XMPP CommuniGate Pro реализован протокол XMPP, работающий в сетях IP.
В Модуле XMPP CommuniGate Pro реализована функциональность клиент-сервер протокола XMPP. Модуль позволяет пользовательским приложениям (клиентам XMPP) подсоединяться к серверу CommuniGate Pro выполнять операции Сигнализации реального времени.
В Модуле XMPP CommuniGate Pro реализована функциональность сервер-сервер протокола XMPP. Модуль позволяет внешним системам XMPP (удалённым серверам) подсоединяться к серверу CommuniGate Pro, и серверу CommuniGate Pro подсоединяться к внешним серверам XMPP, так что они могут обмениваться запросами и ответами Сигнализации реального времени.
Расширяемый Протокол для Сообщений и Статуса Присутствия (XMPP)
В Модуле XMPP CommuniGate Pro реализована функциональность протокола XMPP. Модуль использует один Приёмник TCP и для клиент-сервер, и для сервер-сервер соединений, различая их не по номеру порта, на который подсоединяется внешняя система, а по передаваемым в этом соединении данным XML.
XMPP (Jabber) серверы для мессенджеров. Выбор и характеристики для безопасных бесед
По умолчанию, Приёмник TCP Модуля XMPP Приёмник использует порты 5222 и 5269 без шифрования и порт 5223 с шифрованием.
При установлении соединения клиент-сервер модуль XMPP аутентифицирует пользователя и создаёт для него пользовательскую сессию. После этого возможна передача запросов сигнализации Реального Времени от имени этого Пользователя.
При создании соединения сервер-сервер, модуль XMPP получает запросы XMPP, преобразует их во внутренние объекты типа Сигнал в Реальном Времени и передаёт эти объекты для обработки в компоненты Реального Времени для последующей обработки и доставки. Модуль также получает запросы от компоненты Реального Времени и передаёт их внешним системам XMPP.
Модуль XMPP поддерживает отдельные очереди для каждого домена назначения и источника, то есть для запросов в домен target.dom от доменов source1.dom и source2.dom используются разные очереди.
Модуль XMPP пытается создать новое соединение TCP/IP для каждой такой очереди. Если соединение установлено, модуль отправляет в нём запросы из очереди (в виде элементов XML протокола XMPP). После отправки всех запросов из очереди модуль сохраняет соединение открытым в ожидании прихода новых запросов в эту же очередь. Если таких запросов нет в течение указанного периода времени, модуль XMPP закрывает соединение.
Запросы XMPP message передаются в виде Сигнальных объектов MESSAGE, запросы XMPP для обмена информацией о presence передаются в виде Сигнальных объектов SUBSCRIBE и NOTIFY (с использованием набора событий presence), запросы XMPP iq передаются в виде Сигнальных объектов INFO.
Дополнительные данные в запросах XMPP передаются в виде заголовков P-XMPP-Data.
Установки Сервера XMPP
Чтобы настроить параметры модуля XMPP, используйте Веб Интерфейс Администратора. Откройте в разделе Установки страницу Real-Time, затем откройте страницу XMPP.
Нажмите на ссылку Приём, чтобы открыть страницу с Настройками XMPP Сервера.
Как анонимно общаться в сети. Все про Jabber
Используйте эту настройку, чтобы указать, какую информацию XMPP модуль должен сохранять в Журнале работы Сервера. Обычно используется уровень Основное (отчёты о передаче сообщений) или уровень Проблемы (передача сообщений и не фатальные ошибки). В случае, если в работе XMPP модуля возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня Подробности или Всё: в этом случае в Журнал работы Сервера будет записываться более подробная информация о работе модуля. Когда проблема решена, верните настройку Уровень Журнала в её обычное значение, так как иначе Системный Журнал будет очень быстро увеличивать свой размер.
Записи, помещённые сервером XMPP в Журнал работы Сервера, имеют пометку XMPPI.
Если удалённая сторона указывает, что соединение используется для передачи сервер-сервер, то пометка в Журнале работы Сервера меняется на XMPPS.
Записи, помещённые в Журнал работы Сервера для исходящих XMPP соединений, имеют пометку XMPPO.
Когда вы указываете ненулевое значение в настройке Каналы, то модуль XMPP создаёт TCP приёмник и начинает принимать XMPP соединения от клиентских приложений и удалённых серверов.
Эта настройка используется для того, чтобы ограничить число одновременных соединений, которое может принимать модуль XMPP. Если открыто предельное число входящих соединений, то модуль будет отказывать в приёме новых соединений; в таких случаях клиентские приложения и удалённые сервера должны попытаться соединиться позднее.
По умолчанию, Приёмник XMPP модуля принимает незашифрованные соединения на TCP порт 5222 («клиентский порт») и 5269 («серверный порт»), а также безопасные TLS соединения на TCP порт 5223 («безопасный клиентский порт»).
Нажмите на ссылку Приёмник , для того чтобы настроить порт Приёмника XMPP.
Модуль XMPP поддерживает команду STARTTLS, которая позволяет клиентскому приложению и удалённому серверу устанавливать соединение в незащищённом режиме и затем переводить его в режим безопасного соединения.
Модуль XMPP поддерживает все имеющиеся методы аутентификации SASL. В дополнение к этому, модуль поддерживает старые методы аутентификации Jabber — «пароль» в открытом виде и «дайджест».
Для того, чтобы выключить «дайджест» метод аутентификации Jabber, вам необходимо выключить для требуемого домена использование метода CRAM-MD5.
Установки Клиента XMPP
Чтобы настроить параметры модуля XMPP, используйте Веб Интерфейс Администратора. Откройте в разделе Установки страницу Real-Time, затем откройте страницу XMPP.
Нажмите на ссылку Передача и откройте страницу с Настройками Клиента XMPP.
Уровень Журнала Это та же самая настройка, что отображается на странице Установки Сервера XMPP. Исходящий Адрес Эта опция выбирает сетевой адрес-источник, используемый для установления соединений XMPP. Вы можете позволить ОС сервера выбирать подходящий адрес или вы можете явно выбрать один из IP адресов сервера, который будет использоваться как сетевой адрес по умолчанию. Использовать Сетевые Адреса Домена Эта опция выбирает сетевой адрес-источник, используемый для установления соединений XMPP. Если указана эта опция, модуль XMPP будет использовать первый Назначенный IP Адрес Домена отправителя, если этот адрес может использоваться для этого соединения.
Если эта опция не выбрана или если Домен не имеет Назначенных IP Адресов, то в качестве сетевого адреса-источника для исходящих соединений XMPP модуль использует IP адрес, применяемый по умолчанию. Тайм-аут по неактивности Используйте эту настройку для указания максимального времени, в течение которого модуль XMPP должен держать исходящее соединение открытым, если данные на удалённый сервер не посылаются.
Безопасная (зашифрованная) Отправка Сообщений
Вы можете настроить модуль XMPP вашего Сервера CommuniGate Pro на использование безопасных (защищенных) соединений при отправке мгновенных сообщений и информации о состоянии занятости на определённые удалённые сайты. Эта возможность особенно полезна, если ваша компания имеет несколько офисов, и трафик между офисами отправляется через публичный Интернет.
Вы должны просто перечислить имена доменов, которые должны получать IM/Presence от вашего сервера через безопасные соединения:
Указанные имена могут содержать шаблон подстановки — символ звёздочка (*).
Когда модуль XMPP CommuniGate Pro соединяется с релеем одного из перечисленных доменов, он проверяет, что релей поддерживает команду starttls протокола. Затем модуль XMPP использует эту команду для установления с этим релеем безопасного соединения.
Модуль XMPP CommuniGate Pro проверяет действительность Сертификата удалённого релея, используя заданный набор Доверенных Сертификатов.
Тема сертификата удалённого релея должна содержать поле cn (Имя-Идентификатор), соответствующее либо имени домена удалённого сайта, либо имени этого релея. Часто здесь может возникать проблема, так как домен company.dom может иметь SRV-запись xmpp.company.dom, но компьютер с адресом xmpp.company.dom имеет «главное» DNS-имя server.company.dom и его Сертификат выпущен для этого имени (поле subject Сертификата содержит server.company.dom в поле cn).
Для того, чтобы решить эту проблему, вы должны явно направить весь трафик в домен company.dom через релей server.company.dom используя следующую запись в Маршрутизаторе:
- пользователь отправляет сообщения на сервера либо через приватную сеть, либо через публичную сеть Интернет, но по TLS/SSL соединениям (через безопасный SMTP или безопасную Веб Почту);
- все серверы XMPP/SIP и релеи обмениваются сообщениями через частную сеть, или через TLS/SSL соединения в публичной сети Интернет;
- пользователь отправляет сообщения на сервера либо через приватную сеть, либо через публичную сеть Интернет, но по TLS/SSL соединениям.
Если домен перечислен в списке Посылать Зашифрованным (SSL/TLS), а получающий сервер не поддерживает команду starttls или сертификат удалённого сервера не может быть проверен, или Тема сертификата не соответствует домену или имени релея домена, то для того, чтобы сообщения гарантировано не были переданы через потенциально небезопасный канал, все сообщения в этот домен отвергаются.
где возможно (Низкая Безопасность) Выберите эту опцию если вы хотите, чтобы модуль XMPP пытался использовать SSL/TLS соединения со всеми удалёнными серверами XMPP, поддерживающими эту возможность. Если удалённый домен не указан в списке Посылать Зашифрованным (SSL/TLS), но удалённый сервер поддерживает команду starttls, то модуль XMPP будет пытаться устанавливать безопасное (SSL/TLS) соединение с этим сервером.
В этом случае модуль не проверяет действительность Сертификата удалённого сервера и Тему сертификата. Если команда starttls или процесс установления безопасного соединения заканчиваются неудачно, то сервер будет обмениваться трафиком в открытом виде и отправлять сообщения по незашифрованному каналу.
Некоторые серверы сообщают о поддержке starttls, но не могут принимать SSL/TLS соединения. С такими серверами невозможно связаться для отправки им Сигналов. Для разрешения этой проблемы проинформируйте администратора неисправного сервера и введите домен сервера в список Посылать Зашифрованным (SSL/TLS) с восклицательным знаком (!) в первой позиции. Модуль XMPP не будет пытаться использовать SSL/TLS соединения с этим сервером/доменом.
Мониторинг Активности XMPP
В разделе Наблюдение Веб Интерфейса Администратора можно наблюдать за активностью модуля XMPP.
Нажмите на ссылку Real-time в разделе Наблюдение, чтобы открыть страницу Наблюдения за XMPP. Формат этой страницы точно такой же, как и страница Наблюдения за IMAP в Веб Интерфейсе Администратора.
Регистрация
В модуле XMPP реализовано расширение XEP-0077 (регистрация и изменение пароля).
Опция Свободная Регистрация позволяет пользователям «регистрироваться» (самостоятельно создавать Пользователей на сервере).
Если опция Разрешено Изменять Пароль включена, то пользователи могут самостоятельно изменять свои пароли.
Групповые Чаты
Расширение XEP-0045 (многопользовательские чаты) реализовано вне модуля XMPP в виде сценария на CG/PL chatroom как объект Именованная Задача.
Именованная Задача запускается автоматически при подсоединении к ней первого пользователя. Именованная Задача принимает все запросы по передаче Мгновенных Сообщений и Статуса от разных клиентов (XMPP, XIMSS, другие Задачи и т.д.) и распределяет Сигнальные запросы участникам чата.
Внешние компоненты
В Модуле XMPP CommuniGate Pro реализовано расширение XEP-0114 (Jabber Component Protocol). Он позволяет «доверенным внешним компонентам» подсоединяться к Модулю XMPP CommuniGate Pro. Обычно в роли таких «доверенных внешних компонент» выступают внешние серверы — шлюзы в сети мгновенных сообщений, работающие по другим протоколам.
Через Веб Интерфейс Администратора откройте страницу Приём установок Модуля XMPP.
Пароль для Компонентов Используйте это поле для указания пароля («общего секрета»). Когда «доверенные внешние компоненты» подсоединяются к Модулю XMPP, они используют этот пароль для подключения.
«Доверенные внешние компоненты» указывают имя домена, который они обслуживают. Модуль XMPP принимает все Сигнальные запросы для доменов, указанных «доверенными внешними компонентами», и передаёт их в эти «доверенные внешние компоненты» через установленное подключение XMPP.
Если, например, «доверенная внешняя компонента» подсоединилась к Модулю XMPP для обслуживания домена icq.company.dom , то все Сигнальные запросы на адреса в домене icq.company.dom будут приняты модулем XMPP и доставлены этой «доверенной внешней компоненте» (которая может выполнять роль шлюза в сеть ICQ).
Дополнительные Элементы
Модуль XMPP позволяет указать дополнительные элементы XMPP (домены, Идентификаторы Jabber, ресурсы), которые будут возвращаться в ответ на запрос на обнаружение элементов (‘item discovery’), отправленный Серверу или любому его домену. Эти элементы возвращаются в списке вместе с доступными многопользовательскими чатами и зарегистрированными внешними компонентами.
Вы можете использовать это свойство для добавления широко используемых внешних шлюзов и многопользовательских чатов в списки ‘item discovery’, получаемых клиентами XMPP и XIMSS.
Через Веб Интерфейс Администратора откройте страницу Приём установок Модуля XMPP.
Дополнительные Элементы ‘Discovery’ |
Для того, чтобы добавить Дополнительный Элемент, введите его имя в последнее (пустое) поле и нажмите на кнопку Модифицировать.
Для удаления элемента, удалите его имя из поля и нажмите кнопку Модифицировать.
Источник: mail.communigate.ru
Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня
Причина мифов о XMPP в том, что многим Jabber известен по мессенджерам из далеких двухтысячных годов и плохой осведомленности о особенностях XMPP. С двухтысячных прошло много времени, протокол продолжил существовать и активно развиваться. Современный Jabber уже сильно не похож на тот, который был раньше.
В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня
Предыстория
В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так. Компании перестали обновлять XMPP-клиенты. Широкого анонса поддержки XMPP не было. Сервера постепенно стали закрывать передачу сообщений на другие, а после вовсе технология была объявлена устаревшей и поддержку свернули.
Для чего создавался XMPP?
XMPP — расширяемый протокол для обмена сообщениями. XMPP создавался как универсальное средство взаимодействия между разными месенджерами. Предполагалось, что крупные компании могут добавить свои расширения и безболезненно интегрировать свои месенджеры и сервера в единую сеть. XMPP не требует полной совместимости, за исключение базового обмена сообщениями и поэтому никто не может всем навязать определенный стек технологий.
NSA documents obtained by Edward Snowden and reported on by Der Spiegel on Sunday reveal that the agency communicates internally with Jabber, an open source messaging service used by hackers and activists trying to skirt the NSA’s internet surveillance dragnet.
Источник: motherboard.vice.com
Причины падения XMPP
Казалось бы, технология перспективная, но крупные компании быстро потеряли интерес к XMPP. Предполагалось то, что будет работать в идеальном мире, наткнулось на жесткую реальность.
Основной материальный капитал любой крупной интернет-компании — это база пользователей. Многие компании сделали свой бизнес на предоставлении e-mail серверов и закрытых мессенджеров. Если e-mail сервер создать относительно сложно, написать собственный мессенджер еще сложнее, поднять XMPP сервер может любой человек с небольшими познаниями в Linux.
Поддерживать открытый XMPP сервер — это значит дать доступ к клиентской базе множеству мелких конкурентов. Не думаю, что эта ситуация могла понравиться крупным компаниям и инвестирование прекратилось.
«Устаревший и никому ненужный XMPP» как золотая жила! Закрываем S2S, пишем клиенты и зарабатываем миллиарды!
Доподлинно неизвестно, кто использует XMPP в своих продуктах. Некоторые сведения говорят о том, что один из самых популярных мессенджеров — WhatsApp, на старте своего существования использовал (или до сих пор использует) XMPP.
Funny thing is that a couple of year laters in june 2009, Whatsapp team is building its own platform sharing the same vision. Here is a post of Jan Koum on ejabberd mailing list: client access control:
«Hi there,i installed ejabberd today, got it work with adium/ichat and wanted to ask
you all a couple of things» — blog.process-one.net
Причину этого понять легко, потому что «устаревший, избыточный и никому ненужный» XMPP выдерживает 2 000 000 на одной ноде! Если отбросить популизм, в частности речь идет про Ejabberd.
2 000 000 активных соединения. График нагрузки CPU и потребления памяти:
Если Jabber ID заменить на телефонные номера, подписки сопоставить с нахождением номеров в адресной книге, получаем почти полностью готовый продукт с минимумом затрат.
Ejabber поддерживает множество баз данных и соединений с сервером, не только классическим для XMPP способом, но через Websoсket, HTTP запросы и Ejabberd API. На Ejabberd можно создать мессенджер с тысячами онлайн подключений на дешевом VPS, за пару долларов получаем промышленную отказоустойчивость и стабильность работы. Этим выгодно выделяется Ejabberd, по сравнению с множеством других систем обмена сообщениями, падающих от малых нагрузок.
Модифицированные версии XMPP используют многие проприетарные мессенджеры, для быстрого старта с минимумом затрат. Примеров успешного использования ХМPP серверов, как средства для доставки сообщений много. Знаменитая онлайн игра «EVE Online» недавно перевела чаты на Ejabberd. Мессенджер Cryptocat во многом построен на XMPP. Ходят даже слухи, что великий и могущественный Facebook как-то использует XMPP в своих проектах.
Раньше в XMPP была проблема с доставкой сообщений и синхронизацией устройств, как решена она сейчас?
Для доставки сообщений в XMPP используются расширения:
- XEP-0313: Message Archive Management — архив сообщений. Используется для синхронизации при плохом интернет-канале, где периодически недоступно одно устройство.
- XEP-0280: Message Carbons — пересылает сообщения на все онлайн-устройства. Полезен, если отключен архив сообщений в настройках Jabber-клиента.
- XEP-0198: Stream Management — сервер повторно пересылает сообщения, если не получит уведомления о доставке. Полезен, если отключен архив сообщений в настройках Jabber-клиента.
- XEP-0160: Best Practices for Handling Offline Messages — хранение сообщений до доставки. Полезен, если отключен архив сообщений в настройках Jabber-клиента.
- XEP-0333: Chat Markers — Пометка о доставке сообщений.
Раньше в XMPP была проблема с доставкой файлов, как решена она сейчас?
- XEP-0363: HTTP File Upload — файлы загружаются на сервер и передаются как ссылка. Эту ссылку можно отправить любому, даже тому, у кого нет XMPP.
Как дела обстоят с красивыми клиентами в XMPP?
Понятие красоты у всех разное. Некоторые люди в бьются об заклад и говорят что их любимый Gajim, PSI+ и даже Profany самые красивые и самые лучшие, но на Андроид общепризнанный лидер — Conversations.
Ссылка на другие скриншоты и страницу в Play Маркет. Примечание: В настройках Conversations можно включить статус отображения собеседника на кнопке отправки и статус отображения доставки сообщений. Сервер conversations.im, выбираемый по-умолчанию, платный после 6 месяцев использования. Для постоянного использования лучше выбрать другой XMPP сервер, такой как 404.city.
Город 404 — это сервер сообщества киберпанков. 404.city официально занимается поддержкой совместимости со всеми версиями Conversations. Ну или поискать сервер здесь.
На Linux большие надежды подает Dino, но пока он еще находится в бете.
Сайт: dino.im. Пакеты для установки: software.opensuse.org
Какие есть особенности у XMPP? Почему у одних все работает отлично, а другие сталкиваются с трудностями?
-
Многое зависит от того, какой сервер и клиент ты используешь. В XMPP децентрализованная разработка. Серверное ПО, клиенты, расширения стандартов зачастую пишут разные группы людей, не взаимодействующие напрямую между собой. За 20 лет существования появилось много клиентов и серверов. Часть из них уже устарела, не обслуживаемая, созданная любителями.
Сервера может поднять любой, у кого есть небольшие познания в Linux. Многие не осознают, что Jabber не один мессенджер и сервер. XMPP похож на e-mail, как есть в e-mail хорошие и плохие сервера, так же и в XMPP есть хорошие и плохие сервера. С клиентами все аналогично.
Вывод
XMPP не такой простой и устаревший, каким он кажется. XMPP — это идея объединения всех мессенджеров и сайтов (любой может поднять свой сервер) единым стандартом коммуникации. XMPP — это прекрасный инструмент для создания отказоустойчивых мессенджеров в руках разработчика. Jabber — это неплохая свободная альтернатива WhatsApp и другим мессенджерам, в руках пользователей ознакомленных с особенностями его работы.
XMPP — это тема, которую сложно описать в двух словах. Если Вас заинтересовала моя статья, Вам возможно будут интересны так же эти ссылки:
- Ejabberd — отказоустойчивый сервер
- Prosody — легкий в настройки сервер
- OpenFire — сервер на Java, работает на Windows
- jc.jabber.ru — русское сообщество пользователей XMPP (можно заходить с любого сервера)
- Movim — веб-клиент и заодно социальная сеть на основе XMPP (можно заходить с любого сервера)
Источник: habr.com
XMPP
В отличие от коммерческих систем мгновенного обмена сообщениями, таких как Facebook , Google Talk , QIP , LiveJournal , Juick и др.
- 1 История
- 2 Протокол
- 2.1 Преимущества
- 2.2 Слабые стороны
- 3.1 Наиболее примечательные боты
- 6.1 XMPP-серверы
- 6.2 Библиотеки
История
Ранний протокол Jabber сформировал основы для стандарта XMPP, опубликованного как RFC 3920. Часто этот момент рассматривается как начало соперничества с 2001 года протокол Jabber переходит под контроль Jabber Software Foundation (16 января 2007 года Jabber Software Foundation была переименована в [5] ), для более точного описания своей работы развития расширений собственно протокола, в отличие от линии развития программы с одноимённым названием.
Jabber, Inc. занимается развитием двух проектов — Jabber Extensible Communications Platform (Jabber XCP) и JabberNow. Первый является фреймворком, а второй — программно-аппаратное решение (специально собранный и настроенный компьютер). Сайт jabber.org все ещё функционирует. Инвесторами проекта Jabber являются France Telecom , [1]
В августе 2005 года Google Talk — комбинацию [6] . Однако, в мае 2013 Google объявил о сокращении поддержки межсерверных коммуникаций в связи с продвижением своего сервиса Hangouts [7] .
ВКонтакте с 31 Августа 2013 г. отказывается от использования XMPP.
«Уважаемый ***! Данное сообщение отправлено Вам, т.к. Вы используете стороннее приложение для отправки личных сообщений ВКонтакте. В этом приложении используется протокол XMPP, который больше не поддерживается ВКонтакте и будет полностью отключен 31 августа 2013 года.Мы рекомендуем использовать официальные клиенты ВКонтакте для мобильных устройств и браузерную версию на компьютере. По всем вопросам Вы можете обращаться в службу поддержки ВКонтакте по ссылке /support?act=new» Администрация ВКонтакте (id100)
Протокол
Семейство протоколов XMPP принято как стандарт [8] . Стандартный порт для XMPP — 5222 [9] . Также возможно использовать порт 80 и/или 443 [10] , если возникают проблемы с Преимущества
- Децентрализация: Архитектура сети XMPP схожа с электронной почтой; кто угодно может запустить свой собственный XMPP-сервер и нет какого-либо центрального сервера.
- RFC 3920 и RFC 3921. Никаких привилегий не требуется для добавления поддержки этих спецификаций и их разработка не привязана к какому-либо разработчику. Существует множество реализаций серверов и клиентов, а также библиотек с открытым исходным кодом.
- История: Технологии XMPP используются с 1998 года. При поддержке таких крупных компаний, как TLS) встроенными в ядро XMPP спецификациями. Для поддержки использования шифрования канала XMPP Standards Foundation также использовал вспомогательный SSL при обмене между клиентом и сервером, и немало клиентов поддерживают шифрование с помощью [11][12][13] .
- Гибкость: Настраиваемая функциональность может быть надстроена поверх XMPP; для поддержки возможности взаимодействия различных сетей стандартные расширения поддерживаются XMPP Software Foundation. Приложения XMPP в дополнение к функциональности клиента сетевого общения включают в себя администрирование сети, распределение ресурсов, утилиты для совместной работы, обмен файлами, игры и мониторинг удалённых систем.
Слабые стороны
- Избыточность передаваемой информации: Как правило, более 70 % межсерверного трафика XMPP составляют сообщения о присутствии [14] , около 60 % которых являются излишними [15] . XMPP на данный момент создаёт избыточный XEP-0138 [16] — компрессия передаваемых данных протокола алгоритмами lzw и zlib, а также использование компрессии в рамках шифрования соединения TLS RFC 3749, глава 3 [17] .
- Масштабируемость: XMPP сейчас страдает от фактически той же проблемы избыточности, но применительно к [18] . Решение этих проблем также ожидается в виде HTTP. Для передачи же файлов и другой бинарной информации непосредственно в XMPP потоке используется кодирование Gajim , для передачи используют технологии Боты
Большой популярностью в Jabber’е пользуются цензора, ведения различной статистики, парсинга веб-сайтов (анекдоты, новости и т. п.), создания «мостов» между Наиболее примечательные боты
- Neutron [19] — англоязычный бот на библиотека «xmpppy»), один из первых xmpp-ботов;
- FreQ — многофункциональный xmpp-бот, зарекомендовавший себя стабильностью в работе, написан на Python (библиотека [20] ботом в русскоязычных Jabber-конференциях;
- EndLess — модификация бота Talisman. Примечателен тем, что он стал первым ботом, использующим более одного JID’а. Бот является обладателем своеобразного рекорда: одна копия длительное время обслуживала ~500 конференций. Исходного кода бота нет в свободном доступе;
- Fatal [Neutrino] [21] — модификация бота Talisman/Neutron со слегка измененной библиотекой «xmpppy». В последних версиях полностью переписан и практически не имеет ничего общего со своими предками. Для обеспечения наибольшего быстродействия его код распространяется в скомпилированном виде, что, однако, не противоречит GNU GPL v2 . Примечателен высокой надёжностью и отказоустойчивостью. Локализации EN и RU.
- Snapi [22] — изначально являлся модификацией бота Talisman, но позже его «перерос». Можно охарактеризовать, как «Talisman с корректным [23] — бот, написанный по образу и подобию Neutron, содержит части кода бота Talisman, примечателен широкой функциональностью, высокой стабильностью и устойчивостью к различным проявлениям флуда;
- BlackSmith mark.2 [24] — имеет мало чего общего с предыдущим ботом, не считая названия. Написан на Python и использует слегка модифицированную библиотеку «xmpppy». Примечателен поддержкой нескольких JID’ов, высокой стабильностью и двумя языками в пакете (EN, RU);
- Taho [25] — бот для конференций, написанный на [26] — бот, предназначенный для защиты конференций. Написан на Python и использует модифицированную библиотеку «xmpppy»;
- Pako — бот, довольно популярный в англоязычной части Jabber’а. Бот написан на [27] — многофункциональный и многоязычный бот, написан на Python (библиотека «xmpppy»). Примечателен тем, что это единственный бот, который в полной мере использует jabber.ru/muc-filter [28] , а также тем, что код противоречит большинству пунктов Python Style Guide [29] ;
- Erl [30] — бот, написанный на Адресация
Каждый пользователь в сети Jabber имеет уникальный идентификатор — Jabber ID (сокращенно JID). Адрес JID, подобно адресу электронной почты, содержит имя пользователя и доменное имя сервера, на котором зарегистрирован пользователь, разделённые знаком Соединение с другими протоколами
Полезной особенностью XMPP систем являются транспорты, или шлюзы, позволяющие пользователям получать доступ к сетям, использующим другие протоколы. Это могут быть другие протоколы мгновенного обмена сообщениями, IRC или такие протоколы, как SMS и электронная почта. В отличие от Программное обеспечение
XMPP-серверы
- ejabberd — свободный распределённый и отказоустойчивый XMPP-сервер, написанный на Openfire (ранее Wildfire, ещё ранее Jive Messenger) — свободный многофункциональный и отказоустойчивый XMPP-сервер, написанный на Java. Занимал первое место в рейтинге по возможностям на jabber.org (по состоянию рейтинга на конец марта 2007 года) [31]
- кроссплатформенный XMPP-сервер, написанный на языке программирования Lua
Основная статья: Библиотеки XMPP
Русскоязычные игры через XMPP
Источник: science.fandom.com