Mastodon - новая платформа для создания децентрализованных социальных сетей
Код серверной части проекта написан на языке Ruby с использованием Ruby on Rails, а клиентский интерфейс написан на JavaScript с применением библиотек React.js и Redux. Исходные тексты распространяются под лицензией AGPLv3. Также имеется статический фронтэнд для публикации общедоступных ресурсов, таких как профили и статусы. Хранение данных организовано при помощи PostgreSQL и Redis. Предоставляется открытый API для разработки дополнений и подключения внешних приложений (имеются клиенты для Android, iOS и Windows, можно создавать ботов).
Mastodon позиционируется как альтернативная реализация GNU Social. Платформа базируется на использовании формата ActivityStreams (лента публикаций), а также протоколов Webfinger (определение информации о пользователе через идентификатор похожий на email), PubsubHubbub (подписка на ленту публикаций) и Salmon (децентрализованный обмен сообщениями). Сообщения обрабатываются в хронологическом порядке. Размер публикации ограничен 500 символами, возможна передача коротких видео. Возможно определение настроек приватности в привязке к отдельным публикациям.
Основные возможности:
- Полная переносимость с GNU Social и другими платформами на базе протоколов OStatus;
- Обновление списка событий в реальном времени - информация обновляется сразу после поступления новых сообщений в лентах, на которые оформлена подписка. Доставка информации о новых событиях осуществляется через WebSockets;
- Автоматическое объединение нитей обсуждений - если пользователь, на сообщения которого оформлена подписка, ответит какому-то пользователю, неизвестному на текущем сервере, то сервер загрузит полную нить обсуждения;
- Поддержка прикрепления изображений и видео в формате WebM;
- Возможность работы в качестве провайдера OAuth2 для сторонних приложений;
- Все ресурсоёмкие и длительно выполняемые задачи запускаются в фоне и не влияют на отзывчивость интерфейса;
- Возможность быстрого развёртывания сервера при помощи готового образа Docker.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46390
|
0 | Tweet | Нравится |
|