Pull to refresh

ActivityPub в Awakari

Level of difficultyMedium
Reading time2 min
Views638
Original author: Andrei Kurilov

Сегодня всё больше и больше сервисов объявляют о своей поддержке ActivityPub, в том числе даже такие, как Tumblr или Threads. И это ожидаемо, так как ActivityPub позволяет сохранять контроль над собственными данными, в отличие от закрытых сервисов Meta. Кроме того, это позволяет обмениваться данными более независимо (Fediverse). Применение ActivityPub не ограничивается социальными сетями и блогами. Есть сервисы для хостинга изображений, видео, музыки и многое другое.

Если рассматривать все эти активности как события, то это позволит сервису Awakari открыть целое новое измерение в Fediverse. Используя Awakari можно отслеживать интересные события из неограниченного множества источников.

Термины

Awakari - бесплатный сервис, который фильтрует события из общего потока по критериям пользователя (ключевые слова, числовые условия, группы условий). События собираются из множества различнх источников (RSS/Atom, WebSub, Telegram, Fediverse).

В терминах ActivityPub источник событий называется "актор". Поэтому в дальнейшем я буду называть все возможнные "профили" и "аккаунты" Fediverse акторами.

При конвертации исходной активности (JSON) в формат CloudEvents (используется внутри Awakari) все атрибуты по возоможности сохраняются такими, какие они есть. Есть исключения и они задокументированы.

Использование на практике

Можно просто зайти в какой-нибудь сервис, поддерживающий протокол ActivityPub и скопировать адрес необходимого "актора". Например, в Mastodon, в профиле актора всегда есть кнопка "Copy link to profile".

В разных сервисах это выглядит немного по-разному, но обычно адрес актора легко найти. Есть различные форматы адреса актора:

  1. Прямая ссылка на актора, например: https://mastodon.social/users/Mastodon

  2. Ссылка-ярлык (алиас): https://mastodon.social/@Mastodon

  3. WebFinger адрес: Mastodon@mastodon.social

Awakari понимает все три варианта и автоматически определяет прямую ссылку на актора из ярлыка или WebFinger адреса. Внутри системы источник всегда регистрируется только по прямой ссылке. После получения адреса актора нужно открыть интерфейс Awakari и на вкладке "Pub" нажать кнопку "+ Source".

Если удалось определить актора и подписаться на него, система сообщает прямую ссылку на зарегистрированного актора. Теперь все активности данного актора будут поступать в Awakari. Можно создать какую-нибдуь подписку, чтобы фильтровать нужные события и ждать, пока что-нибудь интересное не произойдет. Тестировать тоже просто - добавьте собственный профиль в качестве источника и опубликуйте в Mastodon пост, содержащий ключевые слова, чтобы срабатывала ваша подписка:

Интеграция с ActivityPub сейчас лучше всего протестирована и работает с серверами на основе Mastodon, Friendica и Hubzilla. Теоретически, должны работать и остальные варианты, но некоторые сервисы пока сопротивляются отказываются.

Отдельное спасибо автору @grishkaaза статью Пишем минимальный ActivityPub-сервер с нуля, которая значительно облегчила всю работу в этом направлении.

Tags:
Hubs:
Rating0
Comments9

Articles