]> Sergey Matveev's repositories - stargrave-blog.git/commit
Session и XMPP
authorSergey Matveev <stargrave@stargrave.org>
Thu, 16 Nov 2023 17:05:09 +0000 (20:05 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 16 Nov 2023 17:05:09 +0000 (20:05 +0300)
commit089bf4d15b98749dc24ee1bb149c53e080e86837
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent0569bd4a712d92a33ed743ab8ed90008a95beef5
Session и XMPP

https://getsession.org/
Кто-то мне предложил пообщаться в Session IM. Вроде бы впервые про него
услышал. Поглядел на его whitepaper. Не федеративная, а распределённая
сеть, но которая использует... blockchain и криптовалюту. Сисоп сервера
участника сети буквально должен заплатить чтобы в ней участвовать. То
есть, она не бесплатна. Если я не могу быть её частью, то значит ни
распределённости, ни федерации тут конечно же для меня не будет.
Бесплатно я, видимо, могу подключиться будучи просто потребителем,
пользователем чьих то ресурсов. Банальное разделение на богатых, кто
рулит сетью и серверами, и тех, кто не собирается платить за IM. Плюс,
насколько понял, даже сами клиенты вынуждены делать proof-of-work для
того, чтобы сохранить свои публичные ключи на серверах сети.

Ладно, даже если про это забыть. То в разделе Download нет ни одной ОС
которая бы у меня была. Судя по GitHub, для desktop у них только нечто
написанное полностью на TypeScript, Очевидно что это нечто совершенно
неюзабельное будет, работающее только в GUI, жрущее ресурсы похлеще
криптовалют.

Задался я тут вопросом: а насколько вообще тяжело поднимать сейчас XMPP
сервер то? Я его давно не держал у себя, давно не поднимал. Очень
нравился Prosody, ибо лёгок, написан на Lua, требует совсем немного
Си-зависимостей (для разумной производительности), имеет кучу фич, очень
легко и просто настраивается. Поднял его с нуля, потратив 90% времени на
то, чтобы понять как заставить Lua искал .so в директории
~/xmpp/local/lib/lua/5.4. В итоге просто в самой Lua (luaconf.h) при
компиляции задал нужный путь. Взял 6855f1c4e5ade25cfd4a97941ce6dab32cedb18a
xmpp-client клиент на Go, всё тип-топ заработало.

Ну и главный вопрос то был: небось же сейчас, при федерации, серверы
будут требовать TLS и чтобы они ему могли доверять? TLS сертификат то я
сделал с самого начала, но XMPP сервер FSF отказался со мной общаться,
ибо не доверяет ему. А jabber.ru не отказался (хотя я и не смотрел,
может быть вообще он не по TLS соединялся).

Поэтому и XMPP как некое универсальное решение для IM-ов, из-за того,
что сисопы требуют чтобы сервер получил разрешение от организаций
США/НАТО на "безопасную" (8fafe32b1788cb579e357c4fad54ec039d600677)
связь. Может быть ещё CA и каких-нибудь других юрисдикций используют, но
навряд ли и... какого чёрта? Вот если один человек для связи с другим
будет регистрироваться (через XMPP клиент) на его сервере, то это хоть
как-то может работать, но тогда смысла в федерации никакого уже нет.