Выбор мессенджера

В этой теме Обсуждение: Блокировка Jabber/XMPP в России обсуждается блокировка Jabber, но кажется тема перерастает в обсуждение выбора мессенеджера, поэтому предлагаю продолжить тут.

Яббер хорош с OMEMO, по крайней мере не слышал, чтобы в судах фигурировали переписки, в отличие от других мессенджеров. Но, конечно, возможна утечка по вторичным каналам (временная атака как в Tor). Чтобы этого избежать, необходим протокол с поддержкой постоянной связи с пересылкой мусора (по аналогии с mysterium network).

Jabber слишком переусложнен и старомоден, имхо. Вот альтернативные Matrix клиенты без E2E шифрования на линуксе выглядят интересней, если вам нечего скрывать, конечно.
В том плане, что там минимум настроек, при этом из коробки работает синхронизация истории, прикрепление файлов, фоток. А что еще нужно? Извините за небольшой оффтоп.

Jabber, если вы имеете ввиду XMPP, а не цисковскую реализацию в виде системы Jabber (клинет-серверную софтину) - то это протокол. И если говорить про XMPP - то это протокол, да старый (не понимаю чем это плохо, HTTP - тоже старый) хорошо структурированный и регулярно обновляющийся, а не конкретое клиент-серверное приложение, как Matrix.
Почитал немножно про Matrix, спасибо за упоминание, интересно, но это не сравнится с XMPP, и наверное даже с конкретной реализацией, хотя классно, что они такое сделали)
Про работу из коробки - не очень понятно что не работает для вас “из коробки” в XMPP и какую именно коробку вы открываете, - клиентов море, серверов тоже, в каких-то что-то работает, в каких-то нет. Сильная сторона XMPP и реализаций на его основне - это гибкость применения и настройки, ну да это сложней, чем эникейство, но в ряде случаев лучше любых телеграмов и зумов.
При том количестве платформ, котрые сейчас есть и появятся в ближайшие лет 10-15, я сомневаюсь что вообще будет какоя-то, даже коммерческая реализация хоть XMPP, хоть чего-то еще чтобы “работало везде, надежно и со всеми bells-n-whistles”.

Главное неудобство для меня, это что там устаревший подход. Как в Pidgin и старых аськах. Одно окно со списком контактов, кликаешь по контакту - открывается другое (хотя, в некоторых клиентах, например Gajim, можно сделать в одном). Дальше большая беда, многие клиенты отправляют историю в далекий архив и показывают белое окно (теряется нить обсуждения, можно забыть ответить). Для сравнения современный подход, это как в Telegram, Matrix - бесконечная прокрутка, но и сохранение недавних диалогов. Правда, неудобство уже в другом - трудно добраться до старых диалогов, но можно воспользоваться экспортом. Однако это нужно редко, я считаю. Хотя, если бы история была под рукой, как в старых мессенджерах, может и чаще ее бы перечитывал, как там было в прошлом. Ведь чего нет, тем и не пользуемся.
Так вот, во многих jabber прогах можно включить показ нескольких предыдущих записях, но не во всех. Например, в Pidgin это реализовано криво в плагине “История”. Каждый запуск клиента дублирует в логах старые строки.

Во многих jabber прогах много настроек (см. Miranda, например), это досаждает. Ведь, чтобы убедиться, что нет плохих настроек, все их хочется изучить, а это сложно.
Дальше в Matrix из коробки работает синхронизация истории (с E2E могут быть проблемы, поэтому я предпочитаю создавать чаты без него, для личных переписок это довольно нетривиально, правда, надо создавать чат в клиентах без E2E, а потом уже общаться можно хоть где). В XMPP протоколе есть XEP для этого. Его должен поддерживать и прога и сервер (надо найти фичастый сервер, например jabber.de). Но я что-то так и не видел синхронизации в действии. А только локальное сохранение это не очень удобно.
Обратная сторона, у Telegram, Matrix всё хранится на сервере, они привязаны к интернету (кэшируют только на мобильных устройствах, наверное они считаются доверенными). Есть риск уже к примеру бана на сервере. Это решается периодическим экспортом истории. Но сами понимаете это делается не часто (раз в месяц, например). И можно потерять доступ истории за этот срок в случае бана. Конечно, это не полная потеря (если вы не забываете про бэкап), но тоже может быть неприятно, если обсуждали что-то важно именно в этот месяц.
Так что здесь противостояние локальное хранение-серверное хранение. Везде есть свои достоинства и недостатки. Можно делать локальные бэкапы и джаббера, хранить их на разных облаках. Но удобство синхронизации истории все-таки для меня предпочтительней.
Отправил какой-то код контакту, приехал в другое место и он доступен.

Теперь о прикреплении файлов, фоток (и их превью). В Matrix это из коробки, хотя на серверах есть какой-то лимит на размер файла, может 100 мб. Также в XMPP этот XEP (HTTP File Upload) должен поддерживать и сервер и прога. Вот, например, фичастый jabber.de поддерживает (который содержит один человек в убыток, к вопросу о надежности) и почему-то только старые версии Psi+. Я потестил фичу. Действительно можно прикреплять файлы, фотки как в модных клиентах. Но (помимо того, что владелец сервера их видит), некоторые удалялись почему-то сразу, некоторые дольше жили (ссылки). Ненадежно. matrix.org живучее в плане файлов. Там даже если из клиента удалить, по прямой ссылке доступно. Фотки не очень удобно показывались в Psi. Кажется каждый раз загружались заново (не кэшировались). А архиве истории (т.е. другом окне) превращались в ссылки. Что-то в этом роде. Недоделано и ненадежно, у меня осталось такое впечатление.

Вот что в Matrix выпилили давно (чтобы снять нагрузку и для приватности) так это информация о наличия контакта в сети и когда он был онлайн. Статус прочитанности (вроде). Приходится жить без этой фичи, хотя она добавляет приватности и тебе. Например, ты прочитал сообщение, но пока не хочешь отвечать и контакт не обидится, потому что не знает когда ты был в сети. Напомню, в том же Telegram это не отключается. Можно лишь угрубить (до недавно, на этой недели, в прошлом месяце), но статус прочитанности офф. клиенты все равно показывают (хотя, наверняка есть некоторые хаки, чтобы сделать вид, что сообщение не прочитано, а оно прочитано).
Для прочитанности в XMPP также есть XEP (я не пробовал). А когда был онлайн это штатная фича. Хотя, тот самый фичастый jabber.de для приватности прячет эту информацию. И время всегда текущее. Так что это тоже и минус и плюс. Но в данном случае, Matrix и jabber.de примерно одинаковы. Скорее в сравнении с Telegram.

Я не упоминаю пока очень важный функционал для кого-то. E2E шифрование сообщений. В Matrix оно есть из коробки (не во всех клиентах), вроде user friendly, но могут быть глюки при синхронизации между другими устройствами (я неоднократно сталкивался и другие говорили). Поэтому я отказался от этой фичи. А то получится как белки, которые закапывают еду, сами забывают и умирают с голоду. В том плане, что нашифровашись, можно лишиться данных. Есть такой печальный опыт в Whatsapp, к сожалению. В Jabber надо подключать самому плагин OMEMO. Там тоже много нюансов (и кто-то говорит, что работает еще менее надежно). А еще есть риск забыть его включить и отправить нешифрованно. Более же старые плагины типа OTR, требуют чтобы контакты были онлайн, иначе шифрования не будет.
Хотя, я не понимаю почему с этим такие сложности. Если представить, что сообщение это зашифрованный архив и пароль знают только участники чата (у них хранится локально), в чем проблема с синхронизацией и расшифровкой? Но в современных системах не все так просто, там и ключи (пароль) для удобства через тот же канал передается и какая-то прямая секретность и подобное. Сложно это всё и потому ненадежно.

Tox кстати приватен, анонимен. Но у него из-за децентрализованной систему нет полноценных оффлайн сообщений (клиенты ставят в очередь автоматически и отправляют, когда оба контакта в сети). Так что надо держать постоянно запущенным. Конечно, нет синхронизации истории. Все хранится локально, в том числе и данные учетки. У брата глюканул диск и он потерял Tox учетку (uTox). К тому же у Токса есть уязвимости, которую уже экспуатируют. Вредоносные друзья могут то ли выполнить произвольный код, то ли узнать IP. Вместо Tox можно использовать Session. Это децентрализованный форк Signal. Там работают оффлайн сообщения, они хранятся в рое две недели. К сожалению, на Electron, т.е. жирновато.
Много написал и не совсем по теме, может тогда отдельную создать.

Предлагаю продолжить здесь: Выбор мессенджера.

Я вернулась к использованию Jabber после того, как узнала про клиент Conversations.

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

  • возможность одновременного логина на нескольких устройствах
  • с хранением истории на сервере
  • и ее синхронизацией
  • интеграция с телефонной книгой (но контакты из нее автоматически не добавляет, только связывает уже существующие)
  • еще одна небольшая мелочь - есть поддержка никнеймов как в современных мессенджерах, когда человек ставит у себя ник и все остальные его под ним видят (а не как в старой аське и старом джаббере, где ник привязан к локальному списку контактов). но правда это не работает с предыдущим пунктом - имя из телефонной книги имеет приоритет над ником… хотя в ватсаппе и телеге в принципе тоже самое - имя из телефонной книги имеет приоритет
  • исправление последнего сообщения
  • отображение того, что сообщение прочитано
  • e2e шифрование (но я предпочитаю отключать, т.к. зашифрованная история сообщений не будет доступна на новых устройствах)
  • обмен фото/видео/файлами через сервер
  • с возможностью сжатия картинок и видео при передаче (также как в телеге, можно передать как фото со сжатией, или как файл без сжатия).
  • и самое главное - аудио и видео звонки!

И на вид программа ничем не отличается от современного мессенджера. Никакой как вы выразились кучи настроек, необходимый минимум. Такой же интерфейс, как у Whatsapp и Telegram.

В общем - Conversations - это такой Jabber 2.0. Жаль, что только для мобильных устройств.

Для ПК приходится использовать Gajim, там все на порядок хуже. Как минимум нет поддержки звонков (в Windows - вообще нет, в Linux - есть, но протокол несовместим с другими приложениями, звонки нешифрованные и возможны только между двумя Gajim’ами), А также нет сжатия фото и видео файлов, что при современных размерах фото и видео файлов очень актуально. Особенно если если сервер личный на каком-нибудь дешевом VPS - файлы без сжатия быстро забьют все место на диске.

С веб-клиентами все еще хуже. Есть один сильно не совместимый с другими и один просто кривой.

Да, для полноценной работы Conversations нужен подходящий сервер - ejabberd версии 20.04 или новее. И кстати, развернуть и настроить его проще чем Matrix, про который вы пишете. stun/turn сервер у ejabberd встроенный, поэтому аудио/видео звонки работают из коробки вообще без настроек на сервере (если сервер на белом IP).

toxcore, Jami (GNU Ring)

у мен даже ноды ихние крутятся на впсках (opendht)

Мои хождения по мессенджерам были такие (могу немного перепутать порядок):
Сначала это был jabber.ru в Pidgin, несколько лет.
Потом Telegram.
Дальше начались эксперименты.
На фоне его западного хейтерства я удалил учетки и перешел в uTox (в любом случае, uTox стал запасным).
Польский Gadu-Gadu. Достаточно удобный, современный, кроссплатформенный (что интересно на Gecko движке), но, к сожалению, с довольно надоедливой рекламой, хотя мне и нравилось кликать по баннерам и смотреть на красивые фотки в польских магазинах, но попапы это уже перебор. А после блока в hosts оставался некрасивый белый placeholder и файлы прога редактировать не давала.
Немецкий Wire с E2E (на Electron), очень тяжелый.
И вот последнее, различные альтернативные клиенты Matrix (Quaternion, Spectral) без E2E. Иногда запускаю официальный Element.
Понятно, что с большинством людей приходится общаться в Telegram/Whatsapp. Когда-то очень давно был ICQ в QIP и Skype.

UPD: Еще немного современный ICQ юзал для звонков. Хоть и наш, но очень приятный легкий мессенджер, выглядит как клон Telegram. Немного Session. Пробовал Signal. Ну, сайтовский Facebook, email, лички форумов это уже немного другое.

Раньше смотрел некоторые группы в Viber, сейчас смотрю кошек в Discord. Изучал Vipole (очень интересный мессенджер, но сомнительный), немного Jami. Общался в IRC, в группах Matrix. Хотел бы зарегиться в китайском QQ, японском Line и корейском KakaoTalk, но не могу. Когда-то очень давно было две QQ учетки и я писал сам себе в Windows приложении. А американский бесплатный Wickr уже закрыли, опоздал. Что-то меня понесло, но многое было просто экспериментами. Хотя, группы в Matrix порекомендую. Discord интересный.

А Conversations куда может позвонить, кроме как на такой же клиент?
Мы используем для чатов, но звоним обычно по sip.

знаете у кого они шифрованные и это нормально работает?

Не совсем понятно что в целом вы имеете ввиду и куда вам нужно звонить. Звонки в любом случае могут быть только внутри Jabber’а. На обычные номера телефонов вы не позвоните. Ну так в любом мессенджере так же. Whatsapp, Telegram тоже могут звонить только на другой такой же клиент.

У кого они шифрованные и это нормально работает? - Собственно, у Conversations, и это нормально работает. Звонки Conversations ↔ Conversations в целом работают как часы, четко и без сбоев.

Теоретически, можно позвонить на любой клиент Jabber, который реализует такие-же XEP’ы. На практике похоже, что кроме как автору Conversations, реализация сего не особо интересна.
Есть DIno, в котором поддержка звонков в стадии тестирования, и они иногда даже работают, и на даже можно позвонить Conversations ↔ Dino, но очень много сбоев и в целом работает очень нестабильно.
Ну и про Gajim я уже упоминала, поддержка звонков только в Linux и только без шифрования. В Conversations и Dino, наоборот - только с шифрованием, поэтому Gajim с ними не совместим. Уже давно есть баг-репорт с просьбой реализовать совместимость, но разработчики пока его игнорируют.

Единственный минус Conversations и Jabber’а в целом - это недавно начавшиеся блокировки, из-за чего посматриваю на альтернативы.
Ну а sip… sip был интересен, когда была куча провайдеров, предоставляющих sip-телефонию физ.лицам по копеечным ценам. Сейчас почти все закрылись, либо переориентировались исключительно на юр.лиц, либо отгородились от РФ. А использовать sip чисто для внутренних звонков - ну такое себе, когда есть мессенджеры, где одновременно и текстовое общение, и звонки в одной программе.

Я имею ввиду, что XMPP клиенты, которые поддерживают аудио\видео потоки, тем более с применением шифрования несовместимы или почти несовместимы друг с другом (поэтому и спросил иронично куда можно позвонить с Conversation) и тому есть причины.

Это все скучно, но я расскажу и порассуждаю все равно)). Одна из таких причин - это отсуствие внятных стандартов и этой области и слабый интерес со стороны больших корпорейтов, которые используют мессанджеры как рычаг для удержания аудитории (например Gtalk когда-то был открыто совместим с XMPP, а когда появился whatsapp, который тогда был чистый XMPP, появились сторонние гейты-транспорты между сетями и все это прикрыли).
Другая, техническая, - в том, что SIP, как и XMPP - сигнальные протоколы, а не транспортные. Для передачи используется обычно RTP и он контролируется часто при помощи SIP, потому что там регламентирована более внятная система управления с точки зрения обычно телефонии. Поэтому мессанджеры на основе XMPP будут всегда текстовые, либо audio peer-to-peer, либо какие-то комбайны с применением других протоколов. Т.е. просто неспецифичная задача - текстовое общение и голосовое, слишком все по-разному.
Телефония сама по себе - довольно сложная штука и то, что мы видим в популярных мессанджерах - это верхушка айсберга, да и работает оно там, на мой взгляд так себе (по сранению со специльными устройствами). Да, этим можно пользоватся, но это низкокачественно, с приходом новых сетей, типа 5G впрочем может стать лучше.
Что касается шифрования (особенно потокового аудио-видео), особенно в популярных мессанджерах - это курам на смех, даже не буду обсуждать. Судя по всему - это все ломается на 1-2, тем кому это надо конечно. И все эти разговоры про безопасную безопасность в бесплатных сервисах от добренького дяди - ну наверное реклама какая-то для малограмонтной аудитории.

Почему в ТГ\WA\Zoomах все вместе? Наверное потому, что это коммерческие продукты - это в первую очередь, еще - борьба за аудиторию (думаю что это пройдет) и поэтому это очень сложные комбайны, которые стоят очень дорого. Плюс их задача - выжать максимум инфы из их клиентов, так что со временем туда вполне могут добавится совсем неспецифичные штуки: кошельки, всякие “удобные мульки” и прочие плагины. В принципе, ТГ туда и идет полным ходом.

В соседней теме я написал о проблемах с банк-клиентом, тоже блокируют. Скорее всего, все соединения, которые шифруются будут поврегаться принуждению в РФ в ближайшее время. Альтернатив просто не будет. Т.е. они всегда есть и будут, но это не просто охота за мессанджерами или впн-ами, эот охота за SSL\TLS. Кстати, отъезд как альтернатива))

Viber, Skype предлагали outbound. Платно разумеется.

Вроде их только больше стало, даже в рф… Просто телефония платная и надо номер набирать, контролируется государством и “вот это вот всё”. И еще нет добренького дяди, который в эппстор загрузит удобнейшее приложение телефона, будет его дописывать под все платформы 2 раза в месяц и не брать за это денех.

Ну и да, я тоже очень люблю и каждый день использую Conversations+Ejabberd+Gajim+Yaxim+SIPтелефонию и конечно классно будет если появится больше людей, которые разбираются, а не просто кушают с ладошки аппсторов всё подряд.

Я знаю ровно два клиента, которые поддерживают аудио/видео потоки с шифрованием. Я их уже перечислила - это Conversations и Dino. И они совместимы друг с другом.
Если вы знаете какие-то другие клиенты - поделитесь, я бы с интересом на них посмотрела.

Вот и я о том же - их, можно сказать нет. И даже если найдется еще пара - то это может быть очень временно. Завтра Conversations решат замутить супер-пупер фичу и даже с Dino не станет совместимости, потому что нет стандартов нормальных. Поэтому, как мне кажется, звонить и писать - это по-разному, т.е. в разных программах). И наверное даже это хорошо - больше мессанджеров хороших и разных.

Из мобильных клиентов мы используем Siskin, Yaxim, звоним, как я уже говорил, по sip-телефонам (железным и софтовым). Раньше Astrachat еще для IOS был неплохой клиент, звонить мог только в такой же клиент вроде.

Вот тут пишут про Audio движок в Conversations подробнее, посмотрите, там WebRTC используется, в принципе можно хоть в броузер позвонить; там они рекомендую клиенты Siskin, Beagle, Dino, Movim. Опять, же я не в курсе как оно работает на деле.

Согласен, звук как из помойного ведра из-за шумо или эхо подавления. Особенно стыд, когда это пускается в эфир в СМИ (привет Дождю, хотя не только, но они злоупотребляют, да и вообще по факту канал редкостная парaша, как оказалось). А в каких мессенджерах самый качественный звук? Без лишних обработок. Давно такой вопрос интересует. Скучаю по старой доброй стационарной телефонии, где было отличное качество (при хорошем аппарате), без этих проглатываний звуков и частот (даже с гарнитурой). Ну не мне вам рассказывать, послушайте удаленных собеседников в СМИ. Не было такого на стационаре и в спутнике (хоть и с задержкой, но слушать там приятно). Сейчас, к сожалению, экономят на всем, особенно бюджетные.

Я не знаю, почти никогда не использую эту функцию, потому что она для меня скорее бесполезна или больше раздражает из-за плохого качества\обрывов. Но я думаю что ни в каком мессанджере это не работает хорошо. Дело не только и не столько в телефоне\микрофоне\программе, сколько в канале передачи данных (особенно беспроводном) и способе передачи пакетов (протоколе).
Телефония никогда не была интеренетом и это были и есть отдельные каналы, со своим оборудованием, приоретизацией, протоколами. Скорее даже интернет “вырос из телефонии”, все эти скорости - 64, 128, 512, итд кбит\с - это мультиплексирование аудиопотока. В мессанджерах аудио\видео - это допфича “для бедных”.
Хорошее качество звук станет когда перестанут передавать аудио, и будут синтезировать его на другом конце, а передавать будут условно “текст”. Аудио часть безусловно пострадает, особенно поначалу, зато разборчивость будет отличная (если энкодер\декодер будет знать язык)

Не совсем мессенджер, но для голоса давно использую Mumble, полностью пересел на него когда добавили поддержку кодека CELT (который превратился далее в Opus). Стандарное шифрование AES, настраиваемый буфер и битрейт. Проблем никогда не было с качеством, на ADSL помню был лучшим из аналогов.

Токс не анонимен, как и все p2p системы. Использовал qTox для наибыстрейшей передачи файлов и папок, но сейчас почему-то в последнее время UDP hole punching не работает и соединение идёт через немецкие релеи.

RCE уязвимость была вроде в клиенте µTox, в qTox нет.

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

Matrix сервера так же не стабильны, периодически разделегируются. Клиент Element тяжеловесный, отальные с обрезанной функциональностью.

В своё время Jabber был почти единственной альтернативой AOL/OSCAR с клиентами под Java телефон.

Думаю в выборе необходимо исходить из потребностей и топологии мессенджера:
централизованный, федеративный (e-mail в том числе), p2p/мэш-сеть или оверлейный (torchat). Пользуюсь разными в зависимости от решаемых задач.

Как видим Telegram и Jabber плохой выбор.

Разработчик Conversation наоборот очень надеялся что Dino доделают. И там даже всё иногда работает если повезёт, даже синхронизация e2e чатов. Но как я написал нестабильно. Их можно попинать с просьбами всё это реализавать. Помочь в тестировании. Написать им что в РФ это востребовано. Возможно доделают Dino. По сути для широкого развёртываения XMPP в массы осталось только доделать Dino.
В мире XMPP шифрованные чаты с поддержкой истории работают надёжно пока что только в связке Conversation - Conversation.

Шифрованный чаты в Matrix всё меньше глючат. Они там по умолчанию, поэтому если бы это было бы массовое явление - уже бросили бы это шифрование. Гарантированного на них полагаться нельзя, а уж тем более полностью полагаться синхронизацию шифрованных чатов. Но использовать их для временной переписки можно уже сейчас. Шифрование также должно работать в FluffyChat и в NeoChat. Там в принципе они развивают подход библиотеки которые можно использовать, а GUI уже каждый пусть пишет как хочет. Так что Matrix недооценён (но переоценивать тоже не стоит). Там была проблема очистки истории из-за чего занятая память сервера просто разбухала. Вроде собирались чинить. Matrix гораздо более организованный чем Jabber. Шифрование они включили 3 года назад - это уже расползлось на все сервера. А обратная проблема хранения истории на самом устройстве дабы не перекачивать каждый раз тоже вроде решалась и была на повестке.

Все проблемы jabbera, матрикса и аналогичных - кто будет хранить картинки? Кто оплачивает банкет? Ни там ни там нет продуманной системы удаления истории. Даже в вотсапе Вы не откроете фото 2ух месячной давности. А тут это вообще плохо продумано. Вы думаете стикеры зачем внедряли бесплатно? чтобы пользователи не прикрепляли тонны аналогичных фото и стикеры на серверах телеграма хранились в единичном экземпляре(ну и в кеше). текст гонять на донатах это ещё можно. А вот держать 3ёх годичную историю шифрованных мемов - очень накладно.

А Sessions переводят на их криптопродукт Oxen который за деньги. Что пока что сложно в реализации и непонятно как с доверием.