- PVSM.RU - https://www.pvsm.ru -
Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова:
Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов?
Причина мифов о XMPP в том, что многим Jabber известен по мессенджерам из далеких двухтысячных годов и плохой осведомленности о особенностях XMPP. С двухтысячных прошло много времени, протокол продолжил существовать и активно развиваться. Современный Jabber уже сильно не похож на тот, который был раньше.
В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня
В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так. Компании перестали обновлять XMPP-клиенты. Широкого анонса поддержки XMPP не было. Сервера постепенно стали закрывать передачу сообщений на другие, а после вовсе технология была объявлена устаревшей и поддержку свернули.
XMPP — расширяемый протокол для обмена сообщениями. XMPP создавался как универсальное средство взаимодействия между разными месенджерами. Предполагалось, что крупные компании могут добавить свои расширения и безболезненно интегрировать свои месенджеры и сервера в единую сеть. XMPP не требует полной совместимости, за исключение базового обмена сообщениями и поэтому никто не может всем навязать определенный стек технологий.
XMPP рассматривался как замена e-mail. Даже вид контакта в XMPP внешне похож на e-mail адрес: user@example.com Ожидалось, правительственные учреждения и компании будут использовать Jabber для быстрого развертывания своих приватных систем коммуникаций. Настройки Jabber серверов позволяют ограничивать доступ к серверу и групповым чатам посторонних или наоборот открывать. На XMPP можно закрытые сети из серверов, чем и воспользовалось NSA. По материалам Сноудена, 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 [1]
Казалось бы, технология перспективная, но крупные компании быстро потеряли интерес к XMPP. Предполагалось то, что будет работать в идеальном мире, наткнулось на жесткую реальность.
Основной материальный капитал любой крупной интернет-компании — это база пользователей. Многие компании сделали свой бизнес на предоставлении e-mail серверов и закрытых мессенджеров. Если e-mail сервер создать относительно сложно, написать собственный мессенджер еще сложнее, поднять XMPP сервер может любой человек с небольшими познаниями в Linux.
Поддерживать открытый XMPP сервер — это значит дать доступ к клиентской базе множеству мелких конкурентов. Не думаю, что эта ситуация могла понравиться крупным компаниям и инвестирование прекратилось
Доподлинно неизвестно, кто использует 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 [2]
Причину этого понять легко, потому что «устаревший, избыточный и никому ненужный» XMPP выдерживает 2 000 000 на одной ноде! Если отбросить популизм, в частности речь идет про Ejabberd.
2 000 000 активных соединения. График нагрузки CPU и потребления памяти:
Источник: blog.process-one.net [3]
Если Jabber ID заменить на телефонные номера, подписки сопоставить с нахождением номеров в адресной книге, получаем почти полностью готовый продукт с минимумом затрат.
Ejabber поддерживает множество баз данных и соединений с сервером, не только классическим для XMPP способом, но через Websoсket, HTTP запросы и Ejabberd API [4]
На Ejabberd можно создать мессенджер с тысячами онлайн подключений на дешевом
Модифицированные версии XMPP используют многие проприетарные мессенджеры, для быстрого старта с минимумом затрат. Примеров успешного использования ХМPP серверов, как средства для доставки сообщений много. Знаменитая онлайн игра Eva Online недавно перевела чаты [6] на Ejabberd. Мессенджер Cryptocat во многом построен на XMPP. Ходят даже слухи, что великий и могущественный Facebook как-то использует XMPP в своих проектах.
Для доставки сообщений в XMPP используются расширения:
Понятие красоты у всех разное. Некоторые люди в бьются об заклад и говорят что их любимый Gajim [13], PSI+ [14] и даже Profany [15] самые красивые и самые лучшие, но на Андроид общепризнанный лидер — Conversations
Ссылка [16] на другие скриншоты и страницу в Play Маркет. Примечание: В настройках Conversations можно включить статус отображения собеседника на кнопке отправки и статус отображения доставки сообщений. Сервер conversations.im, выбираемый по-умолчанию, платный после 6 месяцев использования. Для постоянного использования лучше выбрать другой XMPP сервер, такой как 404.city [17]. Город 404 — это сервер сообщества киберпанков. 404.city официально занимается поддержкой совместимости со всеми версиями Conversations. Ну или поискать сервер здесь [18].
На Linux большие надежды подает Dino, но пока он еще находится в бете
Сайт: dino.im [19]. Пакеты для установки: software.opensuse.org [20]
Опытные пользователи XMPP, сразу после подключения к серверу, смотрят в настройках Jabber-клиентов возможности сервера
XMPP не такой простой и устаревший, каким он кажется. XMPP — это идея объединения всех мессенджеров и сайтов (любой может поднять свой сервер) единым стандартом коммуникации. XMPP — это прекрасный инструмент для создания отказоустойчивых мессенджеров в руках разработчика. Jabber — это неплохая свободная альтернатива WhatsApp и другим мессенджерам, в руках пользователей ознакомленных с особенностями его работы.
XMPP — это тема, которую сложно описать в двух словах. Если Вас заинтересовала моя статья, Вам возможно будут интересны так же эти ссылки:
Автор: lixmix
Источник [26]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/xmpp/280770
Ссылки в тексте:
[1] motherboard.vice.com: https://motherboard.vice.com/en_us/article/8qxdez/the-nsa-uses-the-same-chat-protocol-as-hackers-and-activists
[2] blog.process-one.net: https://blog.process-one.net/whatsapp-facebook-erlang-and-realtime-messaging-it-all-started-with-ejabberd/
[3] blog.process-one.net: https://blog.process-one.net/ejabberd-massive-scalability-1node-2-million-concurrent-users/
[4] Ejabberd API : https://docs.ejabberd.im/developer/ejabberd-api/admin-api/
[5] VPS: https://www.reg.ru/?rlink=reflink-717
[6] недавно перевела чаты: https://www.eveonline.com/ru/article/p4i0qx/new-chat-backend-coming-with-the-march-release
[7] XEP-0313: Message Archive Management: https://xmpp.org/extensions/xep-0313.html
[8] XEP-0280: Message Carbons: https://xmpp.org/extensions/xep-0280.html
[9] XEP-0198: Stream Management : https://xmpp.org/extensions/xep-0198.html
[10] XEP-0160: Best Practices for Handling Offline Messages: https://xmpp.org/extensions/xep-0160.html
[11] XEP-0333: Chat Markers: https://xmpp.org/extensions/xep-0333.html
[12] XEP-0363: HTTP File Upload: https://xmpp.org/extensions/xep-0363.html
[13] Gajim: https://gajim.org/screenshots.php?lang=ru
[14] PSI+: https://psi-plus.com/screenshots.php
[15] Profany: http://www.profanity.im/
[16] Ссылка: https://play.google.com/store/apps/details?id=eu.siacs.conversations.legacy&hl=en_US
[17] 404.city: https://404.city
[18] здесь: http://jabberworld.info/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D1%85_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_Jabber
[19] dino.im: https://dino.im/
[20] software.opensuse.org: https://software.opensuse.org/download.html?project=network:messaging:xmpp:dino&package=dino
[21] Ejabberd: https://www.ejabberd.im/
[22] Prosody: https://prosody.im/
[23] OpenFire: https://igniterealtime.org/
[24] jc.jabber.ru: https://jc.jabber.ru
[25] Movim: https://movim.eu/
[26] Источник: https://habr.com/post/359084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=359084
Нажмите здесь для печати.