Top 5 jabber clients

Программное обеспечение

XMPP-серверы

  • CommuniGate Pro
  • ejabberd — свободный распределённый и отказоустойчивый XMPP-сервер, написанный на Erlang. Работает на крупнейшем российском XMPP-сервере jabber.ru.
  • jabberd2 — свободный сервер, написанный на языке C
  • Openfire (ранее Wildfire, ещё ранее Jive Messenger) — свободный многофункциональный и отказоустойчивый XMPP-сервер, написанный на Java. Занимал первое место в рейтинге по возможностям на jabber.org (по состоянию рейтинга на конец марта 2007 года)
  • Prosody — кроссплатформенный XMPP-сервер, написанный на языке программирования Lua
  • Tigase XMPP Server — сервер, поддерживающий кластеризацию «из коробки»
  • Wokkel — библиотека, добавляющая поддержку расширений XMPP в Twisted
  • Xabber Server — сервер, основанный на форке ejabberd. Код проекта распространяется под лицензией AGPLv3.

XMPP-клиенты

По статистике публичного XMPP-сервера 404.city(на лето 2017 года), самые популярные клиенты для десктопов и ноутбуков — Pidgin и Psi+ . На Android лидируют Xabber и Conversations.

Для ПК и ноутбуков

  •  — мультипротокольный мессенджер для MS-Windows с поддержкой OTR, PGP, OMEMO и собственного плагина SecureIm, работающего на основе открытой библиотеки Crypto++
  • Psi — кроссплатформенный клиент, поддерживающий OTR, PGP, OMEMO.
  • Psi+ — доработанная версия XMPP-клиента Psi (все новые функции вначале появляются в Psi+, а затем постепенно переносятся в Psi).
  • Gajim — кроссплатформенный клиент, поддерживающий OTR, PGP, OMEMO.

Для Android

  • Xabber — XMPP-клиент с поддержкой OTR, PGP.
  • Conversations — XMPP-клиент с поддержкой OTR (с версии 2.0.0 данная функция не поддерживается), PGP, OMEMO. Есть возможность отправки картинок, файлов различных типов, геокоординат, записи и отправки голосовых сообщений.
  • IM+ — мультипротокольный мессенджер с OTR.
  • yaxim.

Для iOS

  • ChatSecure — XMPP-клиент с поддержкой OTR, OMEMO от коллектива .

Дополнительные преимущества сервиса

Ключевая идея PrivMessage.Online состоит в том, чтобы способствовать анонимному общению в сети интернет, обеспечивая участникам коммуникации максимальный комфорт и безопасность.

Jabber онлайн развивает:

  • 100% бесплатность эксплуатации сервиса;
  • открытое программное обеспечение, доступ к коду приложения всех желающих, по запросу;
  • простота создания аккаунтов;
  • приятный и понятный интерфейс чата без лишних и ненужных функций;
  • нацеленность на отсутствие рекламы и спама;
  • несколько разновидностей способов отправки сообщений (в том числе – самоудаляемые месседжи, которые исчезают после их получения и прочтения адресатом).

PrivMessage.Online рассчитанн на использование любыми заинтересованными лицами. Зарегистрировать Jabber очень просто https://privmessage.online/register

Web клиентом Jabber можно пользоваться с ноутбука, персонального компьютера, планшета, смартфона, вне зависимости от операционной системы и скорости работы интернета.

На сегодняшний момент PrivMessage.Online работает над увеличением своей аудитории, планируя оптимизацию дизайна чата, расширение функционала системы с целью подключения социальных/коммерческих связей пользователей.

Стоить помнить о том, что сторонние сервера Jabber проектов хоть и стараются обеспечить анонимное и безопасное общение, но полную защиту Ваших данных может обеспечить шифрование на стороне клиента, такими простыми и проверенными библиотеками шифрования как PGP, GnuPG и прочими. Шифруя сообщения на стороне клиентов за сохранность передачи данных можно не волноваться, а выбирать Jabber сервера уже исходя из высокого аптайма, которым и является https://privmessage.online/

Рекомендуемые клиенты

Клиент Поддерживаемые ОС OTR? OMEMO? Jingle? Proxy? TLS? Tor? MUC? Комментарии
Gajim GNU/Linux, Windows, FreeBSD Нет Да Да Да Да Да Да Open source. Кроссплатформенный мессенджер написанный на Python и использующий GTK+.
Gajim 0.16.x GNU/Linux, Windows, FreeBSD Да Нет Да Да Да Да Да Open source. Кроссплатформенный мессенджер написанный на Python и использующий GTK+.
Psi GNU/Linux, Windows, macOS Да Да Да (Linux) Да Да Да Да Кроссплатформенный мессенджер написанный на С++ и Qt.
Psi+ GNU/Linux, Windows, macOS, Haiku, FreeBSD Да Да Да (Linux) Да Да Да Да Кроссплатформенный мессенджер написанный на С++ и Qt.
CoyIM GNU/Linux, Windows, macOS Да Нет Нет Да Да Да Нет Open source. Безопасный-по-умолчанию мессенджер: по умолчанию включен OTR и используется Tor. Написан на Go.
ChatSecure Android, F-Droid, iOS Да Да Нет Да Да Да ? Open source. Хороший мессенджер для iOS. Интегрирована поддержка Tor.
Conversations Android Нет Да Нет Да Да Да Да Open source. Хороший мессенджер для Android. Поддерживает защищенные групповые чаты!
Conversations Legacy Android Да Нет Нет Да Да Да Да Open source. Хороший мессенджер для Android. Поддерживает защищенные групповые чаты!

История

Проект Jabber был основан Джереми Миллером в начале 1999 года с разработки сервера jabberd. Первое сообщение о проекте появилось 4 января 1999 года на сайте Slashdot. Эту дату принято считать днём рождения технологии. Вскоре после этого к проекту присоединилось несколько основных разработчиков, которые стали работать над сервером jabberd, клиентами для Windows и GNU/Linux, а также шлюзами в основные системы IM (AIM, ICQ, MSN, и Yahoo). Позже, в 1999 году, Webb Interactive Services начало спонсировать основных разработчиков, что ускорило процесс создания проекта. В то время появилась основа протокола Jabber, а также сервер jabberd и ранние клиенты, такие, как WinJab (устарел и получил своё развитие в Exodus) и Gabber. Этот ранний период постоянных изменений закончился в мае 2000 года с выпуском jabberd 1.0.

С августа 2001 года протокол Jabber переходит под контроль Jabber Software Foundation (16 января 2007 года Jabber Software Foundation была переименована в XMPP Standards Foundation), для более точного описания своей работы развития расширений собственно протокола, в отличие от линии развития программы с одноимённым названием.

Jabber, Inc. занимается развитием двух проектов — Jabber Extensible Communications Platform (Jabber XCP) и JabberNow. Первый является фреймворком, а второй — программно-аппаратное решение (специально собранный и настроенный компьютер). Сайт jabber.org всё ещё функционирует. Инвесторами проекта Jabber являются Jona, Inc., France Telecom, Intel Capital, и Webb Interactive Services, Inc.

В августе 2005 года представил сервис Google Talk — комбинацию VoIP и клиента для обмена сообщениями, использующий XMPP для функций переписки, а также как основу для передачи голоса и файлов. Первоначальный запуск сервиса от Google не включал межсерверного общения, но к 17 января 2006 года такая возможность была добавлена. Однако, в мае 2013 Google объявил о сокращении поддержки межсерверных коммуникаций в связи с продвижением своего сервиса Google Hangouts. Тем не менее, несмотря на официальные заявления, Google Talk всё ещё поддерживает XMPP.

Мобильные клиенты

Современный сервис невозможно представить без мобильных клиентов, а найти человека, который не пользовался бы сервисами мгновенных сообщений, достаточно сложно. Несмотря на конкуренцию со стороны популярных мессенджеров с многомиллионными аудиториями, «Джаббер»-клиент для мобильных устройств существует, причем даже в нескольких вариантах. Некоторые проекты находятся в застое, а некоторые активно развиваются. К примеру, программа Talkonaut, которая имеет версии под Android и iOS с регулярно выходящими обновлениями.

Talkonaut позволяет не только обмениваться сообщениями, но и совершать звонки, используя протокол VoIP. Так что в целом она мало отличается по функционалу от многих более известных конкурентов, при этом используя протокол, разработанный свободным сообществом.

Боты

Большой популярностью в Jabber’е пользуются боты для конференций. Они широко используются для защиты конференций от спама, в качестве цензора, ведения различной статистики, парсинга веб-сайтов (анекдоты, новости и т. п.), создания «мостов» между чатами, ведения логов, управления конференциями и так далее. Функциональность xmpp-ботов и область их применения ограничены только фантазией их разработчиков.

Известные боты

  • Neutron — англоязычный бот на Python (библиотека «xmpppy»), один из первых xmpp-ботов;
  • FreQ — многофункциональный xmpp-бот, зарекомендовавший себя стабильностью в работе[источник не указан 1655 дней], написан на Python (библиотека Twisted);
  • Sulci — бот-говорун, какое-то время был крайне популярен в качестве развлечения;
  • Gluxi — многофункциональный бот, написанный на C++;
  • Talisman — русскоязычная модификация бота Neutron, примечателен наличием множества модификаций и является наиболее популярным ботом в русскоязычных Jabber-конференциях;
  • EndLess — модификация бота Talisman. Примечателен тем, что он стал первым ботом, использующим более одного JID’а. По заявлениям разработчика бот является обладателем своеобразного рекорда: одна копия длительное время обслуживала ~500 конференций. Исходного кода бота нет в свободном доступе;
  • Fatal  — модификация бота Talisman/Neutron со слегка изменённой библиотекой «xmpppy». В последних версиях полностью переписан и практически не имеет ничего общего со своими предками. Для обеспечения наибольшего быстродействия его код распространяется в скомпилированном виде, что, однако, не противоречит GNU GPL v2. Примечателен высокой надёжностью и отказоустойчивостью. Локализации EN и RU.
  • Snapi — изначально являлся модификацией бота Talisman, но позже его «перерос». Можно охарактеризовать, как «Talisman с корректным кодом». Примечателен тем, что базируется на полностью переписанной библиотеке «xmpppy»;
  • BlackSmith mark.1 — активно развивающийся бот, написанный на Python. Примечателен широкой функциональностью, высокой стабильностью и устойчивостью к различным проявлениям флуда. Имеет свою систему плагинов а также частично совместим с ботом Talisman посредством специального модуля. Является open-source проектом и распространяется по лиценции Apache 2;
  • BlackSmith mark.2 — имеет мало чего общего с предыдущим ботом, не считая названия. Написан на Python и использует слегка модифицированную библиотеку «xmpppy». Примечателен поддержкой нескольких JID’ов, высокой стабильностью и наличием трёх языковых пакетов (EN, RU, FI). Большая часть архитектурно независимых функций портировано на mark.1;
  • Taho — бот для конференций, написанный на Tcl.
  • Pako — бот, распространённый в англоязычной части Jabber-сети. Написан на C#;
  • Isida — многофункциональный и многоязычный бот, написан на Python (библиотека «xmpppy»). Примечателен тем, что это единственный бот, который в полной мере использует muc-filter, а также тем, что его код противоречит большинству пунктов Python Style Guide;
  • Erl — бот, написанный на Erlang, примечателен функциями защиты конференций от спама.

Установка и настройка OpenFire

Прежде всего необходимо загрузить подходящий дистрибутив сервера OpenFire, используя менеджер закачек wget, как показано в листинге 1.

Листинг 1. Установка сервера OpenFire
//создание временного каталога для загрузки
#mkdir /temp

//загрузить дистрибутив OpenFire в созданный каталог
#wget -P /temp  http://www.igniterealtime.org/downloads/download-landing.jsp?
 file=openfire/ openfire-3.7.0-1.i386.rpm

//перейти в каталог, куда был загружен дистрибутив OpenFire
#cd /temp

//запустить программу для установки OpenFire из rpm-пакета
#rpm -Uvh openfire*.rpm

//запустить установленный сервер OpenFire
#service openfire start

Дальнейшая настройка будет выполняться через Web-интерфейс, изображенный на рисунке 3, который по умолчанию находится на порту 9090 (HTTP) и 9091 (HTTPS).

Рисунок 3. Административный интерфейс сервера OpenFire

При первом запуске потребуется настроить основные параметры сервера, такие как язык интерфейса, доменное имя сервера, и подключение к базе данных. В пункте меню Установочные параметры базы данных необходимо выбрать стандартная БД и тип БД — MySQL. После этого необходимо ввести параметры для подключения к ранее созданной БД, как показано на рисунке 4.

Рисунок 4. Настройка параметров подключения к БД

В следующей форме Настройка профиля можно настроить интеграцию с сервером каталогов, что позволяет создать единую учетную запись для работы со множеством корпоративных приложений и сервисов. В качестве сервера каталогов будет использоваться ActiveDirectory, поэтому необходимо произвести настройку подключения к серверу AD, как показано на рисунке 5. Также можно внести изменения в шаблоны запросов Карта пользователя (User Mapping) и Групповое Распределение (Group Mapping) для LDAP сервера.

На следующем этапе необходимо задать пользователя из каталога ActiveDirectory в качестве администратора OpenFire и проверить аутентификацию пользователя через ActiveDirectory, как показано на рисунке 6.

Если в ходе работы выявились какие-либо проблемы, то для повторного запуска инициализации сервера, достаточно изменить в файле /conf/openfire.xml значение параметра <setup>true</setup> на <setup>false</setup>.

После завершения конфигурации можно подключиться к Jabber–серверу, используя учетную запись администратора, созданную ранее. На главной странице административного интерфейса будет выводиться информация о текущем состоянии сервера и таблица портов, используемых OpenFire. Все настройки разделены на пять групп: Сервер (Server), Пользователи и Группы (Users/Groups), Открытые Сессии (Sessions), Чаты (Group Chat) и Плагины (Plugins).

На вкладке Сервер, изображенной на рисунке 7, можно просмотреть статистику и текущие настройки сервера, такие как дата и время, язык интерфейса, настройки базы данных, и при необходимости изменить их.

Рисунок 7. Сводная информация о сервере

На вкладке Users/Groups, изображенной на рисунке 8, осуществляется управление пользователями и группами. На данной странице отображаются все пользователи, зарегистрированные на сервере, и стандартный набор операций над ними (создание, редактирование, удаление).

Рисунок 8. Сводная информация о пользователях

Для перехода в меню User Properties (настройки пользователя), изображенное на рисунке 9, необходимо щелкнуть левой кнопкой мыши по имени пользователя.

Рисунок 9. Информация о конкретном пользователе

Выбрав пункт меню Roster можно редактировать список контактов выбранного пользователя. Управление списками для групп осуществляется на вкладке Groups. При выборе группы в нижней части экрана отображается список входящих в нее пользователей. На этом же экране задается видимость группы в списках контактов остальных пользователей, как показано на рисунке 10.

Рисунок 10. Управление видимостью группы

OpenFire также позволяет создавать групповые чаты, так как в сервер по умолчанию уже встроен сервис Conference для создания групповых чатов. Чаты создаются в меню Room Administration (Администрирование комнат для чата), как показано на рисунке 11. Пример отображения конференций представлен на рисунке 15.

Соединение с другими протоколами

Алиса посылает сообщение через сеть Jabber к ICQ-транспорту. Дальше сообщение передаётся Бобу через сеть ICQ.

Полезной особенностью XMPP систем являются транспорты, или шлюзы, позволяющие пользователям получать доступ к сетям, использующим другие протоколы. Это могут быть другие протоколы мгновенного обмена сообщениями, IRC или такие протоколы, как SMS и электронная почта.

В отличие от мультипротокольных клиентов, XMPP предоставляет доступ на уровне сервера, посредством коммуникации через специальные сервисы-шлюзы, выполняющиеся на удалённом компьютере.

Любой пользователь может «зарегистрироваться» на одном из этих шлюзов, предоставив информацию, необходимую для входа в сеть, и может общаться с пользователями сети так, как если бы они были пользователями сети джаббер. Это значит, что любой клиент, полностью поддерживающий XMPP, может быть использован для доступа к любой сети, для которой существуют шлюзы, без какого-либо дополнительного кода в клиенте и без необходимости клиенту иметь прямой доступ в Интернет.

Реализация шлюзов зависит от конкретного XMPP-сервера и подвержена нестабильности из-за закрытости коммерческих IM-сервисов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *