Jabeur ons — profile
Содержание:
[править] Минусы жаббера

- Нет централизованного поиска по имени/фамилии/полу/возрасту. Анонимус статьи не очень понимает, почему это относится к недостаткам, так как спасает от гламурных кис и спамеров, но многие на это жалуются. Джаббер — средство для общения, а не для поиска, не надо его путать с ICQ, название которой как бы говорит нам о главной её фиче. Да и поиск, который находит чуть более, чем ничего, не особо-то и нужен. К. О..
- Локальные сервера часто поднимают криворукие гоблины, из-за чего они лежат чуть реже, чем всегда. Решается проблема методом использования крупных серверов (при этом пропадает 5е преимущество) или выпрямлением рук админу сервака.
- Существуют много способов передачи файлов, но действительно универсален (работает за любыми NAT) только один, пожирающий дохрена трафика. Виноваты в этом, естественно, провайдеры, использующие NAT. Алсо, есть сервисы-прокси для передачи файлов, но скорость при их использовании удручает. Существует мнение, что если использовать нормальные прокси и скорость будет в районе ~50-200кбайт/сек. Например, . Алсо в дефолтном ejabberd’е есть поддержка прокси.
- Несмотря на вышеперечисленное, голосовая и видеосвязь сделаны через настолько ебаническую жопу, что хочется взять и уебать. Использовать то же двигло, которое любыми доступными средствами передаёт файлы и вместо файла скормить ему видеопоток, разработчикам не позволила религия. Также гарантировано пробить все виды NAT возможно только путём пропуска голосового трафика через сервер, что накладно.
- Некоторые крупные сервера слабо дружат друг с другом (в частности жжшный и жэмыловский).
- Несмотря на то, что протокол открыт, ровнёхонько полностью бесплатен и кошерен значительно более, чем полностью, он слишком уж XML-ный. Вот, например, тёплый ламповый SMTP, который появился в 1982 году и застал Брежнева:
S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.org S: 250 Hello relay.example.org, I am glad to meet you ...
Видите, он нам говорит I am glad to meet you (тут он может сказать и что-нибудь ещё более приятное, это позволено), с ним приятно работать даже по телнету. IRC (1988), кстати, тоже вполне тёплый, хотя и моложе на шесть лет.
А теперь посмотрим XMPP примерно в той же ситуации:
<stream:stream xmlns="jabber:client" to="gmail.com" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="ru" > ...
а в ответ нам ещё хуже:
... <stream:features> <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"> <required/> </starttls> <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"> <mechanism>X-GOOGLE-TOKEN</mechanism> </mechanisms> </stream:features> ...
Никакого тепла и уюта, только холодное стальное дыхание межнациональных корпораций с раздутым бюджетом (хотя протокол, как и большинство реализаций, весь из себя бесплатный и ничей). Тем не менее, для программиста это вполне удобно, а пользователю, даже если он тоже программист, и вовсе разницы нет. Та же самая ICQ, к слову, не сильно старше жабера, а протокол у неё — вообще кусок говна, так что даже смысла нет рассуждать о том, тёплый он, или нет, и как он пахнет.
- Неравномерное развитие клиентов. Один клиент может поддерживать одно расширение XMPP (например, хранение истории сообщений на сервере) и не поддерживать другое (например, голос/видео), другой же наоборот.
Преимущества Jabber
Основными преимуществами является:
- Доступность;
- Легкость в понимании и установке;
- Работа на всех операционных системах.
Данный сервер может стать прекрасной заменой большинства платных мессенджеров. Одним из главных преимуществ джаббера является его доступность. Скачать и установить джаббер может любой пользователь интернетом. Причем сделать это можно совершенно бесплатно и на телефон и на компьютер.
Программа очень легкая для понимания и доступна на русском языке. Также очень легко расширить функциональные возможности сервера, поэтому любой пользователь может легко подстроить клиент лично под себя.
Обмен текстовыми сообщениями – это не предел возможностей джаббера. Кроме обычных уведомлений можно делиться различными файлами, документами, картинками и многим другим. Важным достоинством клиента является его расширяемость.
Установка данного сервиса на ПК проводится очень легко, потому что джаббер может использоваться на всех известных операционных системах, таких как Windows 7, Windows 8 и Windows 10.
GPA
Но перед тем как использовать месенджеры, нужно позаботиться о шифровании и ключах шифрования. Утилит умеющих решать этот вопрос довольно много. Наверно самыми распространенными можно считать GPA и gpg4usb. Принцип их использования одинаковый, поэтому я покажу, что нужно делать на примере утилиты GPA. В некоторые дистрибутивы Linux она установлена по-умолчанию (например Parrot OS), или ее можно установить:
после первого запуска GPA сразу предложит создать новый ключ, соглашаемся, у нас спросят имя, адрес электронной почты (можно указать рандомный) и будет предложено создать резервную копию ключа (можно создать и приныкать где-нибудь в надежном месте). И финальным этапом нужно придумать пароль ключа.

Всё, ключ готов. Теперь сохраним его открытую часть в файл, для этого давим кнопку “Экспорт ключей” и сохраняем куда удобно.
Core
At its core, XMPP is a technology for streaming XML over a network. The protocol, which emerged from the Jabber open-source community in 1999, was originally designed to provide an open, secure, decentralized alternative to consumer-oriented instant messaging (IM) services like ICQ, AIM, and MSN. The core technologies were formalized under the name Extensible Messaging and Presence Protocol (XMPP) at the IETF in 2004. These core technologies include:
- The base XML streaming layer
- Channel encryption using Transport Layer Security (TLS)
- Strong authentication using the Simple Authentication and Security Layer (SASL)
- Use of UTF-8 for complete Unicode support, including fully internationalized addresses
- Built-in information about network availability (“presence”)
- Presence subscriptions for two-way authorization
- Presence-enabled contact lists (“rosters”)
Specifications
The core XMPP technologies are defined in two RFCs published by the IETF:
- RFC 6120: XMPP Core
- RFC 6121: XMPP IM
- RFC 7622: XMPP Address Format
The first XMPP RFCs (RFC 3920 and RFC 3921) were produced by the IETF’s XMPP Working Group in October 2004. In 2011 they were revised, resulting in the current specifications.
Implementations
There are many implementations of the core XMPP specifications. See the following pages for details:
- Clients
- Servers
- Code Libraries
Плюсы
Jabber-клиент для ПК — это прежде всего гарантия максимального контроля вашей безопасности, а так же множество других плюсов, которые позволили ему занять свои высокие позиции на рынке программного обеспечения. Вот список главные его плюсов:
- Абсолютно стабильная работа многопользовательского чата, не имеющая проблем связанных с местоположением клиента.
- Малые системные требования подстраиваемые под любой ваш гаджет.
- Способность XML-протокола расширяться, обеспечивает его непревзойдённую гибкость.
- Пользование из всех стран мира, позволяет вам оставаться на связи, где бы вы не находились.
- Не прекращающаяся модернизация всех программных аспектов и функций.
- Полный доступ и открытость протоколов, позволяют создание большого количества программ, которые способны работать на данной платформе.
- Русский язык и бесплатный доступ к приложению.
- Самый низкий риск кражи личных переписок, благодаря SSL-протоколу.
[править] Плюсы жаббера

- Если сервер поддерживает httpUpload можно пересылать шифрованные файлы, видео, картинки с котиками
- Нет спама. Совсем. И вряд ли будет в масштабах аськи/емыла, так как куча серверов усложняет поиск, а значит и выделять целевую аудиторию сложнее и в отличие от почты, серваки могут передавать сообщения только от своего имени (релеев нет вообще), так что зобанить спамерский сервак проще. Максимум — спам через транспорты других протоколов и в чат-румах, где спам увидят сразу 10-20 человек, а значит КПД спамера будет больше. Впрочем, уже можно привинтить капчу на вход в чат-рум. Пользователи conference.jabber.ru вообще запуганы, почти в каждой конференции стоит капча, а в запущенных случаях капча вместе с лишением голоса, запретом ставить сообщение в статус, запретом привата, ограничения на длину/символы/пробелы в нике и вообще запрет его менять.
- Сервер жаббера легко поднять и он есть во многих локалках. Так что даже если у вас отключили инет, то в жаббере вы всё равно сможете чатиться в случае, если администрация сервера адекватная. Например, на некоторых серверах в локалке доступ наружу отрубают с завидной регулярностью.
- Т. н. транспорты, которые позволяют через жаббер общаться с пользователями других сетей, как то ICQ или . Работают хуже, чем нормальные клиенты, не то, что ай-си-кью и меил.ру пытаются преподнести под видом клиентов для общения, а нормальные клиенты. Но при неоплаченности инета см. пункт 5. Однако весьма полезны RSS (посылают вам новые сообщения из выбраных rss-лент) и погодные транспорты (у вас в контакт листе будет новый контакт, в статусе которого всегда актуальная погода в выбраном городе).
- Позволяет одновременное подключение под одним и тем же аккаунтом разными клиентами. Например: оставить на рабочем компе, на пути домой подключиться мобильным, и дома опять же подключиться. При этом адресат, при смене клиента, будет это видеть (при вашем желании). А подключенные транспорты ничего не заметят. И клиенты не будут драться за асечку.
- Символ — православная олдскульная лампочка накаливания. С лампочкой и так уже , и в конце концов по квартирам будут ходить судебные исполнители и разбивать последние. Символ Жаббера будет одним из тех мест, где лампочка таки сможет остаться невредимой. А в будущем современная школота (которая уже не узнаёт на иконках дискеты) в упоении расскажет своим детям, что же это за магическое устройство изображено в правом нижнем углу экрана.
- Джаббер может работать через TOR
- Джаббер клиента можно выбрать из программы с открытым исходный кодом. Просмотрев код можно убедится, что программа не крадет «в облака» личные файлы с компьютера, не делает незапланированные скрины с экрана, не снимает хоме-видео с фото-сессиями анонимуса на унитазе, по вебке или камере смарта. Тру! Столлман ест ноги от счастья! Сталин, Пол Пот и Гитлер негодуют.
Функционал приложения
Как уже упоминалось, приложение представляет собой мессенджер, который выгодно отличается от своих аналогов тем, что использует протокол, XMPP. Что это даёт пользователю? Во-первых, происходит молниеносный обмен информацией в рамках программы. Плюс ко всему приложение обеспечивает абсолютную конфиденциальность, позволяя шифровать сообщения, тем самым защищая их содержимое. Помимо этого, переписки возможно сохранять на сервере или даже на карте памяти устройства.
Программа рассчитана на поддержку нескольких учётных записей, а также позволяет работать с контактами самым удобным и незаморочистым образом. По каждому контакту предоставляется полная информация, в соответствии с которой, можно сгруппировать их наиболее удобным образом для личного пользования. Без проблем осуществляются манипуляции, касающиеся добавления, удаления и редактирования контактов, групп и подписок.
Приятным бонусом является и то, что каждый пользователь может установить аватарку и разбавить яркими красками внешний вид программы. Однако эта опция совершенно добровольная. Кстати, о внешнем виде. Пусть негусто, однако внешний вид самой программы тоже подлежит небольшим изменениям. Интерфейс приложения адаптирован и под мобильные телефоны, и под планшеты. Но самое главное, что сегодня скачать Джаббер можно на ПК, со всеми сохранёнными данными, а это, согласитесь, очень удобно.
Если говорить о самих сообщениях, то здесь мы увидим такие возможности, как отправка гиперссылок, что позволяет прямо в чате делиться интересными видео, например, или же другими материалами с внешних ресурсов. Не забыли и про полную поддержку Unicode, которая позволяет общаться абсолютно на любом языке. Уведомления о сообщениях можно настраивать для каждого контакта индивидуально, а также предусмотрены настройки уведомления по ключевым словам.
Ну а про такие вещи, как настройка шрифтов, смайлов, фона, отображения смены статусов, уведомлениях о наборе текста можно и не говорить. Весь общепринятый и привычный для мессенджеров функционал в полной комплектации присутствует. Ну и для полного счастья поддерживается возможность создания и управления конференциями. Создавать их можно самому для общения с друзьями, либо же вступать в уже созданные. При это они могут быть защищены паролем.
PubSub
PubSub is a protocol extension for generic publish-subscribe functionality, specified in XEP-0060. The protocol enables XMPP entities to create nodes (topics) at a pubsub service and publish information at those nodes; an event notification (with or without payload) is then broadcasted to all entities that have subscribed to the node. Pubsub therefore adheres to the classic Observer design pattern and can serve as the foundation for a wide variety of applications, including news feeds, content syndication, rich presence, geolocation, workflow systems, network management systems, and any other application that requires event notifications. The personal eventing protocol (PEP), specified in XEP-0163, provides a presence-aware profile of PubSub that enables every user’s JabberID to function as a virtual pubsub service for rich presence, microblogging, social networking, and real-time interactions.
Specifications
PubSub is defined in several specifications:
- XEP-0060: Publish-Subscribe
- XEP-0163: Personal Eventing Protocol
- XEP-0248: PubSub Collection Nodes
Payloads
PubSub and PEP are “payload-agnostic” — you can use them as neutral transports for a wide variety of data formats. Some of the more popular payloads are listed below, especially for rich presence related to IM users:
- Activities
- Atom / RSS Notifications
- Avatars
- Chatroom Visits
- Gaming Activities
- Geolocation
- Moods
- Music Tunes
- TV/Video Activities
- Website Visits
Implementations
Servers — the following XMPP servers include built-in support for PubSub or PEP:
- ejabberd
- Jabber XCP
- M-Link
- Openfire
- Tigase
Server Components
Idavoll
Clients
- Gajim
- Movim
- Psi
3.4 Libraries
- strophe (C or JavaScript)
- XMPP4R (Ruby)
Боты
Большой популярностью в 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, примечателен функциями защиты конференций от спама.
[править] «У меня нет Жаббера!»
«Какой такой Жаббер? Нету у меня никакого Жаббера! Вот ещё, регистриться опять где-то…»
Со стороны недостаточно искушённых пользователей иногда можно слышать такое. Однако Анонимус с готовностью докажет 9995‱ из них, что они заблуждаются. Жаббера сейчас в нашей пёстрой жизни, всё равно что говна, и есть он, в общем-то, почти у всех, хотят они того, или нет. В частности, у обладателей учётных записей:
- Яндекса;
- Рамблера;
- QIP;
- ЖЖ;
- Diary.ru;
- частенько — корпоративных, то есть у различного не ведающего об этом планктона, которому неленивый админ организовал Жаббер, но асечку не запретил.
Кроме того, есть специальные, анально огороженные сервера, не говорящие ни со внешним цивилизованным миром, ни друг с другом. Пользы от них, посему, слегка больше, чем нисколько, но для общения с такими же поциентами вполне годятся. А главное годятся, чтобы заткнуть знатоков жизни, у которых «нет Жаббера». Аккаунтами на таких серверах могут похвастаться пользователи:
- — поддержка выпилена в апреле 2015;
- ;
Аккаунты QIP входят в совсем уж джентльменский набор. Так что пусть не отмазываются, что у них, якобы, нету Жаббера. Есть, и, скорее всего, несколько.
А вот у обладателей аккаунта Mail.ru (при условии, что у них нет ничего вышеперечисленного) Жаббера действительно нет.
К слову, многие неискушённые пользователи аналогичным образом утверждают, что у них нет OpenID.
Using Xabber
Adding contacts
On Xabber for Android, to add contact you should press «more» button (three dots in top right corner of interface), then enter XMPP ID of your contact. If you have several XMPP accounts you should also choose what account should be used for adding contact.
On Xabber for Web, press «plus» icon (Looks like + symbol) in toolbar near the left edge of screen, select «Add contact» option. Then, enter XMPP ID of your contact. If you have several XMPP accounts you should also choose what account should be used for adding contact.
If added contact is online and will allow you to communicate with him, you will be able to initiate a chat.
Why there is a constant notification of Xabber logged in?
This constant notification is required for Android OS to prevent unloading Xabber from memory. Since XMPP relies on direct communication between client and server, XMPP client should always be on and be active in memory. Android actively suppresses background apps and shuts them down, so it’s recommended to use push notifications for communicating with an app. However, most XMPP servers don’t support push.
Xabber will obtain push support in the near future, but it will work only with XMPP accounts provided by our company and on servers that will integrate with us. This is due to the fact that developers only can send push notification to their app, and that makes life of independent federated clients much harder.
TLDR, it’s necessary evil to prevent Xabber from stopping and losing your messages.
We could lower priority so persistent notification would not occupy space in your notification bar, but it’ll still be seen when notifications are expanded. As a negative result it would unload more often.
Пример приложения Ruby, работающего через протокол XMPP
Выбор библиотеки XMPP
Интересной характеристикой XMPP является то, что он реализован во множестве библиотек и на самых разнообразных языках. В рассматриваемом случае приложение будет реализовано на Ruby при помощи библиотеки XMPP4R. Ссылки на альтернативные реализации протокола приведены в разделе .
В данной статье программное использование XMPP рассматривается на примере простого клиента IM, выполняющего функции технического словаря. Он получает сообщения IM, содержащие запрашиваемые термины и возвращает их определения.
Это приложение является агентом IM, способного соединяться с другими агентами через протокол XMPP и находить определения указанных терминов. Его исходный код приведен в .
Листинг 1. Пример простого агента XMPP, возвращающего определения терминов из словаря
require 'xmpp4r/client' # Создание очень простого словаря на основе хэш-таблицы hash = {} hash = 'Greatest little object oriented scripting language' hash = 'Simple XMPP library for ruby' hash = 'Extensible Messaging and Presence Protocol' # Подключение к серверу и аутентификация jid = Jabber::JID::new('bot@default.rs/Home') cl = Jabber::Client::new(jid) cl.connect cl.auth('password') # Сигнализация серверу о своем присутствии в сети cl.send Jabber::Presence::new # Отправка приветственного сообщения указанному агенту, # означающего готовность к работе salutation = Jabber::Message::new( 'hal@default.rs', 'DictBot ready' ) salutation.set_type(:chat).set_id('1') cl.send salutation # Установка функции обратного вызова для # обработки запросов от других агентовadd_message_callback do |inmsg| # Поиск слова в словаре resp = hash if resp == nil resp = "don't know about " + inmsg.body end # Отправка ответа outmsg = Jabber::Message::new( inmsg.from, resp ) outmsg.set_type(:chat).set_id('1') cl.send outmsg end # Запуск агента while 1 end
В начале создается простой словарь. Для этой цели используется класс в Ruby, позволяющий хранить данные в виде массива пар типа «ключ-значение» и легко получать нужное значение по указанному ключу. Далее выполняется подключение к серверу при помощи библиотеки XMPP4R. Для этого сначала создается новый JID, а затем — экземпляр класса , представляющий собой клиентское соединение. Непосредственно установка соединения происходит в момент вызова метода , сразу за которым необходимо выполнить аутентификацию, вызвав метод с паролем в качестве параметра. После выполнения этих действий соединение готово к передаче сообщений.
Далее агент передает информацию о своем статусе присутствия серверу IM. Это действие не является обязательным и выполняется путем оправки стансы присутствия. Кроме того, можно также уведомить других агентов IM о своей готовности к обмену информацией. Для этого следует создать стансу с текстом сообщения и указав в ней адрес нужного клиента. После инициализации станса может быть отправлена путем вызова метода у экземпляра класса .
Для обработки входящих сообщений следует воспользоваться методом клиентского соединения. В нем указывается блок кода, который будет вызываться в момент поступления сообщения с целью его обработки (само сообщение находится в переменной типа ). На первом этапе обработки выполняется проверка того, что термин, указанный в теле сообщения, содержится в словаре. Если это не так (словарь возвращает ), то агент отправляет стандартный ответ клиенту. В противном случае формируется новое сообщение, в атрибуте from которого задается источник входящего сообщения (), а в теле — определение термина. После инициализации сообщение пересылается клиенту.
На показан пример общения с данным агентом при помощи популярного клиента pidgin. Это приложение поддерживает все основные IM-протоколы и может использоваться во множестве IM-сетей, в том числе в нескольких сетях одновременно. Окно, показанное на , появляется после подключения к серверу IM и используется для обмена сообщениями с заданным пользователем.
Рисунок 4. Пример обмена сообщениями с агентом IM

Данный агент представляет собой простейший пример клиента XMPP. Библиотека XMPP4R позволяет создавать приложения, обладающие значительно более богатой функциональностью, в частности, способные регистрировать учетные записи, заниматься поиском сервисов, пересылать файлы, обмениваться сообщениями в режиме мульти-чата, публиковать и подписываться на события и даже работать через RPC. В разделе приведена ссылка на документацию по API библиотеки, позволяющую просматривать все файлы, классы и методы библиотеки в удобном виде.
What You Can Do
Although we do what we can to improve the security of the Jabber.org IM service, we alone can’t ensure the privacy and confidentiality of your communications. Here are things you can do to help:
- Run IM software from well-known providers, such as Adium, Gajim, iChat, Jitsi, Pandion, Pidgin, Psi, or Swift.
- Make sure you are running the latest version of your IM software and operating system software, including the most recent security patches.
- Verify that your IM software is configured to require encryption of connections to the jabber.org IM service.
- If possible, use software that supports (either directly or through a plugin) an end-to-end encryption technology such as Off-the-Record Messaging.