что такое jabber сервер
Джаббер
Содержание
Протокол
Jabber имеет ряд преимуществ по сравнению с коммерческими системами IM:
Jabber удовлетворяет многие потребности частных лиц и организаций. Но важно понимать, что он не является универсальным решением всех задач. В частности, Jabber не является:
История
Проект Jabber был основан Джереми Миллером в начале 1998 года с разработки сервера jabberd. Первое сообщение о проекте появилось 4 января 1999 года на шлюзами в основные системы IM (AIM, ICQ, MSN, и Yahoo). Позже, в 1999, Webb Interactive Services начало спонсировать основных разработчиков, что ускорило процесс создания проекта. В то время появилась основа протокола Jabber, а также сервер jabberd и ранние клиенты, такие, как WinJab (устарел и получил своё развитие в Exodus) и Gabber. Этот ранний период постоянных изменений закончился в мае 2000 с выпуском jabberd 1.0.
Инвесторами проекта (март 2008) являются Jona, Inc., France Telecom, Intel Capital, и Webb Interactive Services, Inc. [2]
Адресация
Каждый пользователь в сети имеет уникальный идентификатор — Jabber ID (сокращенно JID). Адрес JID, подобно адресу электронной почты, содержит имя пользователя и доменное имя сервера, на котором зарегистрирован пользователь, разделённые знаком @. Например, пользователь user, зарегистрированный на сервере example.com, будет иметь адрес: user@example.com.
Пользователь может иметь одновременно несколько подключений, для различения которых используется дополнительное значение JID, называемое ресурсом и добавляемое через слэш в конец адреса. К примеру, пусть полный адрес пользователя будет user@example.com/work, тогда сообщения, посланные на адрес user@example.com, дойдут на указанный адрес вне зависимости от имени ресурса, но сообщения для user@example.com/work дойдут на указанный адрес только при соответствующем подключенном ресурсе.
Адреса JID могут также использоваться без явного указания имени пользователя (с указанием имени ресурса или без такового) для системных сообщений и для контроля специальных возможностей на сервере.
Программное обеспечение
Jabber-серверы
(приведены в алфавитном порядке)
Jabber-клиенты
(приведены в алфавитном порядке)
Многофункциональные клиенты, поддерживающие протокол XMPP
(приведены в алфавитном порядке)
Jabber
Jabber
В отличие от коммерческих систем мгновенных сообщений, таких, как AIM, ICQ, MSN и Yahoo, XMPP является децентрализованной, расширяемой и открытой системой. Любой желающий может открыть свой сервер мгновенных сообщений, регистрировать на нём пользователей и взаимодействовать с другими серверами XMPP. На основе протокола XMPP уже открыто множество частных и корпоративных серверов XMPP. Среди них есть достаточно крупные проекты, такие как Google Talk, LiveJournal и Gizmo5.
Содержание
История
Ранний Jabber протокол сформировал основы для стандарта XMPP, опубликованного как RFC 3920. Часто этот момент рассматривается как начало соперничества с SIMPLE, основанным на протоколе SIP, как стандартного протокола для мгновенного обмена сообщениями и информацей о присутствии.
С августа 2001 года протокол Jabber переходит под контроль Jabber Software Foundation (16 января 2007 года, » Jabber Software Foundation » была переименована в » XMPP Standards Foundation » [3] ), для более точного описания своей работы развития расширений собственно протокола, в отличие от линии развития программы с одноименным названием.
Протокол
Преимущества
Слабые стороны
Адресация
Каждый пользователь в сети Jabber имеет уникальный идентификатор — Jabber ID (сокращенно JID). Адрес JID, подобно адресу электронной почты, содержит имя пользователя и доменное имя сервера, на котором зарегистрирован пользователь, разделённые знаком @. Например, пользователь user, зарегистрированный на сервере example.com, будет иметь адрес: user@example.com.
Пользователь может иметь одновременно несколько подключений, для различения которых используется дополнительное значение JID, называемое ресурсом и добавляемое через слэш в конец адреса. К примеру, пусть полный адрес пользователя будет user@example.com/work, тогда сообщения, посланные на адрес user@example.com, дойдут на указанный адрес вне зависимости от имени ресурса, но сообщения для user@example.com/work дойдут на указанный адрес только при соответствующем подключенном ресурсе.
Адреса JID могут также использоваться без явного указания имени пользователя (с указанием имени ресурса или без такового) для системных сообщений и для контроля специальных возможностей на сервере.
Соединение с другими протоколами
Полезной особенностью XMPP систем являются транспорты, или шлюзы, позволяющие пользователям получать доступ к сетям, использующим другие протоколы. Это могут быть другие протоколы обмена мгновенными сообщениями или такие протоколы как SMS и E-mail.
В отличие от мультипротокольных клиентов, XMPP предоставляет доступ на уровне сервера, посредством коммуникации через специальные сервисы-шлюзы, выполняющиеся на удалённом компьютере.
Любой пользователь может «зарегистрироваться» на одном из этих шлюзов, предоставив информацию, необходимую для входа в сеть, и может общаться с пользователями сети так, как если бы они были пользователями сети джаббер. Это значит, что любой клиент, полностью поддерживающий XMPP может быть использован для доступа к любой сети, для которой существуют шлюзы, без какого-либо дополнительного кода в клиенте и без необходимости клиенту иметь прямой доступ в Интернет.
Реализация шлюзов зависит от конкретного XMPP-сервера и подвержена нестабильности из-за закрытости коммерческих IM-сервисов.
Программное обеспечение
XMPP-серверы
(приведены в алфавитном порядке)
XMPP-клиенты
(приведены в алфавитном порядке)
Многофункциональные клиенты, поддерживающие протокол XMPP
(приведены в алфавитном порядке)
Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня
Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова:
Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов?
Причина мифов о XMPP в том, что многим Jabber известен по мессенджерам из далеких двухтысячных годов и плохой осведомленности о особенностях XMPP. С двухтысячных прошло много времени, протокол продолжил существовать и активно развиваться. Современный Jabber уже сильно не похож на тот, который был раньше.
В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня
Предыстория
В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так. Компании перестали обновлять XMPP-клиенты. Широкого анонса поддержки 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
Причины падения XMPP
Казалось бы, технология перспективная, но крупные компании быстро потеряли интерес к XMPP. Предполагалось то, что будет работать в идеальном мире, наткнулось на жесткую реальность.
Основной материальный капитал любой крупной интернет-компании — это база пользователей. Многие компании сделали свой бизнес на предоставлении e-mail серверов и закрытых мессенджеров. Если e-mail сервер создать относительно сложно, написать собственный мессенджер еще сложнее, поднять XMPP сервер может любой человек с небольшими познаниями в Linux.
Поддерживать открытый XMPP сервер — это значит дать доступ к клиентской базе множеству мелких конкурентов. Не думаю, что эта ситуация могла понравиться крупным компаниям и инвестирование прекратилось.
«Устаревший и никому ненужный XMPP» как золотая жила! Закрываем S2S, пишем клиенты и зарабатываем миллиарды!
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 используются расширения:
Раньше в XMPP была проблема с доставкой файлов, как решена она сейчас?
Как дела обстоят с красивыми клиентами в XMPP?
Понятие красоты у всех разное. Некоторые люди в бьются об заклад и говорят что их любимый Gajim, PSI+ и даже Profany самые красивые и самые лучшие, но на Андроид общепризнанный лидер — Conversations.
Ссылка на другие скриншоты и страницу в Play Маркет. Примечание: В настройках Conversations можно включить статус отображения собеседника на кнопке отправки и статус отображения доставки сообщений. Сервер conversations.im, выбираемый по-умолчанию, платный после 6 месяцев использования. Для постоянного использования лучше выбрать другой XMPP сервер, такой как 404.city. Город 404 — это сервер сообщества киберпанков. 404.city официально занимается поддержкой совместимости со всеми версиями Conversations. Ну или поискать сервер здесь.
Какие есть особенности у XMPP? Почему у одних все работает отлично, а другие сталкиваются с трудностями?
Вывод
XMPP не такой простой и устаревший, каким он кажется. XMPP — это идея объединения всех мессенджеров и сайтов (любой может поднять свой сервер) единым стандартом коммуникации. XMPP — это прекрасный инструмент для создания отказоустойчивых мессенджеров в руках разработчика. Jabber — это неплохая свободная альтернатива WhatsApp и другим мессенджерам, в руках пользователей ознакомленных с особенностями его работы.
XMPP — это тема, которую сложно описать в двух словах. Если Вас заинтересовала моя статья, Вам возможно будут интересны так же эти ссылки:
Что такое jabber сервер
XMPP — Extensible Messaging and Presence Protocol (англ. расширяемый протокол обмена сообщениями и информацией о присутствии), ранее известный как Jabber (джа́ббер (англ. болтовня, трёп; тарабарщина) — это основанный на XML открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близкому к режиму реального времени. Изначально спроектированный легко расширяемым, протокол, помимо передачи текстовых сообщений, поддерживает передачу голоса, видео и файлов по сети.
В отличие от коммерческих систем мгновенных сообщений, таких, как AIM, ICQ, MSN и Yahoo, XMPP является децентрализованной, расширяемой и открытой системой. Любой желающий может открыть свой сервер мгновенных сообщений, регистрировать на нём пользователей и взаимодействовать с другими серверами XMPP. На основе протокола XMPP уже открыто множество частных и корпоративных серверов XMPP. Среди них есть достаточно крупные проекты, такие как Google Talk, LiveJournal и Gizmo5.
В отличие от других интернет-пейджеров, джаббер больше похож на электронную почту:
• нет нумерации, есть произвольные имена
• джаббер-сервер может запустить любой
• у одного сервера может быть несколько имён (алиасов)
• каждый сервер может свободно общаться с каждым
• возможно безопасное подключение к серверу
• возможно шифрование отправляемых сообщений на уровне клиента
• возможно хранение всей истории чата на сервере
• есть веб-интерфейс
• возможно создание vCard визиток
• подтверждение доставки сообщения
В то же время, джаббер унаследовал некоторые приятные черты чатов:
• отображение статуса собеседника (в т.ч. расширенные статусы)
• многопользовательские комнаты («конференции»)
• боты полезной функциональности
Обзор Jabber клиентов под Windows: _http://habrahabr.ru/blogs/jabber/50776/
Для того, чтобы воспользоваться Jabber, необходимо иметь учётную запись на сервере. Таковую вы можете получить на следующих серверах (список серверов с графическим отображением поддерживаемых транспортов): _http://jabberworld.info/Список_работающих_публичных_серверов_Jabber
В: Как надо произносить «Jabber»?
О: Джаббер.
В: Как зарегистрироваться на сайте? Как зарегистрироваться на сервере?
О: Получить логин и пароль можно:
1. В разделе регистрации на сайте.
2. Через любой джаббер-клиент.
Для входа на сайт нужно использовать полный логин (ваше_имя@jabber.ru) и пароль.
В: Я забыл пароль, что мне делать?
О: Воспользуйтесь формой восстановления пароля: www.jabber.ru/xremind.
Восстановление возможно только при наличии адреса email в вкарде.
В: Что такое транспорт?
О: Сервис, который позволяет разговаривать с пользователями других IM-сетей через единственное подключение.
В: Как мне подключить транспорт ICQ?
О: Подробное описание подключения в Bombus здесь bombus-im.org/wiki/howto/howto_icq. Инструкция подойдет для любого клиента.
В: Я хочу перенести свои контакты из аськи в джаббер с сохранением ников.
О: Скачайте программу QIP Contacts Manager. В этой программе выполните команду «Export» в файл *.clb.
Зарегистрируйтесь на транспорте ICQ.
Откройте файл *.clb в текстовом редакторе.
Введите имя ICQ и содержимое файла *.clb на _www.jabber.ru/jabaddons/qip2jabber.
Нажимайте кнопку. Вы получите данные в формате, подходящем для J.RU.
В: Я хочу перенести свои контакты с одного аккаунта на другой?
О: Можно воспользоваться утилитой JRU _http://www.jabber.ru/jabaddons/jru/jru.php.
В: Я хочу перенести свои контакты с одного транспорта на другой или удалить ненужные контакты?
О: Можно воспользоваться утилитой JRU _http://www.jabber.ru/jabaddons/jru/jru.php.
В: Что такое конференция/комната?
О: Сервис @conference.jabber.ru позволяет создавать комнаты, каждая из которых работает как отдельный чат. Зайти в конференцию можно из любого джаббер-клиента.
В: Как создать конференцию на сервере Jabber.Ru?
О: Новая конференция создается при первом заходе в нее пользователя. Такой пользователь получает права владельца (owner). По умолчанию, конференция временная. После создания комнаты можно изменить ее свойства и сделать постоянной (галочка «Persistent» в свойствах конференции).
В: Чем отличаются участники от модераторов? Кем я могу быть в конференции?
О: Иерархия пользовательских прав существует специально для того, чтобы пользователи путались могли контролировать процесс общения (например, в тематических конференциях).
1. Owner: может всё.
2. Admin
3. Moderator
4. Member
5. None
6. Participant
Для новичков рекомендую Jimm Aspro.
Из WМ клиентов альтернативы Talkonaut’у не вижу.
это из тех клиентов, темы для которых созданы на форуме. однако, ни один из перечисленных не имеет поддержки конференций. из клиентов с поддержкой оных есть OneTeam и japyt(это не совсем клиент, работает по принципу прокси c любым jabber-клиентом, написан на python Disabler’ом).
Преимущества транспортов
Транспорты настраиваются один раз и не зависят от клиента, с которого их используют. Подключив шлюзы с Jabber-клиента на домашнем компьютере, не требуется подключать их на мобильном телефоне и ноутбуке.
При прямом использовании нескольких сетей (через многопротокольные клиенты) может значительно возрасти количество передаваемых данных. Транспорты же потребляют гораздо меньше трафика, особенно если подключенных сетей много.
Транспорты, дающие доступ к специальным ботам позволяют создать из своего Jabber-клиента универсальный инструмент, объединяющий в себе, к примеру, RSS-читалку, почтовый клиент, словари и переводчики, а также средство для просмотра погоды и отправки СМС.
Примеры использования таких транспортов:
Я бы в Джабберы пошёл…
Сначала я напишу пару вводных слов про джаббер, затем как быстро начать им пользоваться, чуть ниже как с ним познакомится, а в конце ссылки для любопытных. Не стесняйтесь прокручивать, если содержимое очередной части вам покажется известным.
Введение и пара оговорок
Джаббер (Jabber) — протокол мгновенного обмена сообщениями. Хотя Jabber правильнее называть XMPP — расширяемый протокол обмена сообщениями и индикацией присутствия.
Уже хочу, дайте
Весьма вероятно, что у вас уже есть джаббер аккаунт, а вы об этом даже не подозреваете. Проверим!
У вас есть почта на Google? ваш_ник@gmail.com
У вас есть почта на Яндексе? ваш_ник@ya.ru
Вы зарегестрированы в ЖЖ? ваш_ник@livejournal.com 9
Вы устанавливали QIP Infium? ваш_ник@qip.ru
Как бы им воспользоваться?
С QIP Infium нет никаких проблем: вы уже пользуетесь джаббером, если зарегестрировались при установке. Если же нет, легко наверстать.
Окошко чата гугла вы могли видеть, когда заходили в свою гуглопочту, можно общаться оттуда. Также существуют отдельные GTalk клиент и гаджет. И, если гаджет — веб-приложение, то GTalk есть только под Windows и Blackberry.
У Яндекса сразу нет веб-приложения, зато предлагается программа для общения Я.Онлайн под Win, а в рамках проекта Яндекс.Нано можно скачать версии для Mac OS X, Ubuntu и исходные коды.
ЖЖ без особых выкрутасов предлагает воспользоваться сторонними программами.
А если без революций?
Вероятно, вы уже пользуетесь каким-нибудь интернет-пейджером. И он так вам нравится, что вы не хотите его менять… проверьте по списку, поддерживает ли он джаббер. Если не поддерживает, подумайте о смене клиента, как бы грусто это ни было… или установке второго, параллельно, на попробовать.
В большинстве мультипротокольных клиентов (Miranda, Sim-IM, Pidgin) уже встроена поддержка джаббера. Причём обычно в панели настроек можно указать сервер и зарегистрироваться на нём (да-да, в один-два клика). Нужны только настройки…
NB: некоторые клиенты понимают логин как ваш_ник@джаббер.сервер.im, а некоторые разделяют JID на ваш_ник как имя пользователя и джаббер.сервер.im как сервер логина. В зависимости от клиента, вам необходмо будет ввести данные тем или иным способом. Чтобы не повторяться много раз, я опускаю из настроек поля имя пользователя и пароль, и указываю, если нужны, дополнительные специфические поля.
QIP:
Сервер (Login server): qip.ru
Использовать SSL: да
Порт: 5223
Яндекс [пример]
Сервер (Login server): ya.ru
Использовать SSL: да
Порт: 5223
Сервер подключения (Connection host): xmpp.yandex.ru
Порт: 5223
Поддерживать соединение (Connection keepalive): да
Google [примеры]
Сервер (Login server): gmail.com
Использовать SSL: да
Порт: 5223
Сервер подключения (Connection host): talk.google.com
Порт: 5223
Поддерживать соединение (Connection keepalive): да
LiveJournal [пример]
Сервер (Login server): livejournal.com
Использовать SSL: нет
Порт: 5222
Поддерживать соединение (Connection keepalive): да
Кого хочу, не знаю.
Вам не нравится ни один из предложенных выше серверов? У вас есть подозрения в искренности мыслей интернет-гигантов? Вам не хватает «транспорта» в другие сети? Выбирайте любой публичный джаббер сервер по любому критерию который больше нравится: время непрерывной работы, наличие шлюзов в другие сети, дополнительные функции 10 … Несколько список я приготовил в ссылках.
И не забудьте агитировать друзей переключиться на Jabber 😉
Побочные мысли, или куда дальше?
То, что джаббером заинтересовались в Циске, о чём-то уже говорит. Но опыт показывает, что Циска часто пытается или пропихнуть в стандарты свои разработки, или доработать имеющиеся стандарты под свои нужды, причём пилой, а не надфилем. во что может превратиться джаббер под руководством инженеров и программистов Циски, мы через какое-то время узнаем из анонса новых (tele-)presence и collaboration продуктов. Здесь они хотят серьёзно побороться за то поле совместной работы в компании, которое сейчас окучивают Лотус и АйБиЭм.
Сейчас в джаббере мало спама. Заранее прорабатываются идеи, как можно от него защититься. Однако, боюсь, эта борьба, как щита и меча, вечна. И дело только в том, когда джаббер наберёт достаточную популярность для того, чтобы им заинтересовались.
У конференций-комнат Джаббера есть интересная особенность: логи некоторых комнат, если это настроено администратором, могут регулярно вестись и выкладываться в общий доступ. Обычно об этом прямо написано на сайте джаббер-сервера. К примеру, посмотрите на полуживые волгоградские логи.