vt
XMPP ржака За то время, которое уже XMPP мертв, успел родиться Эксперт По Безопасности Zachary Julian и сей Эксперт провел сей замечательный анализ безопасности XMPP. Вкратце: он нашел, что, оказывается, на XMPP-серверах можно регистрироваться! Далее он нашел какой-то корпоративный опенфаир с включённой регистрацией, отдающий shared roster каждому зарегистрированному извне, содержащий всю структуру организации, плюс также он отдал ему историю чатов (я никогда не сомневался в гениальности разработчиков openfire).
Далее он просканировал интернет, и нашел 5000 серверов с открытой регистрацией, отчего он сделал вывод, что мы все умрем!!!!111
Хочется передать Захару, дорогой Захар, 4999 из 5000 этих серверов — это красноглазое говно, которое не умеет интегрироваться с AD, потому структура организации тебе не светит, выкуси, Илон Маск!
Во-вторых, да, все спамеры мира давно знают про эту открытую регистрацию и одно время рассылали спам убойными дозами, однако ни у одного спамера монетизировать эту дыру не получилось, не та целевая аудитория, и они перестали, выкуси еще раз!
В-третьих, он там предлагает проверить свои сервера и выключить лишнее, и тут ты не угадал, администраторы тех серверов уже умерли от старости, а твои одноклассники не знают что это за херня вообще, так тебе третий раз!
Strephil
Jabber XMPP Я запускаю на своём компьютере программу pidgin, то же самое делает мой друг.
Я отправляю сообщение, он его получает и отвечает мне.
Эта система работает практически без сбоев в течение десятилетий. Всё, что нужно для общения, оно просто работает.
Это настолько удивительно, если задуматься.
vt
XMPP политота красноглазые гуманитарии Когда казалось, что ниже жучков Соболь быть не может, снизу постучалась Роскомсвобода:
roskomsvoboda.org
решили внести этот клиент в реестр ... чтоб какие-то «закладки» поставить
Только сам протокол невзламываемый

Отдельный привет @andrewnenakhov, который пропускает приемы таблеток и думает что он Дуров, в твиторе пишет, какая он грозная вояка и как он щас обойдёт блок РКН, лолка.
Shura
XMPP IPv6 А вот что-то захотелось пофантазировать. Вот представьте недалёкое будущее и все мы вместе с операторами связи перешли на IPv6, а значит и белые IP адреса. Связь точка-точка снова становится доступной без всякой еболы типа STUN, NAT и ALG. Можно закрепить доменное имя за своим телефончиком и поднять прямо на нём джабер сервер. Готовы ли джабер-сервера к такому? Готовы они отправлять сообщения s2s, если принимающая сторона ненадолго (или надолго) пропала из сети? Написали нужные XEPы? Телефония же будет во все поля! Многопользовательская конференция peer-to-peer без центральных серверов. Готовы клиенты? Куда развиваются?
Shura
soft Thunderbird XMPP Понимаю, что опоздал со своим постом лет на двадцать, но всё равно напишу.
Волею судеб пришлось настроить чат в thunderbird, который может работать с разными устаревшими протоколами, в том числе и xmpp. Оформление и удобство его использования — пример того, каким должен быть деловой корпоративный чат. Слева — список собеседников, по центру чат, справа — доступ к истории переписки по дням. Всё чистенько, никакой перегруженности, на экране только то, что должно быть. Прямо не нарадуюсь.

Да, функционал просто никакой, не хватает целой тонны функций, но то, что есть, работает хорошо и выглядит приятно.

Strephil
Jabber XMPP 2020
я как-то не заметил, когда это произошло, что у меня не осталось живых контактов в jabber. Использую его только для жуйка. Всё.
vt
XMPP эти черви в их банке таки едят друг друга, github.com — ну мне каждый день такие претензии предьявляют, обычно эти предьявляющие даже не знают, что такое код, ну или могут пьяного Карпа взять на суд, стандартно
vt
XMPP как известно, васяны 20 лет писали клон асечки, но так и не смогли ничего родить нормально работающего, но раньше хоть отправлялись текстовые сообщения!
На третьем десятке существования этой хуйни в жаббере появилась инновация — теперь и сообщения не отправляются! github.com
1lya
Pidgin XMPP чаты конфы Если тут кто-то пользуется Pidgin, может подскажите, возможно ли, отключить сообщения в жаббер конференциях о том, что пользователь вошел/вышел? Надоедают пипец как.
ndtimofeev
XMPP житие В догонку к #2963984. Оказывается пользователями востребована фича удаления сообщений в чате. И почему-то именно с этим у большинства виданных мною клиентов проблемы. На мой вопрос о том для чего это надо девочка с каре мне ответила что переживает вдруг её макбук случайно кто-то возьмёт, а там обсуждение деталей обмена 5 граммов *ОЙ* на сосания хуя.
vt
XMPP на новый год опять машину времени из 2004 года прорвало:
[13:47]<Zombie> I don't appreciate it.
[13:48]<Zombie> The Apache Reverse proxy thing was one of the first things I thought of.
[13:55]<vt> What is the problem with reverse proxy? It is the standard way to "host on apache" any things. How did you imagine the alternative way?
[13:57]<vt> And for remote disabling — spectrum have standard XEP support for that. Just use client with full XEP-0050 support and you are in. I can't fix broken clients. As well as I don't have time to write "disable with command to bot" support is spectrum. If you have patches — I will review them
[14:02]<Zombie> I have one more question.
[14:02]<Zombie> Well, a few more issues anyway.
[14:03]<Zombie> 1. Is there a way to configure the AIM Transport to use a Custom URL for AIM Phoenix?
[14:06]<vt> as far as I understand — you need to configure it in pidgin directly and then copy advanced settings from accounts.xml into spectrum cfg file
[14:19]<Zombie> OK.
[14:19]<Zombie> 2. Is there a documented service file to start Spectrum2 with Systemd?
[14:20]<vt> debian/ubuntu packages have systemd service file
[14:20]<Zombie> I'll look into it.
[14:20]<vt> github.com
[14:21]<Zombie> I'll see if this fixes my issue.
[14:21]<Zombie> one more thing.
[14:22]<Zombie> I'd like to discuss the general problem of my users being unable to manage their own User mappings.
[14:23]<Zombie> I really don't use the web interface because it just doesn't work in my experience.
[14:23]<Zombie> My users authenticate via LDAP/Kerberos/Samba 4.
[14:25]<Zombie> The interface is kinda awful last I checked.
[16:35]<languitar> 1
[16:47]<vt> Zombie: you are missed last 10 years I think :) Your problems require active developers in servers, clients and transports, xmpp is dead long time ago
[16:59]<Zombie> I'll take it up with EionRobb.
[17:00]<Zombie> but improving your web interface is the responsibility of you as a Maintainer.
[17:01]<Zombie> This is the only effective defense I have on Android.
[17:21]<vt> Zombie: where is our contract with my responsibilites? Now you are totally wrong
1lya
XMPP psi_plus Заметил, что в новых тестовых сборках жаббер клиента PSI+ перестал работал исправно работать капча-плагин. Окно при входе в конфы появляется, но текст капчи в окне не отображается. Ещё в сборке Техника под винду в Content Downloader Plugin невозможно ничего отметить галочками.
1lya
XMPP matrix 404city Разрабы протокола "Matrix" постоянно критикуют XMPP и сравнивают своё поделие с ним, а на критику своего шматриха сразу бегут жаловаться. 😑

reddit.com
vt
XMPP в пятницу на работе было не очень весело и я решил покрасноглазить жаббер, обновил там все, пофиксил даже баг, выложил в гугл плей и ... тишина. Я уже думал все, даже там они смогли найти сиськи и hateful speech, но нет, искали сутки и не нашли!

vt
· Edited
XMPP говно поставил Beagle IM на мак. Пиздец. Это от той же конторы, что разрабатывает непонятный сервер Tigase. Во-первых, да, существование долбоебов, типа Process One, Tigase, Xabber еще (лол, это отдельный случай, еще владелец Jabbim из этой серии) — мне решительно непонятно, за что их директора воюют и тратят бабло в унитаз? Ладно когда за швабоду воюют красноглазики, питающиеся мамкиным борщом, а у этих вроде есть бабло, ну лол, владелец жаббим — привет @ermine, это и ее друг! — писал, что он втайне от жены проебывает по 500 баксов в месяц на содержание серверов. Ну ладно, этот тупой, потому что даже не пробует ничего разрабатывать. Дальше веселее. Автор хаббер писал что проебывает еще больше, не помню точно сколько, но что-то типа нескольких средних зарплат в СНГ, на РАЗРАБОТЧИКОВ, которые делают полное вырвиглазное говно, зато жаббер! Ну про Tigase и тем более Process One, которые тратят тысячи долларов в месяц на содержание Зинидов и ему подобных наебщиков — и говорить нечего.
Так вот я отвлекся, клиент на мак от Tigase: в лучших традициях жаббера — кнопки налезают друг на друга. Блять, ладно, ты фанат жаббера и готов платить разработчикам за написание хуйни во имя швабоды, но блять, почему тогда не потратить пять копеек на человека, который скажет им, что вот кнопки друг на друга налезли? Я совершенно не понимаю!
Ладно, кнопки пусть выровняются когда-нибудь. Любой клиент не умеет mute отдельных чатов, потому что этого нет в серверах и ХЕРах. Я про это писал тому же Зиниду 6 лет назад, объясняя что это базовая фича любого мессенджера, современного, лол, почти десять лет назад — на что получил в ответ что это нинужно, я так понимаю такой же ход мыслей у всех этих мутантов, воюющих за святой жаббер непонятно зачем. Ладно, но этот Beagle IM они пытаются позиционировать как убийцу Slack! Даже цвета похожие взяли, чтоб людей наебать. Но ведь отсутствием mute людей не наебешь, ну почему, почемууу они этого не понимают?
Ах ну и да, я понимаю подход "по-быстрому наебать и втюхать кому-то похожее на рабочее поделие, а дальше трава не расти", но блять они занимаются этим ДЕСЯТЬ С ХУЕМ ЛЕТ каждый! И никому ничего не втюхали еще! За это время можно было силами полутора студентов написать убийцу слака реально, без всяких наебок. ПОЧЕМУ они не понимают, что что-то идет не так?
vt
XMPP импотенция Нам пишут:
Tigase XMPP Server 8.0.0 GA releasedСчастье привалило откуда не ждали!
Share files with ease
Thanks to implementation of XEP-0363 HTTP File Upload it’s easier to exchange photos & videos, documentes and more.
Мы теперь HTTP-сервер!! Без нас ведь не было их!!!!
Messages stored in the MySQL repository Не знаю что это. Наверное ихний погромист ихнему маркетологу что-то пытался сказать, но не смог
No matter what kind of internet connection you have, thanks to implementation of XEP-0357: Push Notifications you will never miss a message (you should use compatible XMPP ClientМы наговнякали что-то, чтоб слать ваши сообщения гуглу и эплу, сам толком не знаем, но если напишете клиент то что-то увидите, а может нет!
You can now better protect your installation by enabling protection against brute-force attacks and CAPTCHA system now availableГде-то в 2015 я отключился от жаббера, потому что заебался чистить спам, а тут они резко подсуетились! Спасибо, вы слишком быстро!
We decided to introduce TDSL — our new configuration file formatЭто видимо жена или родитель 1 директора этой конторы пролоббировали этот пункт
Tigase Kernel is here! It is implementation of inversion of control (IoC)Вот щас точно заживем! Заводы стоят, а каждый погромист разрабатывает свой IoC-контейнер. Ведь пользовать готовые впадлу.
Диагноз — аптерыкс!
ma1uta
XMPP нытик dialback часть третья, заключительно-поучительная. В заключение к juick.com и juick.com А итог простой, методом пристального взгляда заметил, что для исходящего соединения в dialback-е перепутал from и to, поэтому исходящее соединение было к самому себе вместо удаленного сервера (отсюда и второе соединение от сервера), дальше происходил handshake с самим собой и сам себе отсылал <db:verify/>, на котором радостно падал. В остатке имеем порефакторный код, попутное исправление нескольких мелких ошибок, более-менее нормальное логирование и осознание собственной никчемности...
ma1uta
XMPP ejabberd нытик s2s dialback В продолжение к juick.com Взял ejabberd вместо openfire, ничего не изменилось. В итоге у ежа два открытых исходящих соединения и одно входящее на другой хост. Картина такая же: ёж отправляет <db:result from="ej_server" to="myapp">secret</db:result>, приложение в ответ отправляет <db:verify xmlns:db="jabber:server:dialback" from="myapp" to="ej_server" id="someid">secret</db:verify>, и затем ёж возвращает эту же станзу, даже from и to не меняет местами. Описание namespace-а добавилось из-за баблера (пока не придумал, как убрать объявление).
ma1uta
XMPP Openfire нытик s2s dialback словил забавный баг (?). Openfire открывает исходящее соединение s2s и после handshake-а присылает <db:result/> (префиксы в именах тегов без namespace в xml — это что-то с чем-то). В ответ открываем соединение на Authoritive Service, в качестве которого выступает тот же openfire и отправляем <db:verify/> ему обратно. В итоге мало того, что openfire на входящее соединение открывает ещё одно исходящее вдобавок к самому первому, так он через это новое исходящее соединение присылает тот же самый <db:verify/>. Даже from и to не меняет местами. Сходу не нашёл место, где он происходит, буду копать дальше.
vt
XMPP tldr красноглазие не нужно Попробую написать многобукв, почему стюардесса, которую тут некоторые пытаются откопать — не нужна. Причем особенно она не нужна с точки зрения погромиста, на чем и заострим внимание, итак.
0. Погромист не пишет программы для собственного развлечения, он должен получить конечный результат.
Это главный пункт, от которого надо отталкиваться и никогда нельзя про него забывать.
1. Конечный результат — это пользователи и только пользователи.
2. Пользователя совершенно не волнует какой ПРОТОКОЛ внутри программы, его в первую и практически единственную очередь интересует интерфейс — любого, внимание, пользователя. Не только блондинки с айфоном, но и условных ляха и комара с клитором тхинкпада.
3. В 2к18+1 году существует огромное множество ГОТОВЫХ решений для написания ПРОТОКОЛА любых чатов и мессенджеров грубо говоря в несколько кликов, причем маминому погромисту вообще не надо разбираться не в тисипиайпи, ни даже в хттп, не говоря уже про xml, типовой чат создается следующим образом: мышкой в Firebase console (или любом другом подобном продукте) описываются структуры типа Message со всеми нужными полями типа user, body и attachment, ну и структура Chat c полями users и messages. Ииии … все! СЕРВЕР уже готов! Даже управление пользователями не нужно сочинять заново, в том же Google Firebase (или Apple CloudKit, или десятке других аналогичных решений, можно даже швабодные найти) ВСЕ уже есть, можно настраивать авторизацию по вкусу — через емейл, телефон, логин-пароль, соцсети или черта лысого. Это настраивается один раз за полчаса и забывается до решения более важных задач. Причем клиентская часть протокола ТОЖЕ уже готова и ТОЖЕ не является задачей вообще — достаточно подключить SDK выбранной платформы в свою программу на любом языке и все чаты с сообщениями уже автоматически синхронизируются с клиентами.
4. А более важные задачи — это ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ. Абсолютно в любом раскладе, даже если мы пишем чатик для ляха и комара — так вот если не тратить время на велосипедный сервер и протокол, или реанимацию говна из нулевых, то можно 95% усилий потратить именно на ИНТЕРФЕЙС клиента и именно тут можно проявить свою погромистскую индивидуальность, написав клиент на Rust, Haskell, Agda, под X11, xmonad, и черта лысого, и выполнить все хотелки комара и ляха, если у нас поставлена задача удивить именно этих удивительных существ! И только ПОСЛЕ того, как мы, за наш восхитительный продукт под маргинальные системы на маргинальных языках погромирования, получили признание всех аутистов мира — можно уже оптимизировать ПРОТОКОЛ, выбрасывая неподходящие нам идеологически решения корпораций, и формализуя спецификацию протокола, чтоб иные мамины погромисты смогли написать клиент для нашего маргинального чятика. Можно даже совместимость с XMPP прикрутить, без проблем, но ПОТОМ, в самую последнюю очередь.

В случае же начинания чятика с написания xml-парсера и поиска текста методов тыка в xmpp-станзе как в бд(ц), погромист тратит свое время на “преждевременную оптимизацию” и в обозримые сроки не получит никакого результата — ни рабочего сервера, ни рабочего протокола, до клиентов дело не дойдет вообще, как и до заведения каких-либо пользователей. Даже лях с комаром, как и любой другой воинствующий хмпп-евангелист, не пошевелят пальцем смотреть на это поделие, а продолжат сидеть в ткаббере, и в чем там сидит комар, потому что в ткаббер вложено 15 лет труда по изготовлению ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ, пусть даже для такого странного как они!
ma1uta
ЖЖ XMPP нытик Вот все жалуются, я тоже пожалуюсь. Есть такая библиотека xmpp.rocks (или просто babbler, баблер). В целом она вполне себе неплохая, но есть у неё одна особенность, которая навевает грусть и печаль, а именно то, что автор очень сильно любит добавлять везде слово `final` и делать методы `private`. В итоге, когда делаешь всё по примерам, всё работает, шаг влево-вправо — начинается боль и страдание. Первый раз с таким столкнулся, когда потребовалось для external component слать presence в комнату от разных resource. Решилось дело тем, что пришлось скопировать 5 классов (не от наследоваться!) и в один метод добавить три строки. Также в бабблере есть заготовка под c2s на базе netty. Слов нет, кодеки и соединение работают вполне нормально. А даже его можно использовать для входящих s2s. Для исходящих понадобилось переопределить один метод (редкий случай, когда метод оказался `protected`, а класс не `final`). Но с ServerDialback уже боль и страдание, а именно отправить теги `db:result` и `db:verify` не получится, несмотря ни на какие манипуляции (в том числе и с jaxb). Там жестко захардкожен в `private static final` переменной список namespace-ов, для которых будет писаться префикс, и dialback-а среди них нет. При этом это всё лежит в классах в xmpp-core с видимостью package (не public). Если выносить все классы, чтобы сделать dialback по-человечески, то надо будет копировать уже порядка 6-10 классов. :( Грусть, пичаль. Хоть выкидывай бабблер.