Что такое Jabber?

Warlock21

Member
Messages
7
Reaction score
6
Points
3
приветствую, можете как новичку объяснить что такое Джаббер и как его создать, это какой то сайт или приложение, как он вообще выглядит? и еще вопрос, если создам Джаббер в Gajim к примеру, а мой собеседник в другом сайте к примеру XMPP, то сможем ли мы снимать переписывать?
 

Полное руководство по Jabber (XMPP) для начинающих (2026)​

Jabber (XMPP) — децентрализованная система обмена сообщениями: понимание протокола, регистрация аккаунта, выбор клиента, федеративная связь, сквозное шифрование OMEMO и практическое использование для безопасной коммуникации

Executive Summary​

Привет! Вы задали три отличных вопроса, которые показывают, что вы правильно понимаете суть технологии. Jabber (сегодня официально называется XMPP — Extensible Messaging and Presence Protocol) — это не сайт и не одно приложение, а открытый протокол (правила и стандарты) для обмена сообщениями, по аналогии с тем, как email — это протокол для пересылки писем.

Короткие ответы на ваши вопросы:
  1. Что такое Джаббер? Это децентрализованная сеть мгновенного обмена сообщениями, где нет единого владельца, как у Telegram или WhatsApp. Вы сами выбираете, где создать аккаунт (на каком сервере), и с какого приложения (клиента) им пользоваться. XMPP — это "язык", на котором общаются серверы и клиенты, а Jabber — историческое название, которое до сих пор используется как синоним.
  2. Как его создать? Вы не "создаете Джаббер" — вы регистрируете учетную запись на одном из тысяч публичных XMPP-серверов. Затем скачиваете программу-клиент (например, Gajim для Windows, Conversations для Android, Monal для iOS), вводите логин и пароль и начинаете общаться.
  3. Можно ли переписываться между разными клиентами (Gajim и XMPP)? ДА! Это именно то, ради чего создавался протокол. Gajim — это один из клиентов, работающих по протоколу XMPP. Ваш друг тоже использует XMPP-клиент (неважно, какой — Gajim, Psi, Dino, Conversations или Monal), и вы сможете свободно обмениваться сообщениями, так как все они "говорят" на одном языке — языке протокола XMPP.

Это руководство даст полное, детальное объяснение, как устроен Jabber/XMPP, как выбрать сервер и клиент, как зарегистрироваться, настроить сквозное шифрование OMEMO и начать безопасное общение.

Часть 1: Что такое Jabber (XMPP) и как он устроен​

1.1 Определение и история​

Jabber — это первоначальное название протокола, который сейчас официально называется XMPP (Extensible Messaging and Presence Protocol). Он был создан в 1999 году и с тех пор используется как открытый, децентрализованный стандарт для обмена сообщениями в реальном времени.

Экосистема XMPP насчитывает 5+ основных серверов и 20+ клиентов, разрабатываемых разными людьми и организациями. Все они высоко интероперабельны (способны работать вместе) и постоянно выпускают новые функции. Это один из самых зрелых и проверенных протоколов для обмена сообщениями в мире.

Почему XMPP — не просто «еще один мессенджер»: XMPP был спроектирован для работы по модели, аналогичной электронной почте. Как вы можете отправлять письма с Gmail на Yahoo, так и в XMPP вы можете отправлять сообщения с сервера на сервер. Это называется федерацией (federation).

1.2 Ключевые особенности XMPP (почему это отличается от Telegram/WhatsApp)​

ОсобенностьXMPP (Jabber)Telegram/WhatsApp
ЦентрализацияДецентрализован — тысячи независимых серверов по всему мируЦентрализован — все данные хранятся у одной компании
ВладелецНет единого владельца. Вы выбираете сервер, которому доверяетеКорпорация (Telegram Group, Meta)
РегистрацияНа любом сервере из тысяч доступных. Можно даже поднять свой собственный серверТолько у провайдера сервиса
ФедеративностьДа — серверы "дружат" между собой, как почтовые серверы Нет — вы не можете написать пользователю другого мессенджера
КонфиденциальностьЗависит от выбранного сервера и настроек. Поддерживается сквозное шифрование OMEMO Зависит от политики компании
Perfect Forward Secrecy (PFS)Есть в OMEMO — ключи шифрования меняются для каждой сессии Есть (но только в секретных чатах у Telegram)
Требование номера телефонаНе требуется — нужен только JID (username@domain) Требуется номер телефона
Открытый кодДа, все основные реализации открытыНет, только клиенты частично открыты

1.3 Архитектура XMPP: Клиент-Сервер и Сервер-Сервер​

Сеть XMPP состоит из двух основных типов соединений:
Code:
+----------+ S2S (Server-to-Server) +----------+
| Сервер A | <------------------------> | Сервер B |
+----------+                            +----------+
     |                                         |
     | C2S (Client-to-Server)                  | C2S
     |                                         |
+----------+                            +----------+
| Клиент X |                            | Клиент Y |
+----------+                            +----------+

Client-to-Server (C2S): Это соединение между вашим приложением (клиентом) и вашим XMPP-сервером. Оно шифруется с помощью TLS (Transport Layer Security).

Server-to-Server (S2S): Это соединение между разными XMPP-серверами. Именно благодаря S2S работает федерация — вы можете общаться с пользователями с других серверов. Соединения S2S также шифруются с помощью TLS, и серверы аутентифицируют друг друга с помощью цифровых сертификатов.

1.4 Адресация в XMPP: что такое JID​

Ваш адрес в сети XMPP называется JID (Jabber IDentifier). Он имеет такой же формат, как адрес электронной почты: username@domain.

Примеры JID: ivan@xmpp.ru, alex@jabber.de, anna@conversations.im, support@chat.example.com.

Как это работает:
  • username — ваше уникальное имя на сервере (может быть как реальным именем, так и псевдонимом)
  • domain — адрес сервера, на котором вы зарегистрированы

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

1.5 Как происходит федеративная связь (межсерверное общение)​

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

Процесс отправки сообщения на другой сервер:
  1. Вы отправляете сообщение другу с JID friend@jabber.de
  2. Ваш сервер (xmpp.ru) видит, что домен получателя (jabber.de) отличается от его собственного
  3. Ваш сервер ищет в DNS сервер jabber.de, используя специальные записи (SRV-записи для _xmpp-server._tcp.jabber.de)
  4. Найдя сервер, ваш сервер устанавливает с ним защищенное TLS-соединение (Server-to-Server encryption)
  5. Серверы аутентифицируют друг друга с помощью цифровых сертификатов. Современные серверы требуют, чтобы сертификат содержал расширение serverAuth для правильной аутентификации
  6. Сообщение передается от вашего сервера к серверу друга, а затем — от сервера друга к его клиенту

Важно отметить, что все современные XMPP-серверы поддерживают федерацию. Разработчики серверов (ejabberd, Prosody, Openfire) и клиентов (Gajim, Dino, Conversations, Monal) активно сотрудничают, чтобы обеспечить совместимость, даже при реализации новых функций.

Уровни безопасности федерации:
УровеньОписание
Зашифрованная федерация (Encrypted Federation)Серверы используют TLS-шифрование. Это стандарт для современных XMPP-серверов
Доверенная федерация (Trusted Federation)Серверы используют сертификаты, выпущенные доверенными центрами сертификации (CA). Самый высокий уровень безопасности

Часть 2: XMPP-клиенты — как выбрать и где скачать​

Это напрямую отвечает на ваш вопрос: "Gajim, XMPP — это разные вещи?"

Правильное понимание: XMPP — это протокол (язык общения). Gajim, Psi, Conversations — это клиенты (программы, которые "говорят" на этом языке). Точно так же, как HTTP — это протокол, а Chrome и Firefox — это браузеры, которые его используют.

2.1 Популярные XMPP-клиенты по платформам​

ПлатформаРекомендуемые клиентыОсобенности
WindowsGajim, Psi, Psi+Gajim — самый популярный на Windows. Psi+ — форк с дополнительными функциями
LinuxDino, Gajim, Psi, KaidanDino — современный и простой. Gajim — функциональный
AndroidConversations, Quicksy, Monocles ChatConversations — "золотой стандарт". Скачивать лучше с F-Droid
macOSMonal, Beagle IM, PsiMonal — самый популярный на macOS/iOS
iOSMonal, Siskin IM, SnikketMonal активно развивается
БраузерMovim, Converse.jsВеб-клиенты, не требуют установки

Рекомендации для начинающих:
  • Если у вас Android → скачайте Conversations через F-Droid (бесплатно) или из Google Play (платно). Quicksy — более простой вариант, который автоматически создаст аккаунт по номеру телефона, но для серьезного использования лучше Conversations.
  • Если у вас Windows → скачайте Gajim с официального сайта. Это самый функциональный и удобный клиент для Windows.
  • Если у вас iPhone/iPad → скачайте Monal из App Store. Это лучший XMPP-клиент для iOS.
  • Если у вас LinuxDino (простой и современный) или Gajim (более функциональный).

2.2 Что такое Gajim и Psi+ подробнее​

Gajim:
  • Самый популярный XMPP-клиент для Windows
  • Поддерживает современные расширения: OMEMO (сквозное шифрование), HTTP Upload (отправка файлов), и другие
  • Интерфейс настраиваемый, поддерживает плагины
  • Полностью открытое программное обеспечение (GPL)

Psi/Psi+:
  • Psi+ — это модифицированная версия классического Psi от команды Psi+
  • Отличия Psi+: больше настроек интерфейса, поддержка большего количества расширений
  • Кроссплатформенный (Windows, Linux, macOS)
  • Стильный, ориентирован на опытных пользователей

Важно: И Gajim, и Psi+ — это просто разные «телефоны» для звонков по одной и той же сети XMPP. Они отлично совместимы друг с другом. Вы можете использовать Gajim, ваш друг — Psi+, и вы будете видеть друг друга в списке контактов и обмениваться сообщениями.

2.3 Что такое Dino и почему его рекомендуют для Linux​

Dino — современный XMPP-клиент для Linux, который становится все более популярным. Он предлагает:
  • Простой и чистый интерфейс (GTK)
  • Поддержку OMEMO для сквозного шифрования
  • Современные функции: уведомления о наборе текста, подтверждения о прочтении
  • Поддержку файлов через HTTP Upload

Часть 3: Как создать аккаунт (регистрация) в сети XMPP​

Процесс состоит из двух простых шагов: выбор сервера и регистрация через клиент.

3.1 Шаг 1: Выбор сервера​

Аккаунт в XMPP не привязан к одному "центральному" серверу. Вы должны сами выбрать сервер, на котором хотите зарегистрироваться.

Как выбрать сервер:
  • Обратите внимание на местоположение сервера (может влиять на скорость и юрисдикцию)
  • Проверьте, поддерживает ли сервер шифрование (TLS) — это должен делать любой современный сервер
  • Убедитесь, что на сервере разрешена регистрация (некоторые серверы требуют приглашения)
  • Для продвинутых пользователей: проверьте, поддерживает ли сервер OMEMO (сквозное шифрование) — большинство современных серверов поддерживают

3.2 Шаг 2: Создание учетной записи​

Самый простой способ — создать учетную запись прямо из вашего клиента. Большинство современных XMPP-клиентов (Conversations, Gajim, Monal) при первом запуске предложат вам либо войти в существующий аккаунт, либо создать новый.

Процесс через Gajim (Windows):
  1. Установите Gajim
  2. При первом запуске выберите "Создать новый аккаунт"
  3. Введите желаемое имя пользователя
  4. Введите адрес сервера (например, xmpp.ru или jabber.de)
  5. Придумайте надежный пароль
  6. Нажмите "Создать аккаунт"

Процесс через Conversations (Android):
  1. Установите Conversations из F-Droid или Google Play
  2. Нажмите "Register new account on a server"
  3. Введите свой JID (имя пользователя и сервер)
  4. Введите пароль
  5. Готово!

Для самых неопытных пользователей: Quicksy

Самый быстрый способ попробовать XMPP — установить приложение Quicksy (доступно в Play Store и Apple Store). Оно автоматически создаст вам аккаунт по номеру телефона и найдет ваших знакомых, которые тоже используют XMPP. Однако для серьезного использования рекомендуется перейти на полноценный клиент, такой как Conversations.

Часть 4: Федеративная связь — как общаться с пользователями с других серверов​

Ваш второй вопрос: сможете ли вы переписываться, если вы используете Gajim, а ваш собеседник — другой XMPP-клиент (например, Psi+ или Conversations).

Ответ: ДА, конечно! Это и есть главное преимущество XMPP.

Как это работает:
  1. Ваш JID: ivan@xmpp.ru
  2. JID вашего друга: alex@jabber.de
  3. Вы добавляете друга в контакты по его полному JID (alex@jabber.de)
  4. Ваш сервер (xmpp.ru) находит сервер друга (jabber.de) через интернет и устанавливает соединение
  5. Сообщения передаются между серверами, вы их видите в своем клиенте, друг — в своем

При этом неважно, какой клиент использует ваш друг — Gajim, Psi, Conversations, Dino, Monal или любой другой, поддерживающий XMPP. Все они совместимы, потому что все следуют единым стандартам XMPP.

Экосистема XMPP развивается именно так: разработчики разных серверов (ejabberd, Prosody) и разных клиентов (Gajim, Movim) совместно работают над тем, чтобы новые функции (например, отправка файлов, голосовые сообщения) были совместимы между всеми реализациями. Это обеспечивается через стандарты XMPP Standards Foundation (XSF).

Часть 5: Безопасность и шифрование в XMPP​

Для безопасного общения важно понимать разницу между транспортным шифрованием (TLS) и сквозным шифрованием (End-to-End Encryption, E2EE).

5.1 Транспортное шифрование (TLS)​

Это шифрование между вами и вашим сервером, а также между серверами. Оно защищает сообщения от перехвата по пути, но НЕ защищает от администраторов серверов, которые могут читать сообщения.
  • Client-to-Server (C2S): Все современные XMPP-клиенты используют TLS для шифрования соединения с сервером
  • Server-to-Server (S2S): Серверы также шифруют соединения друг с другом с помощью TLS

5.2 Сквозное шифрование (End-to-End Encryption) — OMEMO​

Для того чтобы администраторы серверов не могли читать ваши сообщения, необходимо использовать сквозное шифрование. Современный стандарт для XMPP — OMEMO (XEP-0384).

Что такое OMEMO:
  • OMEMO основан на Double Ratchet — том же протоколе, который используется в Signal и WhatsApp
  • Обеспечивает Perfect Forward Secrecy (PFS) — даже если кто-то получит ваш долговременный ключ, он не сможет расшифровать прошлые сообщения
  • Поддерживает групповые чаты и офлайн-сообщения

Преимущества OMEMO перед другими методами шифрования:
ФункцияOMEMOLegacy OpenPGP (XEP-0027)
Perfect Forward Secrecy✅ Да❌ Нет
Шифрование групповых чатов✅ Да (неанонимные)❌ Нет
Защита от атак повторного воспроизведения✅ Да❌ Нет
Цифровая подпись сообщений✅ Да (на всех устройствах)❌ Нет (только шифрование)

Как включить OMEMO в Gajim:
  1. Установите плагин OMEMO (обычно он уже установлен в последних версиях)
  2. В окне чата с контактом нажмите на значок замка
  3. Выберите "Включить шифрование OMEMO"
  4. Подтвердите отпечатки ключей с собеседником (сравните их по другому каналу, например, по телефону)

Как включить OMEMO в Conversations (Android):
  1. Откройте чат с контактом
  2. Нажмите на три точки (меню) → "Encryption"
  3. Выберите "OMEMO" и включите его
  4. Подтвердите отпечатки ключей

5.3 Сравнение сквозного шифрования в XMPP vs других мессенджеров​

МессенджерСквозное шифрованиеPerfect Forward SecrecyФедеративностьТребование номера телефона
XMPP + OMEMO✅ Да✅ Да✅ Да❌ Нет
Signal✅ Да✅ Да❌ Нет✅ Да
WhatsApp✅ Да (в чатах)✅ Да❌ Нет✅ Да
Telegram❌ Нет (только в "секретных чатах")✅ Да (в секретных чатах)❌ Нет✅ Да

Важное преимущество XMPP: OMEMO доступен во всех современных XMPP-клиентах и предоставляет тот же уровень безопасности, что и Signal, но с полной федеративностью и без привязки к номеру телефона.

Часть 6: Передача файлов в XMPP​

Современные XMPP-клиенты поддерживают передачу файлов через HTTP File Upload (XEP-0363).

Как это работает:
  1. Клиент запрашивает у сервера "слот" для загрузки файла
  2. Сервер генерирует уникальные URL для загрузки (PUT) и скачивания (GET)
  3. Клиент загружает файл по URL напрямую на сервер через HTTPS
  4. Получатель получает ссылку на файл и может его скачать

Преимущества HTTP File Upload:
  • Файл хранится на сервере отправителя (или на выделенном сервере)
  • Получатель может скачать файл даже если отправитель офлайн
  • Работает между разными клиентами и серверами (благодаря стандартизации)

Как отправить файл в Gajim: В окне чата есть кнопка "clip" (скрепка) для отправки любых файлов — изображений, документов и других.

Часть 7: Пошаговое руководство для начинающих​

7.1 С чего начать: минимальный набор действий​

  1. Выберите клиент:
    • Windows → Gajim
    • Android → Conversations
    • iOS → Monal
    • Linux → Dino
  2. Выберите сервер (можно использовать любой публичный, например xmpp.ru или jabber.de)
  3. Создайте учетную запись через клиент
  4. Добавьте друзей по их полным JID (например, friend@jabber.de)
  5. Включите OMEMO для безопасного общения

7.2 Настройка безопасности​

  1. Включите OMEMO шифрование для всех контактов
  2. Проверяйте отпечатки ключей при первом соединении с новым контактом
  3. Используйте только клиенты с поддержкой TLS (все современные клиенты)
  4. Регулярно обновляйте клиент для получения новых функций безопасности

7.3 Часто задаваемые вопросы новичков​

Вопрос: "Могу ли я общаться с пользователями Telegram или WhatsApp из XMPP?"
Ответ: Нет, XMPP не совместим с проприетарными протоколами Telegram и WhatsApp. XMPP — это отдельная федеративная сеть.

Вопрос: "Что делать, если я забыл пароль от аккаунта?"
Ответ: В отличие от централизованных сервисов, XMPP-серверы не имеют единой системы восстановления паролей. Вам нужно обратиться к администратору вашего сервера. Некоторые серверы поддерживают сброс пароля по email.

Вопрос: "Безопасно ли использовать публичные серверы?"
Ответ: Администраторы публичных серверов в теории могут читать ваши сообщения, если вы не используете сквозное шифрование OMEMO. С OMEMO даже администратор не может прочитать содержимое сообщений. Для максимальной конфиденциальности вы можете поднять свой собственный XMPP-сервер.

Вопрос: "Что такое Quicksy и чем он отличается от Conversations?"
Ответ: Quicksy — это упрощенная версия Conversations, которая автоматически создает аккаунт по номеру телефона и ищет ваших контактов. Он проще для начинающих, но Conversations предоставляет больше функций и контроля.

Заключение: Что вы должны понять​

  1. Jabber (XMPP) — это протокол, а не приложение. Это правила и стандарты обмена сообщениями, по аналогии с тем, как HTTP — протокол для веб-сайтов, а SMTP — для электронной почты.
  2. Gajim и Psi+ — это XMPP-клиенты. Разные программы для доступа к одной сети. Они полностью совместимы друг с другом.
  3. Вы можете свободно общаться с пользователями на других серверах и в других клиентах — это называется федерацией и является ключевой особенностью XMPP.
  4. Для безопасного общения используйте сквозное шифрование OMEMO. Это гарантирует, что никто, кроме вас и собеседника, не сможет прочитать сообщения, даже администраторы серверов.
  5. XMPP не требует номера телефона. Ваш идентификатор — это JID (username@domain), что обеспечивает гораздо большую конфиденциальность, чем в WhatsApp или Telegram.
  6. Начать проще всего: скачайте Gajim (Windows), Conversations (Android) или Monal (iOS) и зарегистрируйте аккаунт на любом публичном сервере, например, xmpp.ru или jabber.de.

Экосистема XMPP продолжает активно развиваться. В 2025-2026 годах разработчики серверов и клиентов представили новые функции: улучшенную федерацию, поддержку голосовых сообщений, интеграцию с социальными функциями. XMPP Standards Foundation продолжает работу над новыми расширениями, чтобы сделать протокол еще более удобным и безопасным.

Дополнительная информация:
 
Top