ActivityPub (ActivityPub)
ActivityPub | |
---|---|
Название | ActivityPub |
Уровень (по модели OSI) | Прикладной |
Семейство | ActivityPump |
Создан в | 2018 |
Назначение протокола | децентрализованный обмен данными |
Основные реализации (клиенты) | Dokieli, go-fed |
Основные реализации (серверы) | Mastodon, Hubzilla, PeerTube |
Расширяемость | да |
Разработчик | Консорциум Всемирной паутины |
Медиафайлы на Викискладе |
ActivityPub — открытый и децентрализованный протокол социальных сетей, основанный на протоколе ActivityPump Pump.io.[1] Предоставляет API для клиента/сервера для создания, обновления и удаления контента, а также объединённый API для доставки уведомлений и контента с одного сервера на другой.
Статус проекта
[править | править код]ActivityPub является стандартом для Интернета в Группе социальных сетей Консорциума Всемирной паутины (W3C). На более раннем этапе протокол назывался «ActivityPump», но считалось, что ActivityPub лучше отражает цель перекрестной публикации протокола. Этому научились из опыта работы со старым стандартом под названием OStatus.
В январе 2018 года Консорциум Всемирной паутины (W3C) опубликовал стандарт ActivityPub в качестве Рекомендации.[2]
Бывший руководитель сообщества Diaspora Шон Тилли написал статью, в которой предложил использовать протоколы ActivityPub в качестве способа объединения интернет-платформ.[3]
Принцип действия
[править | править код]Протокол работает поверх обычного HTTPS. Взаимодействующие пользователи в терминологии activityPub называются «актёрами» (англ. actor), а передаваемые друг другу сообщения называются «активностями» (англ. activity). Сервер называют «инстансом» (англ. instance). На каждом сервере по определённому адресу расположен «инбокс» (англ. inbox), в который другие серверы передают свои активности. Активности передаются методом POST, запакованными в JSON и зашифрованными согласно HTTPS.
Активности могут быть типов Like, Follow, Add, Announce и других.[4] Получатель обрабатывает полученное сообщение соответствующим образом (обновляя локальную ленту), либо отправляет в ответ сообщение Reject.
Значимые реализации
[править | править код]Объединённый (сервер-сервер) сервер
[править | править код]- Mastodon, открытое программное обеспечение для социальных сетей с внедрённым ActivityPub (добавлено в версии 1.6), выпущенное 10 сентября 2017 года. Предполагается, что ActivityPub обеспечивает большую безопасность для личных сообщений, чем предыдущий протокол OStatus.[5]
- Pleroma, открытое программное обеспечение для социальных сетей с внедрённым ActivityPub.[5]
- Misskey, открытое программное обеспечение для социальных сетей с внедрённым ActivityPub.
- Hubzilla, совместная программная платформа CMS, использующая Zot, добавила поддержку ActivityPub в версии 2.8 (октябрь 2017) с плагином.
- Nextcloud, личное самохостинговое облако.
- PeerTube, федеративный сервис для стриминга видео.[5]
- Pixelfed, федеративный сервис для обмена фотографиями.
- Friendica, открытое программное обеспечение для социальных сетей с внедрённым ActivityPub (добавлено в версии 2019.01).[6]
- Osada, открытое программное обеспечение для социальных сетей с внедрённым Zot и ActivityPub.
- GoToSocial, федеративный сервис с поддержкой ActivityPub, написан на Go.
Протокол клиент-сервер
[править | править код]Клиентская реализация
[править | править код]Следующие решения являются понятными клиентскими реализациями ActivityPub:[5]
- dokieli, редактор с клиентской стороны с помощью WebAnnotation и ActivityPub.[7]
- go-fed, библиотека, реализующая ActivityStreams и ActivityPub на языке Go.[8]
Серверная реализация
[править | править код]Следующие решения являются понятными серверными реализациями ActivityPub:[5]
- microblog.pub, однопользовательская микроблоговая реализация для базового сервера ActivityPub, находящийся в стадии разработки.[9]
- distbin, распределённый сервис хранения отрывков текста, реализующий ActivityPub.[10]
См. также
[править | править код]Примечания
[править | править код]- ↑ "Sandstorm And The Social Web" (англ.). zenhack.net. Дата обращения: 18 апреля 2019. Архивировано 30 октября 2020 года.
- ↑ "W3C Recommendation 23 January 2018" (англ.). Дата обращения: 18 апреля 2019. Архивировано 18 ноября 2020 года.
- ↑ Tilley, Sean. "A quick guide to The Free Network" (англ.) (23 сентября 2017). Дата обращения: 18 апреля 2019. Архивировано 8 ноября 2020 года.
- ↑ w3.org: ActivityPub/Primer
- ↑ 1 2 3 4 5 "Implementation reports" (англ.). activitypub.rocks. Дата обращения: 18 апреля 2019. Архивировано 6 апреля 2021 года.
- ↑ "Friendica 2019.01 released" (англ.). Дата обращения: 18 апреля 2019. Архивировано 1 марта 2021 года.
- ↑ "dokieli" (англ.). Дата обращения: 18 апреля 2019. Архивировано из оригинала 5 апреля 2019 года.
- ↑ "ActivityStreams & ActivityPub in golang, oh my!" (англ.). Дата обращения: 18 апреля 2019. Архивировано 29 июля 2018 года.
- ↑ "microblog.pub" (англ.). Дата обращения: 18 апреля 2019. Архивировано 29 июня 2020 года.
- ↑ "distbin" (англ.). Дата обращения: 18 апреля 2019. Архивировано из оригинала 19 августа 2018 года.
Ссылки
[править | править код]- "ActivityPub Rocks!" (англ.). activitypub.rocks.
- s4n2a. "Не ходи в Fediverse, там тебя ждут неприятности. — Ну как же туда не ходить? Они же ждут" . habr.com (24 декабря 2017).
- "Diaspora* — альтернативная социальная сеть в постсноуденовскую эпоху" . tproger.ru (29 сентября 2016).