Сообщество энтузиастов радо представить новую версию Pleroma — сервера для ведения блогов с текстовой разметкой, написанного на языке Elixir и использующего стандартизированный W3C протокол федеративной сети ActivityPub. Это вторая по распространённости реализация сервера.
Сравнивая с ближайшим конкурирующим проектом — Mastodon, написанным на Ruby, работающим в той же ActivityPub-сети, — Pleroma может похвастаться небольшим размером и меньшим количеством внешних зависимостей, благодаря чему дешевле обходится в обслуживании и работает на бо́льшем количестве конфигураций. В то же время это достигается не во вред функциональности, наоборот, в Pleroma куда меньше ограничений и больше настраиваемых опций, когда в Mastodon это чаще всего будет хардкод. Более того, Pleroma реализует Mastodon API, позволяя использовать клиентские приложения от Mastodon и даже его веб-интерфейс, который поставляется рядом с веб-интерфейсом Pleroma.
Для пользователей Twitter и других проприетарных централизованных сервисов Pleroma может быть интересна настраиваемым ограничением в 5000 символов на пост по умолчанию, форматированием текста в Markdown/BBCode/HTML, расширенным профилем, множеством интерфейсов — как в классическом стиле, так и Tweet Deck, пользовательскими эмодзи и стикерами, движком тем интерфейса и многим другим. Но немаловажной чертой является природа федеративных сетей: вы выбираете себе сервер с правилами и аудиторией, которая вам по душе, или организовываете свой собственный, полностью контролируя данные на нём, не завися от единой точки отказа.
Стоит отметить развитие схожего с Twitter интерфейса для Pleroma — Soapbox, отличающегося простотой, минимализмом и производительностью.
Главной особенностью выпуска является добавление федеративного чата, так же работающего по протоколу ActivityPub! Он доступен в виде личных сообщений, где, как и в обычных постах, работает загрузка вложений и пользовательские эмодзи. В планах групповая версия чатов и E2E-шифрование. Это не первая итерация сообщений в реальном времени. До этого уже была добавлена реализация простого централизованного чата, расположенного в углу интерфейса, куда мог написать любой пользователей сервера и это бы увидели все остальные. Также была добавлена интеграция с XMPP-сервером MongooseIM, но без возможности использовать XMPP прямо из интерфейса Pleroma.
Одновременно с выходом чатов в Pleroma, той же функциональностью обзавёлся бруталистский и ультраминималистичный ActivityPub-сервер Honk, написанный на Go. Если статусы в Honk называются «honks», то мгновенные сообщения получили название «chonks». Honk-honk!
И в контексте прочих изменений:
- опции для скрытия ленты постов и профилей пользователей из публичного доступа;
- возможность отправки запроса на разрешение регистрации;
- инструменты для установки интерфейсов и настройки их по умолчанию вместо Pleroma-FE;
- автоматическая синхронизация пользовательских эмодзи с одобренными для этого серверами;
- посты из прошлого теперь не будут внезапно всплывать в ленте постов настоящего (это не баг);
- реструктуризация интерфейса лент постов, теперь они объединены в одну вкладку;
- улучшение производительности.
Планы на будущие выпуски:
- ещё больше оптимизаций производительности;
- федерация с помощью WebSocket-соединения;
- возможность пользователям самостоятельно выбирать интерфейс;
- генерация превью для вложений (сейчас их нет и это значительная нагрузка на трафик);
- всплывающие подсказки по наведению на профиль пользователя;
- улучшения в движке тем и на странице настроек;
- …
- ГРУППЫ (это самая ожидаемая и желанная функциональность ещё со времён GNU Social, предшественника Pleroma).
Сервер на скриншоте — sect.sunbutt.faith. На корневом домене расположена вики с пополняющейся информацией о федеративных сетях.
Также в контексте новости нельзя не упомянуть действия Google в отношении федеративных сетей: Google разослал разработчикам клиентов Mastodon предупреждения с требованием решить проблему призывов к насилию и дискриминации. Разработчикам дано 7 дней на устранение проблемы. Такое же предупреждение пришло японскому разработчику.
>>> Подробности