Архив рубрики: instant messaging

XMPP, Jabber и тому подобные сети – все, что с этим связано

Примеры кода для PyXMPP и XMPPpy

Пока писал различные транспорты / сервисы для jabber’а – часто приходилось выискивать примеры кода, чтобы понять, какие блоки для чего использовать, чтобы вырисовать нужный XML. С PyXMPP было проще – под рукой было 2 проекта с неплохим объемом кода, на котором можно было учиться – наверное, поэтому мне больше PyXMPP и полюбился. С XMPPpy было сложнее, но в итоге разобрался.

В данной заметке – куски кода из моих проектов, реализующие ту или иную функцию. Код, в основном, скопирован “как есть” – разве что с удалением часто повторяющихся одинаковых блоков. Основная задача – показать последовательность действий, которая нужна для “рисования” нужного XML’а.

Читать далее Примеры кода для PyXMPP и XMPPpy

“Фичи” Telegram и XMPP

Заметка по мотивам примерно полугода использования Telegram; решил сделать список фич, нетипичных (пока?) для jabber-клиентов, но которые встретил в Telegram.

В большинстве случаев в jabber’e уже есть соответствующее расширение и функция просто пока не реализована в клиентах или серверах – возможно, просто не особо востребована?

Читать далее “Фичи” Telegram и XMPP

Заметка: securing jabber tls и все такое

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

Ну, прежде всего – это развитие прошлой заметки на тему соответствия XMPP-сервера стандартам.

Читать далее Заметка: securing jabber tls и все такое

XMPP – тест сервера на соответствие стандартам

Просто заметка. Одна ссылка уже упоминалась ранее – ссылка на Compliance tester. Второй вроде не было:

Первая на соответствие XMPP-стандартам, вторая универсальная для проверки TLS для различных сервисов.

А Compliance, к сожалению, планируется закрыть 🙁

В заметки: бот на slixmpp

https://habr.com/ru/post/305858/ – пример бота XMPP-Telegram на одной из актуальных на сейчас библиотек под Python3 – slixmpp. Примеры кода и всякое такое. Ссылки на код:

XMPP delayed delivery

Заметка по XEP-0203. Вообще изначально искал возможность отложенной отправки сообщения пользователю, но везде первым делом вылазит это 203-е расширение. Но – нет, это не то, что надо.

Что такое XEP-0203? Это исключительно метка для клиента о том, когда сообщение было реально отправлено. Т.е., при обычном общении пользователь А отправляет сообщение, сервер его пересылает и пользователь Б его получает – плюс-минус в реальном времени. Клиент Б и рисует реальные временные метки для сообщения. Если же клиент Б был оффлайн, а клиент А отправил, например, десяток сообщений (не важно, как быстро), то все они свалятся на Б (в момент выхода онлайн) в один момент и будут иметь одну временную метку – момент получения. Вот 0203 и решает этот вопрос. Если клиенту нельзя доставить сообщение прямо сейчас – сервер вешает на него метку об отложенной доставке. В дальнейшем, клиент Б, получив такое сообщение, рисует у себя в интерфейсе правильное время отправки сообщения.

А вот расширения для отложенной отправки сообщений в jabber’e на пока нет совсем.

Заметка: звонки между Gajim, Dino и мобильными клиентами

https://dev.gajim.org/gajim/gajim/-/issues/10515 – Currently, only audio/video between Gajim and Gajim or Gajim and Dino should work (but is unencrypted). Ну и тикет, на который ссылка и который создан еще около двух лет назад.

Иначе говоря, Conversations (и форки), как и полагается, умеет только шифрованные звонки. Dino умеет и те, и те. Gajim – только нешифрованные. Отсюда невозможность звонить с Gajim’а на Conversations.

С Psi+ все грустно и совместимость с Conversations так и не реализовали.

XMPP-клиент для Fly 4410

На волне поиска возможности использования моего первого смартфона – Fly 4410 – в качестве полезного девайса начал изучать возможность обновления Conversations до последней версии. На смарте сейчас стоит прошивка от Gidgad / Orochi с Android 4.4.3. Последняя версия Conversations с заявленной поддержкой Android 4.4 – 2.9.3. Так и не нашел, есть ли где-то архив с прошлыми версиями. Исходники есть, но даже в F-droid apk’шки только под последнюю версию.

Про F-droid, кстати – пришлось поставить F-droid Classic (так и ищется), ибо тот, что был издавна установлен на телефоне, уже не мог подтянуть репозитории. Classic в версии 1.2 еще мог работать на старом Android’е.

Потом решил попытать счастья с другими jabber-клиентами – в частности, Blabber.im. Там проще – есть страница релизов, где можно напрямую тянуть нужные файлы. Android 4 был удален только в достаточно свежей версии 3.1.0. НО. Как выяснилось, версии перед этой падают после сплеш-скрина и пользоваться ими нельзя. Методом перебора нашел, что последняя рабочая версия – 3.0.3. Сравнив changelog Conversations с Blabber.im на странице релизов выяснил, что 3.0.3 собрал в себе изменения с Conversations 2.9.2 и 2.9.3 – т.е., фактически, и является аналогом того, что я изначально хотел. Похоже, в более поздних версиях Conversations что-то незаметно отломали в поддержке Android 4.4 и это так и было мигрировано в Blabber.

Так или иначе, сейчас имею достаточно свежий клиент с OMEMO и звонками.

XMPP <-> Matrix conferences

[23:14:32] <Twily> Есть два варианта:

1. Попасть в Matrix-рум из XMPP (не в любой, публичный адрес должен быть и свободный вход, вроде так)
2. Попасть в XMPP из Matrix (тоже есть нюансы, нужно быть мембером если стоит капча на вход, т.к. бридж капчу не умеет показывать в сторону Matrix)
[23:16:28] <Twily> Из Matrix в этот чат: #xmpp_psi-dev_conference.jabber.ru:matrix.org
[23:18:01] <Twily> Из XMPP в Matrix: #neovim#matrix.org@matrix.org
[23:18:17] <Twily> #КОМНАТА#МАТРИКС_ИНСТАНС@matrix.org
[23:22:58] <Twily> Или же #xmpp_КОНФЕРЕНЦИЯ_XMPPСЕРВЕР:matrix.org