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

По поводу Matrix оставлю это:

Он во все стороны разбрасывает метаданные, что очень плохо. Плюс сервер жрет ресурсы не в себя. XMPP легковесен и стабилен, сервер работает на чем угодно, хоть на малинке под кроватью. В Матрикс почти все сидят на одном официальном сервере (в силу необходимости мощного дорогого хостинга), что плохо с точки зрения приватности.

Все проблемы jabbera, матрикса и аналогичных - кто будет хранить картинки? Кто оплачивает банкет? Ни там ни там нет продуманной системы удаления истории

Вы и должны оплачивать банкет. В противном случае контроль не у вас, а у кого-то другого. В ejabberd можно настроить срок хранения файлов, хоть неделя хоть год в зависимости от степени паранойи. То же и для размера загружаемых файлов. Думаю в других серверах аналогично. Поднять свой сервер несложно, в сети полно документации. Свой сервер на самом дешевом VPS или своем железе с ARM64 вроде малинки или Pine64 - это лучший вариант.

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

Полностью поддерживаю - поднять свой подконтрольный сервер несложно с минимальными навыками. И в отличие от Matrix он будет просто работать на любом убогом железе. Админисирировать XMPP несложно. Еще плюшки:

  • общие списки контактов (shared roster groups) - удобно для групп/семьи и т.п.

Самая большая проблема - пересадить контакты с WhatsApp/Telegram

  • для этого в принципе есть транспорты, по крайней мере для Telegram работает

У Matrix раньше был плюс, что там был мост в IRC и можно было хранить историю IRC каналов всегда, а не только когда в сети. Хотя, он не очень стабильно работал и иногда отваливался. Сейчас он вроде накрылся. В IRC многие разработчики софта сидели, но не только, всякие каналы были. И про Израиль и феминистки.
Вот что меня раздражало в Matrix (и IRC/Matrix) владельцы злоупотребляли настройкой “показывать историю только с момента входа”. Как известно, если есть возможность создавать ограничения, владельцы чатов будут их создавать. Вот и здесь. Вышел из канала, вернулся через месяц и тебе не загрузится не только история за месяц, но и раньше, когда ты был в канале (хотя, некоторые клиенты могут до нее добраться, но не тогда, когда тебя не было в канале, конечно).
В общем, я был во французском групповом чате, сдружился с одной женщиной (просто интересные разговоры вели), но в этом году она умерла от рака. И как раз во время ее последнего посещения чата, я покинул канал (ну, у меня бывают заскоки из-за других людей). Так что я ее последнее сообщение не смог увидеть. Просил сделать экспорт чата хотя бы за то время, но вредные французы отказались.
К чему я все это, в Телеграме такое немыслимо. В Telegram если есть приватные каналы, но когда пустят, доступно всё.
А про Матрицу это я говорил про нешифрованный публичный чат. В шифрованных E2E публичных чатах старая история в принципе недоступна.

Был популярен среди некоторых anontier.nl, но он накрылся вроде.
Вообще с Matrix я уже собаку съел.

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

Beagle IM для Мака с ним нормально работает

Conversations и Dino это, конечно, хорошо, но ведь это только смартфоны.
Что мне не нравится в Jabber, в групповых чатах (конференциях) в Pidgin грузится только 10 последних сообщений. Видимо какого-то XEP не хватает. А как обстоят дела с синхронизацией истории в публичных групповых чатах Jabber в современных клиентах? Я думаю, они не очень распространены.

Что мне не нравится в Jabber, в групповых чатах (конференциях) в Pidgin грузится только 10 последних сообщений.

Есть XEP для MAM - архив сообщений. Все должно настраиваться. Но это на усмотрение владельца сервера/конференции. Насколько я знаю, некоторые mam полностью отключают, например jabber.ru. И это может иметь свой смысл из соображений приватности. Вы же не хотите чтобы товарищ майор вас посадил за какое-то сообщение пятилетней давности (которое было законно в момент написания)?

Я бы хотел, чтобы история хранилась хотя бы год-два и чтобы каналов побольше. У jabber.ru вроде выкладывали архив. Или он сам или сторонний проект. Но не все каналы.
В принципе, интерес к Jabber есть у европейцев. Особенно немцев, которые любят легкий софт. Хотя, мейнстрим opensource разработчики мигрируют из IRC в Matrix. Но на каждом Jabber сервере свои конференции.
Если знаете сервер с MAM с большим количеством публичных групп, поделитесь.

Можно даже сделать такую экзотику как мост IRC в Jabber. Готовых проектов я почти не видел, но это возможно. Но не все IRC каналы разрешают мосты (публичные). А есть еще IRC боунсеры (вышибалы), которые сами хранят историю. Вообще, можно общаться даже в IRC (в личке). IRC также есть в I2P.

Вообще, можно общаться даже в IRC (в личке). IRC также есть в I2P.

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

Это в России. Во Франции Telegram непопулярен, вместо него Facebook messenger. А для общения с семьей сторонники приватности заводят себе Signal.
Из России многие уехали в Турцию и Израиль. Надо посмотреть какие мессенджеры популярны там.
Поддержку Watsapp и Telegram уже делают в Miranda, можно совместить с Jabber и IRC. Однако разработчики Miranda не хотят связываться с Matrix и Signal, потому что они непопулярны у нас.
Ну а я для общения с семьей (большей частью с братом) могу использовать что угодно, экспериментировать. Пока планов уходить с Matrix нет, к тому же этот мессенджер застал покойного уже кота.
Я бы хотел скомпилировать Spectral для Windows. Красивое, но заброшенное приложение на Qt5, хотя еще работает. Не получается. Visual Studio одна сплошная проблема. А с Msys он не полностью совместим, там код для уведомлений дергается нативный виндовый, надо тогда править его. С сайта виндовые артефакты удалены и в web archive не осталось.
Картинки и файлы годовой давности доступны.

А что с Matrix? Для него нужно не убогое железо? Или сложная настройка? Просто думаю о том, не поднять ли его как резервный вариант. Я так поняла, что он по обычному https работает, а значит шанс блокировки роскомнадзором крайне низкий, в отличие от Jabber.

Да, по https. Сервер жирный говорят, на питоне. Клиенты есть разные, официальный на electron, web, есть много сторонних на си qt5, но менее функциональные, особенно в части e2e.
Если на вашем сервере пользователи будут общаться с пользователями matrix.org, то медиа контент будет синхрониться и храниться у вас на сервере, т.к. федерация.

Если ркн заблочит matrix.org, у сервера будут проблемы при синхроне. Говорят, он туда лезет, даже если все пользователи местные. Но по серверу я не сильно подскажу.

Я так поняла, что он по обычному https работает, а значит шанс блокировки роскомнадзором крайне низкий, в отличие от Jabber.

xmpp прекрасно работает на порту 443, можно проксировать через sslh тогда xmpp трафик будет работать с xmpp сервером, а обычный https пойдет на веб сервер. Все прозрачно и стабильно ценой небольшой задержки sslh. Можно настроить dns srv записи чтобы при недоступности 5222 все шло на 443. Еще есть такая экзотика как bosch - весь трафик xmpp через простой http, это было сделано специально для сильно лимитированных файрволов. В XMPP очень гибкая настройка и нагромождение возможностей, в отличие от Matrix

А что с Matrix?

Да, сервер жирный на питоне. Требует несколько гигабайт RAM и грузит CPU. Есл взять ejabberd (на Erlang), то разница просто колоссальная. Кстати ejabberd поддерживает несколько протоколов (еще mqtt) и обещают вроде завести Matrix. Если ejabberd заработает с Matrix то это будет очень здорово

Кроме того он лучше работает на старых ОС таких как XP/Vista, по сравнению с Matrix/Telegram/Signal.
Если бы я остался на XP, я бы пользовался XMPP.

Даже в довольно старой убунте 16.04 2016 года (ровеснице Win10) не так просто оказалось завести Matrix клиенты. Я установил Qt 5.12 из PPA, скомпилировал GCC 10 и сами клиенты. Это хорошо опыт уже был.

Напоминаю, что нынче в моде блокировки по протоколу, а не по порту.
Перевесить XMPP на порт 443 не поможет. А то, что работает по обычному https протоколу, имеет шанс выжить.
Мне тоже очень нравится XMPP, но блокировки могут не оставить выбора.

нынче в моде блокировки по протоколу, а не по порту

Это да, но играть вечно в кошки-мышки с неадекватами и продолжать проживать в стране с деградирующим населением без перспектив на будущее будет еще дороже. Так что наиболее эффективно радикальное решение проблемы блокировок - просто попрощаться и покинуть. К сожалению не для всех и не всегда это возможно.

xmpp может работать по https. Но есть такой XEP-0368, соединение по простому прямому TLS https, если это идет на 443, то должно работать и с лимитирующими фейрволами пропускающими только https. Если сделать простой веб сайт заглушку и завернуть весь трафик на 443 через sslh, это решение будет устойчивым к active probing. Можно на том же vps развернуть какой-нибудь https прокси вроде dumbproxy и заворачивать соединение через него. В этом случае дополнительный плюс - можно его же использовать как легковесный впн. Еще более вычурный вариант - поставить фронтенд на vps в российской зоне и с него прокси на другой vps за ее пределами. Обычно даже vpn в РУ не блокируют или меньше блокируют.

Я не в РФ поэтому не знаю как стабильно это работает с РКН dpi. Но это решение (dns srv XEP-0368, порт 443) стабильно работает во всяких аэропортах где даже впны заблокированы и даже на 443.

xmpp мне кажется достаточно устойчивым в силу нагромождения разных возможностей и настроек (как самого сервера так и окружения) и приватный. Но играться с настройками естесственно возможно тоолько для своего сервера, это сильное ограничение.

Есть ещё реализация на Go, Dendrite.

Насчёт проблем с синхрой, можно отключить подтягивание ключей с matrix.org в настройках сервера.

Пока отлично работает, но может быть легко заблокировано, т.к. там светится ALPN jabber-client в Client Hello.

Такой вариант тоже пока работает, но обещают в скором времени эту недоработку (отсутствие DPI у хостинговых компаний) устранить.

Проблема в том, что если, а скорее когда, оба вышеперечисленных варианта не будут работать остается только:

  • Изменять протокол, чтобы он не детектировался DPI, с пересборкой всех клиентов и сервера под измененный протокол.
    Проблема в том, что получаем несовместимое ни с чем нечто.
    Вторая проблема, так как это будет собственная сборка, то на мобилках лишаемся push-уведомлений. Дело в том, что прямое соединение с сервером работает нестабильно и ест батарею, в отличие от push-уведомлений по XEP-0357.
  • Либо переходить на Matrix или что-то другое