Top 5 jabber clients
Содержание:
- Программное обеспечение
- Дополнительные преимущества сервиса
- Рекомендуемые клиенты
- История
- Мобильные клиенты
- Боты
- Установка и настройка OpenFire
- Листинг 1. Установка сервера OpenFire
- Рисунок 3. Административный интерфейс сервера OpenFire
- Рисунок 4. Настройка параметров подключения к БД
- Рисунок 7. Сводная информация о сервере
- Рисунок 8. Сводная информация о пользователях
- Рисунок 9. Информация о конкретном пользователе
- Рисунок 10. Управление видимостью группы
- Соединение с другими протоколами
Программное обеспечение
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-сервисов.