LIMB
Вход Регистрация

тема

XMPP в 2026: настройка Gajim и Profanity с OMEMO

cybergangster · · 6 ответов · 673 просмотров

Автор: cybergangster
Специально для forum.LIMB.cc

Введение

Друзья, как вы знаете у форума есть своя xmpp сервер: LIMB.io. Если все сделать грамотно, то даже администратор сервера не сможет читать ваши переписки, в этой статье я расскажу какой выбрать jabber клиент в 2026 году, как его настроить, как зарегистрироваться на LIMB.io и начать общаться. Попытаюсь объяснить максимально простым языком, чтобы у вас не возникло вопросов.

XMPP федеративный протокол: вы можете поднять свой сервер и общаться с пользователями на любом другом. Но если не использовать E2E шифрование ваши переписки лежат у администратора в открытом виде

Для начала разъясним xmpp это протокол для общения, часто используется в подпольных кругах. Это децентрализованное решение, если не использовать end-to-end шифрование, то ваши переписки будут храниться на сервере администратора. Нам конечно такое не нужно, объясню почему...

в 2023 году xmpp[.]ru был скомпрометирован европейскими правоохранителями, администратор хостил жабу в Германии. Немцы читали диалоги россиян в открытом виде, могли делать абсолютно все что угодно. Большинство собеседников были не подготовлены и не использовали omemo, поэтому спецслужбы спокойно читали диалоги в открытом виде.

Это хороший урок не нужно верить в абузоустойчивые сервера и что ваша информация якобы надежно защищена. Жаба сама по себе мне не нравится, очень много метаданных, следов вы все равно оставляете администратору сервера, можно разузнать кто с кем общался (JID), примерную длину сообщения, с какой ноды вы подключаетесь к серверу.

К сожалению иногда требуется связаться с человеком через жабу, особенно если у него нет других контактов для связи. Мы можем использовать jabber клиент с открытым исходным кодом для linux, предварительно клонировав его с github. Я расскажу как установить и скомпилировать. Не парьтесь ничего сложного тут нет. Просто советую чаще менять JID, использовать тор, omemo (end-to-end) и в таком случае ваша переписка будет только в ваших руках и собеседника.

Но куда лучше конечно использовать qTox. Но статья не об этом. Ладно, я не буду лить воду приступим.

Выбор jabber-клиента
Друзья, выбирайте любой понравшийся жабер клиент с открытым кодом вот некоторые из них:

Не удалось прогрузить медиа

Gajim

Free and fully featured chat app for XMPP
Не удалось прогрузить медиа
gajim.org
Не удалось прогрузить медиа

Dino. Communicating happiness.

A privacy-friendly messaging app for the desktop. It uses the XMPP protocol and provides a clean UI with modern features.
Не удалось прогрузить медиа
dino.im
Не удалось прогрузить медиа

GitHub - profanity-im/profanity: Ncurses based XMPP client

Ncurses based XMPP client. Contribute to profanity-im/profanity development by creating an account on GitHub.
Не удалось прогрузить медиа
github.com

Клиентом которым я не рекомендую пользоваться: https://conversejs.org/ (см. https://t.me/LIMBForum/2278 и https://t.me/LIMBForum/2290)

Также я не рекомендую использовать веб сервер стороннего форума exp****[.]im, это тоже движуха зарубежных спецслужб.

Я лично пользовался pidgin, psi+, gajim, profanity. Для себя лично выделил gajim и profanity ....

gajim кроссплатформенный, без проблем запускается на linux/macos/win. Красивая гуишка, которую можно настроить под себя, вплоть до цветов статуса. Из под коробки есть omemo - это как раз то что нам нужно.
profanity консольный, если вы любите в консоли выполнять команду, а не клацать по гуишке, то в целом его можно использовать. Но у меня возникли проблемы с omemo пришлось качать исходники, зависимости и компилить, а это оказалось не так просто.

Устанавливаем гаджишку (gajim)

Не удалось прогрузить медиа


sudo apt clean
sudo apt update --fix-missing
sudo apt build-dep gajim
git clone https://github.com/gajim/gajim.git
cd gajim
pip3 install --user . --break-system-packages
pip3 install --user nbxmpp --upgrade --force-reinstall --break-system-packages
PYTHONPATH=~/.local/lib/python3.13/site-packages gajim

или flatpak, но учтите что вы скачиваете готовый бинарь хер знает что там может быть. Всегда лучше самому скомпилировать.

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gajim.Gajim
flatpak run org.gajim.Gajim



Не удалось прогрузить медиа


Жмем Sign Up, вводим сервер: LIMB.io жмем продолжить

Не удалось прогрузить медиа


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


Не удалось прогрузить медиа


На замочок кликаем и выбираем "OMEMO". Готово) верифать фингерпринты не придется вручную из под коробки blind. Гуишка максимально юзерфрендли особо пояснять нечего)))

Также есть дополнтельные плагины в настройках, я установил себе менеджер для быстрых ответов, полезно для тех кто введет коммерцию. Заготовки сделал и клацаю, вручную вбивать не над)

Не удалось прогрузить медиа

Устанавливаем консольный jabber client profanity и настраиваем

У меня возникли проблемы с omemo, вот такая ошибочка

Спойлер
zsh: segmentation fault  profanity

Поэтому прикладываю все команды которые вводить в терминале debian (kali linux) чтобы все завелось как надо.

Code:
sudo apt install libglib2.0-dev libssl-dev libnotify-dev libncursesw5-dev \
  libcurl4-openssl-dev libexpat1-dev libsignal-protocol-c-dev \
  libotr5-dev libgpgme-dev autoconf automake libtool \
  libsqlite3-dev autoconf-archive libstrophe-dev libreadline-dev

git clone https://github.com/profanity-im/profanity.git
cd profanity

Code:
./bootstrap.sh
./configure
make
sudo make install
Запускаем profanity

Подключаемся к нашей жабе и генерим OMEMO. В нашем случае LIMB.io регистрация проходит с капчой, у вас уже должна существовать учетка через profanity создать не получится (капча не отобразится) через любой удобный жабер клиент с UI создаем учетку и если надо уже ее задействуем в консольном клиенте, если вы считаете что это более удобный для вас вариант.

/connect [EMAIL][email protected][/EMAIL]
/omemo gen

Доверять своим fingerprint'ам (все что выдаст команда). Фингерпринт очевидно вы копируете и вставляете, он генерирует на основе вашего публичного ключа.

/omemo fingerprint [EMAIL][email protected][/EMAIL]
/omemo trust [EMAIL][email protected][/EMAIL] FINGERPRINT

Начать зашифрованный чат с собеседником

/msg [EMAIL][email protected][/EMAIL]
/omemo start
/omemo fingerprint [EMAIL][email protected][/EMAIL]
/omemo trust [EMAIL][email protected][/EMAIL] FINGERPRINT

Перезапустить OMEMO и писать

/omemo end
/omemo start

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

Прям в терминале profanity введите

/help omemo


Тут все доступные команды для omemo. Я например переставлю trustmode в режиме blind и /omemo policy always (чтобы для всех диалогов без исключения был end-to-end шифр, чтобы не отправить случайно незашифрованные сообщения)

все готово

Code:
/omemo trustmode blind
/omemo policy always
Спойлер
15:07:45 - Current trust mode is manual - setting to blind
15:07:45 - ALL OMEMO fingerprints will be trusted automatically
15:09:28 - OMEMO policy is now set to: always
15:09:48 - Current trust mode is blind - setting to blind
15:09:48 - ALL OMEMO fingerprints will be trusted automatically

Можем еще поднастроить под себя.

Отключим typing... Чтобы у собеседника не отображался индикатор набора сообщения.

/states off

Историю сообщений в консоли отключим

/history off

Тут локально хранятся переписки если с omemo то в зашифрованном виде, но в любом случае с кем вы переписывались в клире поэтому отключим тоже ~/.local/share/profanity/database/*/chatlog.db

Не удалось прогрузить медиа


/logging off

Дополнительно если нужно
/receipts send off — не отправлять собеседнику подтверждение что ты прочитал сообщение. Иначе собеседник видит когда именно ты открыл сообщение.

/receipts request off — не запрашивать подтверждение доставки от собеседника. Меньше метаданных в сети.

/notify message off — отключить системные уведомления с текстом сообщения. Иначе текст сообщения появляется во всплывающем уведомлении рабочего стола — его может увидеть кто угодно рядом или скриншот/запись экрана.

/mam off — отключить Message Archive Management. Это протокол который архивирует сообщения на сервере чтобы ты мог получить историю при переподключении. Если отключить — сервер не хранит копию переписки.

Через /prefs мы можем посмотреть наши настройки. Давайте глянем для чата применились ли настройки...

/connect [email protected]

далее ввел пароль от своей учетки

/msg [email protected]

перешел в диалог с админом отправил сообщение. Поскольку я не использую omemo мои сообщения хранятся в открытом виде как вы можете заметить (на сервере также будет) поэтому используйте omemo (end-to-end)

Чтобы использовать omemo собеседник должен также верифнуть ваш фингерпринт, если его жаба не поддерживает omemo вы не сможете общаться, вернее придется пожертвовать omemo. Такие вот дела) Но все современные jabber клиенты поддерживаю omemo. Если не использовать end-to-end, то ваши сообщения будут отправлять на сервер используя только TLS (информация доступна только вам и серверу, но в открытом виде для сервера).

Ладно, я вам показал что есть такой жаббер клиент как profanity. Настраивайте его под себя, чтобы меньше метаданных хранить у себя локально и на сервере, а также используйте omemo.

Не забывайте использовать exit ноду тор.

sudo systemctl start tor
torsocks curl https://check.torproject.org/api/ip

если все ок подбрубаемся

torsocks profanity

но LIMB.io временно не поддерживает тор, ожидаем когда технический специалист сделает поддержку .onion.

Вывод

Используйте любой удобный jabber client с открытым исходный кодом в связке с omemo (end-to-end enc) чтобы ваша переписка не хранилась на сервере в открытом виде. Также не забывайте подключать tor socks.  Чаще меняйте ники, жабер аккаунты.
👍37 ❤️4 😁8 😮9
Ответcybergangster

Автор: cybergangster Специально для forum.LIMB.cc Введение Друзья, как вы знаете у форума есть своя xmpp сервер: LIMB.io. Если все сделать грамотно, то даже администратор сервера не сможет читать ваши переписки, в этой…

статья полезная, но за совет забить на сверку фингерпринтов в omemo и юзать blind trust - минус, это же прямой путь к MITM атаке со стороны сервера, если админ захочет почитать твои переписки. фингерпринты надо сверять вручную через личку форума или pgp, иначе смысл шифрования теряется. ну и за установку через break-system-packages отдельный привет, так и систему положить можно, лучше venv юзать. а в остальном годно, сам на гажиме сижу
👍5 ❤️1
Monocles Chat sami luschi jabber client za Android/Graphene
👍1
Ответarcadia

Monocles Chat sami luschi jabber client za Android/Graphene

чем он лучше? Что то он не особо популярен ;(((
GrapheneOS это андроид же просто без лишних фич (ии, гугл сервисы в песочнице) ориентирован на конфиденциальность)
👍3
Ответcybergangster

чем он лучше? Что то он не особо популярен ;((( GrapheneOS это андроид же просто без лишних фич (ии, гугл сервисы в песочнице) ориентирован на конфиденциальность)

Luscha optmizicaija chem za conversations, est vozmozhnost pin ili parol na prilozhenie, est i Otr i Omemo shifrovanie
👍5
Ответarcadia

Luscha optmizicaija chem za conversations, est vozmozhnost pin ili parol na prilozhenie, est i Otr i Omemo shifrovanie

OTR/OMEMO на все современный jabber клиентах есть так то
Есть сайт, где можно узнать, какие клиенты jabber совместимы с OMEMO:

Are we OMEMO yet?

Tracking the progress of OMEMO integration in XMPP clients.
omemo.top
👍3

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.