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

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

В закладки: Как погубить децентрализованную сеть

https://habr.com/ru/articles/745240/

В целом, познавательная статья – на случай, если кому-то, далекому от темы jabber’а и компании, надо дать почитать что-то на тему “как все развивалось”.

С той лишь поправкой, что не считаю, что гугл играл какую-то серьезную роль и что-то там погубил. Да, это был крупный сервис; да, было классно, что это тоже jabber и все такое. Но учетка гугла всегда у меня была особняком, с учетом их косяков в работе. Было несколько контактов от gmail в ростере на нормальном сервере поначалу. Но так как учетка gmail все равно присутствовала – проще было собрать все JID’ы с gmail там и пользоваться как “вещью в себе”. Когда гугл похерил и это – я просто избавился от нее и оставил только “нормальные” сервера.

Заметка: запрос данных XMPP TLS-сертификата

starttls c2s$ openssl s_client -connect jabbercity.ru:5222 </dev/null -starttls xmpp | openssl x509 -noout -dates

tls c2s$ openssl s_client -connect jabberworld.info:5223 </dev/null 2>&1

starttls s2s$ openssl s_client -connect jabbercity.ru:5269 </dev/null -starttls xmpp-server

tls s2s$ openssl s_client -connect jabber.name:5270 </dev/null 2>&1

Conversations vs Telegram: потребление батареи

Микро-заметка на тему потребления ресурсов мессенджерами:

При этом в TG – 1 контакт и, пожалуй, на сейчас 1 активный чат. В jabber’e более сотни контактов, новостные ленты и несколько конференций. В пике у TG видел даже потребление порядка 7 процентов.

Примеры кода для 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 на пока нет совсем.