Pull to refresh

Comments 193

Ну хорошо, есть расширение протокола для передачи файлов. ejabberd его умеет? Старые клиенты с ним будут работать?
Ejabberd очень давно умеет (по дефолту не включено).
Gajim заливать файлы умеет тоже давно, а если у получателя нет поддержки этого XEP — то ему просто http-ссылка придет.
Спасибо. Осталось донести это до наших админов :-)
mod_http_upload, если что. Я его ещё в 2012 припоминаю, когда самый первый ежик себе поднимал, переходя с jabberd.
Так же по-рекомендуйте им поставить последнею версию Ejabberd (18.01 или выше)
Причины падения XMPP

ИМХО основная причина это не возможность найти пользователя если не знаешь на каком сервере он находится.
Чем же это, что «с почтой то же самое», оправдывает существование этой проблемы в 2018 году?
Однажды в сети Jabber пробовали сделать централизованный поиск. Был сайт, который соберал JID и позволял искать по ним людей. Это обернулось нашествием спамеров по этой базе данных. На некоторых Jabber серверах, есть централизованный поиск по всем контактам
И как мессенджером ей никто не пользуется.
Но я привык ещё прости госпади в ICQ или Skype что могу поискать людей по нику, имени или почте.
Это правда то что негативного я помню в то время когда пользовался Jabber'ом наверно где то до 2012 года.
Почтой очень неудобно пользоваться как мессенджером. Мессенджер предполагает мгновенные сообщения. При регистрации на хабре, я ждал письмо 8 часов
Я пользуюсь. Я пользуюсь через XMPP не только XMPP, но и Skype, и Telegram, через транспорты.

Telegram через XMPP? А можно поподробнее?

Обратитесь к поисковой системе для получения подробностей.

Подробностей того что вы имели ввиду? Вы правда считаете что я смогу это нагулить и быть уверенным что именно это вы имели ввиду?

хм. я всегда рассматривал это как положительный момент
Основная причина спама в Вацап, Вибер и прочих Телеграмах — привязка к номеру телефона. Можно это делать тупым перебором. Спасибо что в jabber такого нет и спам там только из-за публичных групп.
В jabber со спамом все плохо, раньше на jabber.ru был открытый форум где светились jid'ы, я так понимаю спамеры от туда базу собрали и понеслась… пришлось запрещающие списки настраивать(благо в xmpp такой функционал есть).
В jabber со спамом все плохо

Уже нет. На топовых серверах стоит антиспам защита
Я спам получаю только через приватные сообщения в конференциях. И это случается ну очень редко.
Просто они никак не могут запилить ограничение на перебор. Руки у них из одного места.
Сама по себе привязка к номеру телефона не так страшна, а местами даже полезна (усложняет процесс регистрации левых аккаунтов).
Например пул мобильных номеров РФ — 1млрд (на самом деле чуть меньше, не суть), если ограничить один аккаунт «пробивом» не более 1000 номеров, скажем, в месяц — тогда 1млрд / 1000 = 1 млн аккаунтов понадобится, для пробива всего пула РФ за месяц. Вот только нет у них там ограничения, — заведите себе в адресную книгу 20 тыщ контактов — он вам всех найдёт (предварительно знатно потупив) за раз. Потом замените на другие 20 тыщ контактов — их он вам тоже найдёт.
Здесь нужно закрывать лишние дыры и иметь возможность отключить поиск по номеру телефона, как сделал тот же вконтакт недавно.
Чем отличается «не знаешь, на каком сервере находится» от современной «не знаешь, в каком мессенджере зарегистрирован», но добавляется ещё «надо установить whatsapp для этого человека, viber для того, telegram для сего»?
Одно проблема фрагментации сервиса, второе проблема фрагментации клиентов по сервисам.
Скажем так зная что у человека есть Skype/ICQ (простите я не знаю что сейчас творится в whatsapp/viber/telegram до уровня не видел даже интерфейс) я мог его найти, зная что у человека есть Jabber я могу только связаться с ним другим методом и спросить его Jabber.
я мог его найти, зная что у человека есть Jabber я могу только связаться с ним другим методом и спросить его Jabber.

Если нужен в xmpp поиск, как whatsapp/viber/telegram, есть клиент Kontalkt. Контакты сами добавляются из адресной книги. Этакий свободный WhatsApp. Можно писать на него с любого сервера, но регистровать аккаунт позволят только на своем.
Лично мне уже давно он не нужен, у меня не осталось тех кто использует Jabber. Но вот это вот сама идея о том что если вам надо X возьмите Y как то не ахти. Используя туже ICQ вроде любой клиент позволял делать поиск.
У меня тут на работе несколько человек пользуются jabber и не знают об этом.
Что именно не знают, что зная ник или почту человека нельзя его найти в Jabber?
Так это так, как минимум надо знать ещё сервер где человек зарегистрирован(и ещё и на сервере должна быть поднята адресная книга чтобы можно было найти хотя бы по почте).
Пользуются XMPP и не знаю что используют XMPP. Это распространенный баян. Админ ставит на работе корпоративный сервер, люди используют его, что именно используют не знают.
Поставили qip ради ICQ и пользуются ею, но оказывается там ещё и jabber есть и они им таки пользуются. Но когда спрашиваешь jid, делают квадратные глаза — пиши в аську. Когда присылаешь им туда сообщение — делают второй раз квадратные глаза — у тебя же нет qip.
Пользуюсь jabber года с 2008-го. У него только две проблемы:
1. клиенты местами кривоваты (что мешает знакомых пересаживать)
2. там мало кто сидит =). когда у «вконтакте» был свой jabber-сервер было хоть удобно общаться не заходя на сайт.

С пересылкой файлов вообще проблему не встречал. Вот с голосом и видео не всегда все хорошо.
У него ещё проблема серверов.
Долго и с удовольствием пользовался, пока все три сервера, на которых у меня были аккаунты не прикрыли.
Проблемы с e2e шифрованием: Если с сообщениями все понятно(GPG/OTR), то передаваемые файлы не шифруются! (HTTP File Upload — это вообще тихий ужас, по сути отправляете свои данные в общественную файл-помойку). Что с видео/аудио вообще боюсь представить, оно само по себе работает только в экспериментальных условиях на одинаковых клиентах.

Ну а в остальном, у XMPP нет единого курса, поэтому все владельцы серверов и клиентописатели ограничиваются кучкой любимых XEP'ов, а другие игнорируют и получается что «безболезненно» мигрировать с клиента на клиент или пообщаться с пользователем с другого сервера не удастся.
И кстати еще… когда в компании выбирали корпоративный im(было это давно и про HTTP File Upload никто не слышал или его тогда не было вовсе) встал вопрос про отправку файлов в конференции и возможность их загрузить любому участнику… Пришлось писать бота, который складировал у себя файлы и выдавал в личку ссылки на последние n с возможностью загрузки… А потом пришла задача: «отображать загруженные картинки в окне конференций», писать свой клиент никто не был готов, а имеющиеся(например psi-plus с соответствующим плангином) лажали с такой простой задачей, плюс пользователи не отценили идею с файл-ботом и игрища с xmpp закончились, купили готовый закрытый продукт, работает до сих пор.
ОМЕМО тоже недавно появился
OMEMO — для меня это что-то совсем новое и неведомое, когда оно появилось в массах я уже на tox ушел, ну и в psi-plus поддержки до сих пор нет(это к вопросу о «безболезненной миграции между клиентами»).
ну и в psi-plus поддержки до сих пор нет

Уже есть, как плагин в последней версии psi+
03/2018 — совсем свежий, но радует что psi+ продолжает развиваться
Позвольте поинтересоваться, где вы его нашли? Я и после ваших предыдущих комментов пытался его найти, но всё что нашёл — открытый по сей день тикет на гитхабе: github.com/psi-plus/main/issues/673

А в тикете про Psi пишут, что плагин из Psi не работает в Psi+ (врут?)
Ага, в таком случае, видимо, конечному пользователю всё-таки правильнее будет считать, что OMEMO в Psi+ ещё нет)
UFO just landed and posted this here
Собрал 1.3.355 из исходников буквально час назад — плагина нет. Видимо, какой-то dev всё-таки надо включать
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
С пси незнаком, но на других клиентах это взаимодействие работает. Попробуйте на двух устройствах включить одновременно омемо и написать с обоих по очереди. Плагин на PSI еще сыроват
UFO just landed and posted this here
UFO just landed and posted this here
то передаваемые файлы не шифруются!

Файлы шифруются. Используйте ОМЕМО и сервер с http upload. Со всеми клиентами не знаком, но Gajim и Conversations шифрует файлы. В OTR, стандартом не предусмотрено шифрование файлов
и получается что «безболезненно» мигрировать

В настройках Gajim «объеденить два аккаунта ». Jabber IDы скопируются из одного аккаунта в другой.
В Conversations сохраняйте JabberID в адресной книге Андроида, а не в самом клиенте. Есть импорт из адресной книги.
Нет, я не про миграцию с сервера на сервер, а про миграцию с одного клиента на другой.
Вы можете описать преимущества клиента используемого вами. Если человеку понравятся преимущества — он перейдет. Если он не хочет, пусть сидит на что ему нравится, это его дело.
Файлы можно пересылать с новых клиентов на любой другой, текст тоже.
Проблема совместимости клиентов, во многом, надуманная. Это просто каждый пользуется, тем что ему нравится. Свобода выбора
Ненене, я почти 10 лет был xmpp-Евангелистам и объяснял всем вокруг как в XMPP хорошо, а если что-то не работает так это вы настроили неправильно, больше не хочу. Помню как уговаривал человека перейти с qip на psi+ т.к. в первом нет поддержки otr/gpg(ну точнее плагины отрыть можно на форуме, но на практике они не работают).

Если под «передавать файлы» имеется в виду http-upluad, то простите но нет, лично меня такой вариант напрягает т.к. это загрузка на сторонний ресурс, а не прямая передача.

И проблема совместимости клиентов не надуманная, если уйти чуть дальше чем передача текста, например аудио/видео, раньше даже таблички составляли: между какими клиентами удалось установить связь. если сейчас это довели до ума(за развитием xmpp не слежу около года), то буду приятно удивлен.
загрузка на сторонний ресурс, а не прямая передача.

Попробуйте ОМЕМО, тогда это вас перестанет тревожить. Вы приводе в пример Матрикс, однако там вовсе не отключаемая история сообщений. В ХМПП хранить историю или нет — личный выбор
Средствами im я сейчас общаюсь с одним человеком и нам хватает tox, но учту что XMPP уже не так плох каким был 2 года назад.

Ну и насчет matrix, его не одобряю, просто многие его считают идейным продолжателем xmpp.
Напрасно считают. Я не люблю матрикс, потому что разработчики могли создать хороший Jabber клиент, дописать хеп видеозвонков и это был бы отличный продукт, но они пошли по другому пути. Они делают уже 5 лет то, что бы смогли (с теми большими деньгами, которые они получили от инвесторов), сделать на XMPP за месяц
Теперь в реальности мы имеем один сервер и один клиент Матрицы и сказки про децентрализацию.
Под macOS, в качестве XMPP клиента, можно пользовать Сообщения (Messages). Из сторонних – Adium.
Вроде бы работает.
скриншот
image
Странно, после апдейта появилось снова и прошло незамеченным, только недавно пришлось отказаться из-за него на работе в пользу Телеграма.

Ну, тут можно просто повторить то, что я вам уже писал.


MUC — срисованное с IRC убожество, что вроде как признают даже сами авторы (где-то был XEP об этом).

обычным пользователям насрать, они не слышали и не желают слышать ни о каких SM, MAM, OMEMO и прочих непотребствах — они просто хотят брать и чатиться. Поэтому они берут WhatsApp, Viber и Telegram.

Conversations не понимает XHTML-IM, полученный от другого «любого мессенджера». Сообщения без MAM теряются на плохом интернете. Мессенджеры без поддержки шифрования не могут прочитать сообщения с шифрованием. Серверы, требующие шифрование, не позволяют передавать сообщения мессенджерам, не умеющим в шифрование.

Ещё я тогда не вспоминал, что XMPP — это лютый франкенштейн, в котором новые идеи кое-как с костылями и глюками построены поверх старых — это одна из причин, по которым подключение может длиться целых полминуты: если заглянуть в XML-консоль, то можно увидеть, что куча времени тратится на включение современных фич, которые вообще-то должны быть по умолчанию. А современные клиенты типа Conversations пытаются прятать устаревшие сущности типа ресурсов с приоритетами, хотя по факту они конечно же никуда не деваются.


XMPP стал слишком тяжёлым. XMPP устарел. XMPP умрёт под весом обратной совместимости, если не появится XMPP 2.0.

это одна из причин, по которым подключение может длиться целых полминуты

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

Что и требовалось доказать. У Telegram подключение занимает пару секунд (максимум даже с проксей, а обычно полсекунды) на не самом хорошем 3G-интернете.

До jabberon.ru в hetzner тоже всего ~36мс пинг на компьютере. Если считать пинг на 3G в 100-200 миллисекунд, то больше напоминает погрешность и не является оправданием джабберу. К тому же на нём ещё и некоторых фич нету, что теоретически должно немного экономить время на подключении, но стабильные 25-30 секунд всё равно набегают.

Вы когда-нибудь заглядывали в XML-консоль, наблюдая за процессом подключения? Если заглядывали, то неужели не задумывались, что в нормальном протоколе можно было бы ужать процесс подключения раза в три, к примеру объединив некоторые XML-строфы? О телеграмовских полсекунды я даже мечтать не буду (расширяемость протокола всё-таки имеет свою цену, не стоит требовать невозможного), но и в текущем виде XMPP тоже никуда не годится.
jabberon.ru есть проблемы с конфигурацией сервера или с железом. Я проверял его когда мы обсуждали это раньше. Тут проблема не с XMPP, а самим сервером. Я думаю, Вам лучше сменить сервер
Справедливости ради выпишу и здесь, что вчера оказалось, что время подключения к 404.city у меня укладывается в пять секунд, значит тормоза не из-за XML-строф. А из-за чего, я пока не понял
На скорость подключения оказывает влияние:
  1. Физическая удаленность расположения сервера.Чем дальше тем медленней
  2. Присутвие ХЕП версия списков или нет. Если есть, то передаются хеши состояния. Если нет, то данные загружается заново

Что бы появился XMPP 2.0 достаточно обновить версии конфигов по-умолчанию Ejabberd и все новые сервера будут идти сразу со всеми новыми фичами, но увы, этим некому занятся
Есть уже matrix которые некоторые называют XMPP2.0, там тот-же ад только на web-технологиях
У matrix есть проблемы. Часть из них:
  1. С отказоусточивостью. Частные сервера плохо держать нагрузки. Была выбрана не удачная технология
  2. С расширямостью. Добавление изменений одобряют из одного центра. Это значит матрикс никогда не сможет претендовать на универсальный протокол.
  3. С децентрализованностью. Матрикс рекламируется как децентрализованная технология, но большинство людей на одном сервере и одном клиенте.

Этим летом в Conversations начали делать звонки, если у них получится это будет сильный дар по матрице
Звонки и раньше делали, я звонил через jitsi и psi+, проблема именно со звонками между разными клиентами. Ну и что там с шифрованием звонков придумали.
У них не получилось сделать полноценные звонки. Может быть время было другое.
Я говорил с автором и разработчиков Gajim, он сказал раньше он долго старался сделать звонки, когда он сделал, оказалось они никому не нужны
подключение может длиться целых полминуты
Нужно увеличить лимиты c2s_shaper на сервере.
Проблемы для бизнеса следующие:
1. Кривые клиенты. Под Android до недавнего времени их можно сказать не было, под iOS не знаю.
2. Отсутствуют привычные уже удобства современных мессенджеров, типа вставить картинку, гифку, видосик, ссылку, чтобы автоматом превьюхой развернулась, вот это все.
3. Все очень плохо с API. Ну т.е. понятно что можно использовать jabber-клиент и из него что-то делать, но чтоб модные нынче вебхуки — увы.

Итого, початиться текстом можно, на работе все довольно быстро забили, хотим Slack или что-то подобное.

Попробуйте Matrix.org — полноценная опенсоурс замена Slack

Кривые клиенты. Под Android до недавнего времени их можно сказать не было, под iOS не знаю.

Чем плох Conversations? Да, он относительно недавно появился.
Тем и плох, что недавно появился. Были только всякие im+, xabber и т.п. Половина как только что скопированы с Nokia S60
Jabber почти никак не развивался до 2014 года, потом произошел всплеск к теме приватности и сейчас появилось много нового. Особенно много крутых вещей появилось в 2017 году.
Среди европейцев настолько сильно усилился интерес к XMPP, что даже один из самых лучших и крупных серверов — Jabber.at закрыл регистрацию. Количество на нем пользователей за 1 месяц увеличилось в три раза
Заголовок спойлера


Чтобы он стал популярен среди простых пользователей нужны клиенты уровня WhatsApp, Telegram и т.п. Чтобы он стал популярен среди бизнеса, ему нужны веб-API, веб-хуки и вот это все, ради чего люди юзают Slack и клоны.
Нет поиска по тексту. Список участников конференции далеко засунули (впрочем, как у всех) и снова без поиска.
У нас в международной мегокорпорации используется Pidgin
Все gmail адреса поддерживают XMPP — это о поддержке со стороны крупных компаний.

Выпилили они работу жаббера помнится, мол "малый процент пользователей это использует", и вообще вон есть толком не нужный хенгаутс в котором как и в Г+ у меня сидит аж полтора человека.

Да нет, работает по XMPP. Домен — gmail.com. Имя пользователя\пароль — как для доступа в ящик. Сообщения ходят в\из хенгаутса.
но отправить/получить сообщения от других серверов не получится уже.
У тех, кто регался во времена GTalk — работает, а у учёток созданных при Hangouts не работает вообще, емнип.
tl;dr — чаты убоогие, клиентов нормальных так и не появилось.

conversations крутой, но убожественно хиганутый

проблемы с надежной доставкой сообщений (привет, 2018 год)

всякие крутые XEP'ы вроде как и есть, но толку, если большинство можно использовать только между двумя конверсейшонсами?
проблемы с надежной доставкой сообщений (привет, 2018 год)

В статье описано, как раз что их уже нет и как это решено, через какие технологии
В статье описано, как раз что их уже нет и как это решено, через какие технологии


Так я об этом и сказал, что стандарты есть, но они где-то во влажных фантазиях витают. MAM умеет полтора клиента, из которых один мобильный. И при наличии Stream Management сообщения все равно умудряются улетать в бездну (в интересных пограничных ситуациях, например, когда клиент переподключается и уходит не на тот ресурс) и не переотправляются.

Последним гвоздем в гроб джаббера для меня стал этот самый Conversations. Являясь единственным умеющим почти все клиентом он настолько убог и не умеет нормально в пуши (а без пушей выжирает батарейку), что пришлось его удалить. Да и в целом разработчики ведут себя так, будто бы других клиентов совсем нет (хотя так оно и есть по сути дела).
выжирает батарейку

Я хотел вам отослать статистику потребления Conversations, что он мало расходует батареи. Я не смог сделать скриншот. У меня не показывает приложения с расходом батареи меньше 1% в день
Идея объединения всех сайтов с помощью слабо совместимых наборов реализаций разных XEP-ов, это ну такое прямо.
Минимальный функционал — да, как только шаг вправо/влево уже все.
Любимый клиент на андроид не завезли, тот что на андроиде не умеет в фичу которую умеет клиент у коллеги, и пошло поехало дальше в таком же стиле.
Федерации с другими (произвольными) серверами — уже практически нереализуемая в общем виде задача, там даже русские кодировки несовместимыми быть умудряются.

Пока не будет _строгих_ стандартов на все и вся — не взлетит.
Да и врядли когда-то это будет, как показывает практика, увы.
Идея объединения всех сайтов с помощью слабо совместимых наборов реализаций разных XEP-ов, это ну такое прямо.

Весь интернет состоит из " совместимых наборов реализаций". В XMPP хотяли создать такое же «интернет для мессенджеров». Один разработчикам нравится одна технология, другая другим. Невозможно совместить не совместимое
Должны быть приняты стандарты или очень качественные открытые протоколы и Тогда они станут стандартами. В этом направлении пытается что-то сделать Matrix.org

Ссылка на jc у вас https://, а должна быть http://. Иначе не работает.
И лично меня огорчает отсутствие упоминания jabber.ru, кроме как в jc.

Ссылку с https исправил на http. Скоро произойдет обновления Ejabberd до новой версии?
Раз уж Movim упомянут:
Когда начинаешь пытаться его использовать — понимаешь, что он представляет из себя довольно печальное зрелище.
Социальная сеть поверх XMPP — довольно шаткая и ограниченная конструкция. Вероятность того, что какой-то из популярных клиентов полезет в те же дебри — нулевая. А без этого XMPP скорее тянет проект ко дну, чем помогает.
Все упирается в финасирование. Movim пишет 1 человек. Как полноценную социальную сеть это сложно рассматривать, скорей как пример веб-клиента, что возможно сделать на XMPP
Movim — веб-клиент и заодно социальная сеть на основе XMPP

В итоге слабый клиент и слабая социальная сеть.
Понаблюдав немного за кухней, я пришёл к выводу, что там проблемы двух видов:
1. не хватает рук или скиллов у одного человека;
2. сложности со спецификациями.

Идеальный мир: определяемся с набором фич, смотрим как их наиболее логично совместить и с наименьшими усилиями реализовать.
Реальность: попытка натянуть сову на глобус, в условиях когда есть куча пересекающихся но неполных и местами взаимоисключающих спецификаций, не имеющих эталонной реализации. Попытка собрать разрозненные концепты в единое целое напоминает монстра Франкенштейна, абстракции ломаются в неожиданных местах, и невозможно достичь логичного, казалось бы, поведения.

Как отметил сам разработчик, было бы неплохо, если бы на его работу обратили внимание те, кто пишут XEPы (теорию к реальности подтянуть). Однако я не уверен, что даже он сам знает, как развивать проект.
Попытка собрать разрозненные концепты в единое целое напоминает монстра Франкенштейна, абстракции ломаются в неожиданных местах и невозможно достичь логичного, казалось бы, поведения.

Никто не заставляет собирать, то что считаете не нужным. Всегда можно дописать новое, а не использовать то что ненравится. Такая философия XMPP, жалко что не все об этом знают
Никто не заставляет собирать, то что считаете не нужным.

Это смешно в условиях, когда даже на нужное времени не хватает. Однако разные привычные и нужные фичи вдруг плохо ведут себя в новых условиях.

Всегда можно дописать новое, а не использовать то что ненравится.

Это упирается в поддержку клиентов и серверов.
Какой прок от расширений, которые никто не поддерживает?
Если забить на весь остальной мир, то проще делать свою реализацию без XMPP.
Если пытаться тянуть остальной мир за собой, то нужно вкладываться в работу над XEP, а потом ещё и реализовывать его самостоятельно в клиентах и серверах. XEP сам себя не реализует, поскольку у базара нет единой движущей силы.

(ЗЫ: кажется, на странице Design by committee не хватает ссылки на XMPP.)
Какой прок от расширений, которые никто не поддерживает?

Главное что бы Ваш сервер и мессенджер поддерживал. Conversatis на этом делает бизнес, продавая платную подписку на сервер и клиент. Покупают.
XMPP это не один мессенджер. Это как WhatsApp и Telegram способные обмениваться с друг другом сообщениями. Таким задумывался Jabber
>Социальная сеть поверх XMPP — довольно шаткая и ограниченная конструкция.
juik, point, bnw вполне доказали свою живучисть
Нужно различать «сеть поверх XMPP» и «сеть с интерфейсом через бота».
Все перечисленные относятся ко второму типу.
Интерфейс через бота, в целом, имеет право на существование. Однако есть несколько моментов:

1. XMPP здесь на равных правах или меньше (но не больше) с другими сетями обмена сообщений в плане технических возможностей для бота. Везде, где можно передавать plain text — можно устроить ботов с командами. Однако можно видеть, что другие мессенджеры могут предоставлять больше возможностей для ботов.
Хотите кнопки в интерфейсе, которые будут работать в любом клиенте? — это не про XMPP.
Есть XEP для кнопок? — см. про «XEP сам себя не реализует».
Честный счётчик непрочитанных сообщений? Лайки/реакции? — пишите свой клиент.

2. Популярность. Мало кто продолжает использовать XMPP ради одного лишь Juick'а. Диверсификация с добавлением бота в Телеграм была воспринята весьма позитивно. В целом, Juick, Point и BnW вместе взятые сейчас генерируют заметно меньше контента, чем один лишь Juick в момент своего рассвета. И существуют разве что по инерции, за счёт ранее набранной аудитории.

(На самом деле, технически, до недавнего времени Juick можно было назвать «сетью поверх XMPP». Однако это создавало только проблемы. Хотя я не во всём поддерживаю вектор развития Juick'а сейчас, вынос XMPP из архитектуры и оставление только в качестве интерфейса — это однозначно улучшение.)
У клиентов джаббера есть одно большое ограничение, которое не получается обойти, а именно отсутствие push-уведомлений, из-за чего сообщения часто просто не могут быть получены — получатель о них не узнает, пока не включит ушедшее в сон приложение на смартфоне. Ради работы с ним пришлось заворачивать сообщения с джаббера в телеграм через бота, иначе пользоваться на телефоне им совершенно непрактично…
В платной версии Conversations есть Push уведомления. Получить бесплатно, платную версию возможно иногда по праздникам. При запуске Conversations задается вопрос, использовать параметры энергосбережения или нет. Выберете не использовать. В этом случае приложение меньше будет уходить в сон. Я лично проблем с доставкой уведомлений, на бесплатной версии не испытываю. Относительно других ОС, кроме Андроид, ничего сказать не могу
А тут все упирается в архитектуру самого джаббера — сам сервер не умеет посылать пуши в отсутствие коннекта, значит вы должны передать свои пароли от аккаунта в открытом виде на сторонний сервис, который будет поддерживать коннект и в случае чего пришлет пуш, а потом дошлет и сообщение. Это не всем подходит. У нас в компании и джаббер то живет до сих пор только потому, что мы под себя развернули свой сервер с шифрованием и точно знаем, что переписка не уходит на сторону. Да и под iOS я так и не нашел клиентов с пушем, пришлось выкручиваться через телеграм.
Наша компания тоже долго мучалась с Jabber, потом всё же нашли Matrix.org и пересели на него уже года 2 как, рекомендую и вам глянуть. Несмотря на несовсем оптимальную реализацию протокола, чаты и шифрование там работают на отлично, мобильные приложения есть под все девайсы. Также есть все новомодные фишки — видеозвонки, конференции, стикеры и т.п.
сам сервер не умеет посылать пуши в отсутствие коннекта

В ХМПП используют mod push ejabberd
свои пароли от аккаунта в открытом виде на сторонний сервис

В ХМПП используют RSA + SCRAM. Пароли не могут быть перехвачены и хранятся как хеши

Вот только это уведомления, а не push-уведомления

Это именно push уведомления. Когда приходит сообщение сервер делает push запрос с клиенту и передает сообщение
Пуши так-то делаются не клиенту а серверам google/Apple а они в свою очередь оповещают клиента
Да, именно так. Бесплатно получить платный Conversations с пушами можно по праздникам. В последний раз раздавался 1 мая и 1 января. В бесплатном нет пушей, но без них тоже все хорошо работает.
А ещё нужен сервер с поддержкой пушей, поддержки со стороны клиента недостаточно, потому что клиент только принимает пуши, а отправляет их сервер через сервисы вендора платформы.

При этом, владение учёткой на сервере conversations.im, который умеет пуши, требует отдельной оплаты (покупки клиента недостаточно). А если пользователь захочет поднять свой собственный сервер с поддержкой пушей, то, если мне не изменяет память, столкнётся с тем, что на бесплатном тарифном плане у Google и Apple есть ограничения.

Не слышал о подобном, решил поискать.


Cкорее всего имелся в виду XEP-0357: Push Notifications. Conversations работает через него


Но опять же — нужна поддержка со стороны XMPP-сервера, чтобы он мог отправить запрос на Apple Push Notifications Service или аналогичный сервис от гугла.

Да, и насколько я понимаю, финансовая нагрузка ложится на владельца сервера.

Именно поэтому, Conversations при запуске открытым текстом предлагает «если вы хотите пуши, то заводите учётку на нашем сервере, но это вам будет стоит денег». И это помимо того, что сам клиент тоже нужно купить.
Протокол не устаревший. Устаревшие (или, скорее, несовременные) клиенты. Да что устаревшие (я про десктоп), просто некрасивые, неудобные, а порой (скажу откровенно) и убогие. Многие либо заброшены, либо развиваются программистами для (наверное) программистов, еще что-то просто откровенно тяжелы.
И, самое гадкое, никогда не знаешь, что точно будет работать. Даже файл другому клиенту кинуть — может получится, может нет, сильно от прямоты рук админов зависит.

Тот же Телеграмм на голову, а то и на две выше. Был бы такой удобный XMPP клиент (инфраструктура) — никто бы не слезал с него.
Вот если б Телеграм на десктопе был бы с мордой и возможностями gajim'а — цены б ему не было.
Напомню, что существует конференция Хабра: habrahabr@conference.jabber.ru
В нескольких комментариях упомянута несовместимость из-за реализаций только любимых расширений авторов; как раз чтобы получить небольшой набор важных и общих расширений, есть XMPP Compliance Suites (см. XEP-0387).

Но в то же время не все популярные клиенты поддерживают их, и не все популярные серверы поддерживают их по умолчанию. С библиотеками тоже не всё хорошо, в большинстве случаев клиенты и серверы реализуют XMPP с расширениями заново.
Долгое время одной из прекрасных особенностей всех Jabber серверов было хранение пароля пользователя в совершенно открытом виде. И, естественно, это все не афишировалось, но требовалось механизму аутентификации. Были даже статьи, где рассуждалось о том, почему хранение пароля в открытом виде на сервере — это для безопасности.
Store passwords in plaintext in the database for security

На практике же в протоколе не хватало множества важных фич, которые каждый сервис сам изобретал и поддерживал в своих клиентах:
— Обмен файлами
— Аудио-Видео вызовы
— Хранение истории на сервере и отображение нескольких последних сообщений при открытии чата.
— Синхронизация переписки между разными клиентами.
— Отсутствие подтверждения от клиента серверу, что он получил сообщение.
— Отсутствие уведомлений о доставке сообщения получателю.
— Ужаснейший монстр под названием http-bind для имплементации браузерных клиентов.
— Отсутствие возможности по редактированию/удалению отправленных сообщений

Сам XMPP лег в основу множества мессенджеров, вероятно, благодаря его расширяемости. И к некоторым таким сервисам иногда можно присоединиться Jabber клиентами. Но обычно это вызывает эмоции схожие с теми, когда заходишь в IRC через консольный telnet. Попросту говоря — это совершенно неудобно.
Долгое время одной из прекрасных особенностей всех Jabber серверов было хранение пароля пользователя в совершенно открытом виде.

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

Уже хранятся как соленые хеши
— Обмен файлами

Уже есть в XMPP
— Хранение истории на сервере и отображение нескольких последних сообщений при открытии чата.

Уже есть в XMPP
— Синхронизация переписки между разными клиентами.

Уже есть в XMPP
— Отсутствие подтверждения от клиента серверу, что он получил сообщение.

Уже есть в XMPP
— Отсутствие уведомлений о доставке сообщения получателю.

Уже есть в XMPP
— Ужаснейший монстр под названием http-bind для имплементации браузерных клиентов.

Есть Websocket
— Отсутствие возможности по редактированию/удалению отправленных сообщений

Уже есть в XMPP. Редактирование ошибок в последнем сообщении, есть даже в Conversations. Отредактированное сообщение, помечается значком
Что-то ничего не сказано про голосовые/видео звонки, всё ещё не работает в клиентах?
Есть аудиосообщения. Это когда голос записываться, а потом отсылается вместо текста. Звонки в Conversations начнут делать этим летом, получится это у них или нет узнаем позже. Еще звонки и видеозвонки есть в movim, но это работает только в браузере
В meet.jit.si XMPP используют для сигналинга
Ну вопрос-то не в этом, в джаббер клиентах видео и голос обещали ещё тогда, в 2000-х и продолжают обещать сейчас.
Принципиальная проблема джаббера это привязка имени пользователя к доменному имени сервера:
1. владение доменом вообще не очень надёжная вещь — угонят, отсудят и т.п.
2. роскомнадзор не дремлет — можно сохранив домен получить проблемы
3. если домен не свой, то владельцы домена могут сломать тебе адрес
Ничего не скажу про протокол, но адресация мне больше нравиться в Tox'е
1. владение доменом вообще не очень надёжная вещь — угонят, отсудят и т.п.

Есть XMPP сервера в .onion Такой сервер может поднять любой на своем ПК. Такой домен можно отобрать только с компьютером.
Такое ручное конфигурирование имеет смысл в крайних случаях, в которых может хватить Tox'а
Очень часто идут споры из push и 1 соединения в XMPP, а ТОХ плодит их немереное количество. p2p архитектура, не самое удачное решение для мобильных. Обработка маршрутизации чрезмерно потребляет дорогой и медленный интернет, память, батарею, ресурсы процессора.
В XMPP эти данные обрабатывает сервер и передает готовый результат.
Контакты могут хранится локально, сменить сервер в XMPP дело пары минут.
В реальности аккаунты ТОХ теряют не менее часто (Из-за поломки устройства, синего экрана смерти и т.д), чем в ХМПП возникают описанные сложности с крупными серверами

Сменить сервер, может, и пару минут, а вот переписать JID в контактах десятков сайтов, убедить собеседников что ты это ты, возвращать мемберку во всех конфах, особенно закрытых, перенастроить всех связанных ботов — та ещё возня. Хорошо что j2j-транспорты существуют, немного облегчают это всё, но лишь немного (поэтому я буду на jabberon.ru до последнего :)
Попробуй Gajim объеденить контакты или если это Conversations сохраняй всегда новые в адресную книгу. Некоторые люди контакты десятками таскают с сервера на сервер, каждые пару месяцев. Надоел один домен, пошли на другой. Миграция не обязательно должна быть быстрой, можно два аккаунта одновренно держать включенными, потока все не перейдут.
Каким образом Gajim вернёт мемберки в конференциях? Давайте не читать мои комменты не целиком :)
Имена в конференция не вернет, они жестко привязанны к JID в целях безопасности. Если имя не освободить, надо другое имя написать.
Что и требовалось доказать.)
Зачем ты вообще сидишь в XMPP, если тебе все не нравится? Пользуйся телеграмом. У тебя подозрительная позиция:
Все в ХМPP ужасно и отвратительно. В Телеграм все хорошо, но я сижу в XMPP и говорю всем что он ужасен

Ты занимаешься провокациями. Находишь маловажную мелочь и докапываешься до нее, разводя дискуссии на 100 коментов.

Я и пользуюсь. Но нужно же на вашу пропаганду что-то возражать, чтоб читателям не казалось, что XMPP якобы весь такой идеальный и без проблем

В том же телеграме дохрена проблем. Что бы сравнению было объективным надо сравнивать со всеми мессенджерами и во всем, а не докапыватся к отдельным деталям.
Весь мир не идеальный. Из-за таких как ты люди думают, что ХМПП хуже чем он есть. У телеграма и других мессенджеров много денег купить рекламу и комментаторов.
Напиши здесь, что нибудь про телеграм, тебя сольют в этот же же день. Свободное ПО загнивает и остается никому не известным.

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

Лучше он только открытостью и децентрализованностью

Поэтому к нему и надо присмотрется. Остальные проблемы не такие страшные, чтобы сейчас уже не использовать XMPP. Проблемы решатся сами собой, если о ХМPP узнает больше людей и придут инвестиции

Внезапные новости из будущего: спустя ровно год после этого комментария jabberon.ru переехал к админу 404.city

Я согласен, но повторюсь — никто не будет заниматься такими самоделками, просто возьмут Tox потому что проще т.е. такое решение на джаббере имеет право на жизнь, но будет жить только если кто-то сделает готовый продукт, а не инструкцию для хакеров.
И что все джаббер сервера умеют слать в .onion?
Как я понимаю это же требует специальной настройки.
Может ситуация с Телеграмом подтолкнет владельцев мессенджеров освоить совместимый протокол. РКН адреса email еще не запрещает?
Принципиальная проблема Jabber — переусложненность. Из-за обилия клиентов, различий на уровне протоколов и особенностей поведения XEP-ов, нет простого и понятного решения, которое позволит к себе народ перетянуть.
Как это уже было с WhatsApp, Viber и сейчас происходит в Telegram.
Достаточно дать ссылку на сайт, откуда качается клиент, и все работает в полном объеме. И на передачу файлов и звонки реально можно положиться.
Отсюда следует, что Jabber-у нужна централизация и жесткий стандарт. И качественные клиенты на каждой ОС. Но этого не будет, потому что никому не нужно.
Я поступаю аналогично c XMPP. Сразу даю ссылку сразу на клиент и сервер. Если просто говоришь поставь Jabber, ставят что попало
Просто поставь это поставь Jabber, это словно просто зайди в Google Play и поставь от туда любой мессенджер. Jabber это не один мессенджер и поэтому всегда нужно уточнять какой именно Jabber поставить.
Я вот давненько читаю споры на эту тему. А альтернатива то какая? Дано: компания с Н сотрудников (ок раз н мало пусть будет М). Нужен месенджер на своем сервере с шареным контакт-листом. На этом требовании уже и все, приехали.

Я для себя решил проблему как openfire + pidgin (+window merge). И туда до кучи всяких ботиков, можно ад втолкать. Единственное что из хотелок нету: хочу синхронизацию истории между всеми клиентами, чтобы можно было открытыми их держать и на телефоне и на двух пк.
На работе давно и успешно используется OpenFire + Spark + импорт клиентов из AD — работает без вопросов, отличное решение. Имхо причина падения популярности Jabber — не техническая, а невозможность на нем заработать как раз по причине децентрализации, а все продукты, на которых невозможно заработать, обречены на вымирание. Ведь при создании своих версий протоколов в первую очередь от Jabber отломали самое главное — S2S соединение, создав свои песочницы для каждого владельца сервиса, тем самым убив саму идею общего мессенджера. Ситуация очень напоминает RSS — отличное техническое решение, но на нем невозможно заработать, соответственно каждый начинает изобретать свой велосипед.

Аналогично openfire и spark используем. Есть проблемы, когда связь плохая. Сообщения просто не доходят изредка. Воспроизвести спецально не получается. На официальном форуме говорят проблема с архитектурой самого xmpp… что пораждает очевидные проблемы. Возможно проблема уже неактульна и надо обновляться)

openfire и pidgin (с window merge). Никогда ничего не пропадало. Только не соображу как заставить пиджин чистеть ростер.
На официальном форуме говорят проблема с архитектурой самого xmpp… что пораждает очевидные проблемы.

Проблем с архитектурой у XMPP нет. На правильно настроенных серверах c Ejabberd сообщения доходят всегда. У openfire бывают проблемы с утечкой памяти, которые намертво останавливают сервера.
На правильно настроенных серверах c Ejabberd сообщения доходят всегда.

Вы в этом на 100% уверены? Мне например за 6+ лет openfire+spark пользователи говорили об этом всего пару раз. Но инциденты то были. А сколько было тех, о которых не говорили и как отследить? Возможно вы просто не в курсе?
У openfire бывают проблемы с утечкой памяти, которые намертво останавливают сервера.

Это всё блин прожорливая и грёбаная java, но разве проблемы с утечками памяти актуальны? Сам встречался на openfire, но это было много лет назад.
При включенном MAM на сервере и при поддержке MAM клиентами потери сообщений в принципе невозможны, потому что сервер хранит всё и всегда, не?
Да, хранится, но всегда ли это передается клиенту с плохой связью до конца?) Когда пытался разбираться с проблемой в плагине Monitoring Service видел сообщения, не смотря на то, что на клиенте, которому отправлялись сообщения их просто не было. Да сообщения хранятся на сервере (в openfire Offline Messages — Always Store с размером по 10 мегабайт на юзера). Было бы это настолько часто и легко воспроизводимо — было бы проще разобраться. Может быть действительно стоит попробовать ejabberd, а может попробовать использовать что-то кроме spark.
Вот тебе на) спасибо. Не ожидал честно говоря, что клиент от производителя сервера не поддерживает эту фичу.

Кстати


openfire Offline Messages

Оффлайн-сообщения — это немного про другое; если у клиента просто отвалится интернет, он останется онлайн до таймаута, и сообщения в оффлайн-хранилище не попадут (без MAM) и потеряются. (Хотя конкретно Openfire я не юзал и конфигов не знаю, мог что-то напутать, но скорее всего так)


А поддержка MAM в Openfire, похоже, только в 2016-м появилась, в «6+ лет» не вписывается)

Да я периодически обновляю сервер и клиенты, так что у меня она есть) Но что Offline Messages не связаны с MAM не знал — повод перерыть конфиги с документацией и обновить память себе.
(в openfire Offline Messages — Always Store с размером по 10 мегабайт на юзера

Да. andreymal говорит верно:

Оффлайн-сообщения — это немного про другое

Офлайн сообщения это не МАМ. С МАМ:
При включенном MAM на сервере и при поддержке MAM клиентами потери сообщений в принципе невозможны

Чтобы утечки памяти не было — надо запускать не на встроенной базе памяти, а, например, с MySQL за OpenFire.
У меня были утечки памяти именно с mysql, встроенную базу ни один раз не пробовал использовать. Но это было давно.
Я слышал что утечки связанны с Java
Да, именно так. Только я не помню уже какие именно процессы жрали, да и strace в прошлое не отправишь), но база с openfire всегда была mysql. На тот момент просто перешел на новую версию debian перенеся базу и конфиги — утечки памяти устранились.
Утечки памяти наблюдались при работе на Windows и встроенной базе, на Linux с MySQL — всё в порядке, оно просто работает.
XMPP плох (в реальности) одним — он расширяемый, но юзеры не смотрят на потенциал, им нужно «здесь и сейчас» надежная работа и дубово работающий список фич. Грубо, если Телеграмм умеет пересылать файлы, картинки (с пережатием, в т.ч.), звонки делать, то он делает это на любой платформе. XMPP же требует хорошей настройки клиента и сервера, а дружба между серверами не всегда получается, т.к. оба админа сделали «как лучше их клиентам», и не желают ломать свой мирок ради какой-то внешнего общения.

Клиенты же… Возьмите PSI+, и скажите — это надежное решение для бизнеса? Он умеет/поддерживает всё (ок, «многое»), что умеет сервер, но это многое надо уметь еще использовать. При этом какие-то вещи сделаны «на отвали», или на «меня устраивает, какие проблемы?» Та же история, которую нужно еще поискать, как открыть, с разбиением по дням, и хранением в виде html — искать в таком проще из консоли grep-ом, но кто из юзеров такое осилит?

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

Поэтому обсуждать XMPP — значит обсуждать идею. Когда доходим до практической реализации, получаем набор вариантов, каждый не противоречит стандарту, но с кучей прелестей.
Когда создавали XMPP все думали, что крупные компании сразу начнут писать под него свои красивые клиенты и добавлять новые хепы на свои сервера. В реальности компании просто забили на ХМПП, как на коммерчески невыгодный продукт. Достаточно 1 крупной компании, с хорошими средствами и ХМПП снова взлетит. Единственная проблема сейчас в ХМПП, что нем никто не знает и отсутствие денег на написание декстопных клиентов
Полностью согласен. Но здесь примерно как с HTTP: все пользуются, но никто не будет заниматься продвижением протокола, потому что все интересно через этот протокол передавать не данные протокола, а прикладные данные. Если бы в спецификации XMPP из коробки и очень надежно была бы прописана работа в т.ч. медиа-сервисов (видео и аудио звонков, передача файлов), пробивающая (почти) все NAT-ы и (желательно) даже прокси-сервера, весь бы корпоративный мир сразу задумался бы о внедрении. Пока же корпоратив (да и мы с вами, нет?) спрашивает — «ок, протокол передает от сервера к серверу и от сервера к клиенту что-то, но как и чем мои работники смогут пользоваться?» — ответ тот же, проще купить и поставить готовую коммерческую поделку, чем допиливать старый добрый протокол, под который даже нет нормальных клиентов.
ответ тот же, проще купить и поставить готовую коммерческую поделку, чем допиливать старый добрый протокол, под который даже нет нормальных клиентов.

Есть платный Cisco Jabber. В нем уже настроено все по-дефолту и клиенты есть.
Сейчас на правильной настройки XMPP серверов зарабатывают хорошие деньги
При этом тот же яндекс прибил xmpp на пдд и запилил свой мертвый месенджер.
Именно так — маркетологи победили инженеров.
У меня есть хороший вопрос. Есть ли какой-нибудь современный клиент, который удобно администрировать (автоматом вбивать логины/пароли через файл конфига например, резать интерфейс, установка без троганий HKCU и пр.)?
В миранде та же шляпа, что и у спарка github.com/miranda-ng/miranda-ng/issues/1149 что печалит (

Вот что пишут в Signal Protocol / The Double Ratchet Algorithm:


The attacker could substitute her own ratchet keys via continuous active man-in-the-middle attack, to maintain eavesdropping on the compromised session.

Получается, ничто не мешает недобросовестному XMPP-серверу подключить ещё один фейковый клиент с поддержкой OMEMO и получать всю зашифрованную переписку на этот клиент? (Говорят, в WhatsApp аналогично)


Я не силён в английском и мог что-нибудь неправильно прочитать, проясните этот момент кто-нибудь

Так во всех шифрах, товарищ тролль. Устройства хранят и поддерживают ключи локально. Север пересылает ключи, как канал связи. Если твой собеседник подтвердит чужой ключ, он злоумышленник может сможет с ним разговаривать. Старую переписку до момента подтверждения ключ злоумышленник читать не не может.
Ты уже надоел, вначале говорил что ХМПП потому, что сообщения не приходят оказалось приходять. Потом говорил что не приходят картинки, оказалось приходят. Потом говорил, что ссылки не приходят. Ты кливечешь, а люди читают твой первый Коментарии и думают, что правда. Не нравиться ХМPP, пользуйся телеграмом

Я не увидел никаких механизмов подтверждения в XEP-0384 и не видел ничего подобного в интерфейсе Conversations, покажите плз?

А не, сейчас в Conversations выскочило какое-то «Слепо доверенные OMEMO ключи» и на этом всё подтверждение закончилось.


Старую переписку до момента подтверждения

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

А не, сейчас в Conversations выскочило какое-то «Слепо доверенные OMEMO ключи» и на этом всё подтверждение закончилось.

Ты задолбал троллить. Это устанавливается в настройках клиентов. Не было слепо доверенного ключа, кричал быть: «как в омемо все сложно? На кнопку жать нужно! А в моем телеграме /вотсапе/сингале ничего жать не нужно». Тебе лишь бы потроллить.
Не нравится ОМЕМО используй другой шифр. В XMPP их более трех
Это устанавливается в настройках клиентов.

Как будто в них кто-то заглядывает (кроме вас и ваших знакомых). С точки зрения юзабилити было бы правильнее вписать в окно чата что-то вроде «Добавлено новое устройство, рекомендуем проверить ключ» вместо всплывашки, которая пропадает через пару секунд и которую я еле успел вообще заметить (а о заскриншотить даже речи не идёт, пропала слишком быстро). Но ладно, если ответственность за проверку ключей перекладывается на пользователя, буду считать, что с самим протоколом и XEP-0384 всё в порядке (а вот с Conversations не совсем)


В моём телеграме с шифрованием вообще всё очень плохо, потому что оно только в секретных чатах, которыми никто не пользуется, поэтому телеграм тоже дрянь с точки зрения безопасности


Так что с историей сообщений?

Как будто в них кто-то заглядывает (кроме вас и ваших знакомых)

Так во всех мессенджерах whatsApp, Signal, Telegram и т.д. Где-то даже вообще уведомление не приходит. Это сделано, что бы твоя бабушка, которой ты поставил WhatsApp не пугалась всплывающего окошка. Используй другой шифр, а не устраивай демагогию. Нужна история сообщений, ставь PGP и вручную экспортируй ключи на устройства
Как будто в них кто-то заглядывает (кроме вас и ваших знакомых)

Так во всех мессенджерах whatsApp, Signal, Telegram и т.д. Где-то даже вообще уведомление не приходит. Это сделано, что бы твоя бабушка, которой ты поставил WhatsApp не пугалась всплывающего окошка. Используй другой шифр, а не устраивай демагогию. Нужна история сообщений, ставь PGP и вручную экспортируй ключи на устройства
Все перечисленные мессенджеры и все упомянутые варианты шифрования плохи с точки зрения юзабилити, к сожалению) Придётся разбираться с алгоритмами шифрования и делать свой идеальный мессенджер
Sign up to leave a comment.

Articles