Jak pobrać listę profili, które cię obserwują

Czyli wstęp do własnego “Unfollowers” :)

#Mastodon pozwala ci pobrać listę obserwowanych profili, ale nie obserwujących.

Opcje eksportu danych serwera Mastodon

Ten mały skrypt w #bash korzystający z #curl i #jq pozwala ominąć tę niedogodność, wykorzystując API serwera.

#!/usr/bin/env bash

instance="https://twoja.instancja"
user="m0bi13"

json=$(curl -s -H "Accept: application/activity+json" $instance/users/$user/followers?page=1)
echo "$json" | jq -r .orderedItems[] | xargs -I% echo "%"
next=$(echo "$json" | jq -r .next)

while true; do
        json=$(curl -s -H "Accept: application/activity+json" "$next")
        echo "$json" | jq -r .orderedItems[] | xargs -I% echo "%"
        next=$(echo "$json" | jq -r .next)
        if [ -z "$next" ]; then
                break
        fi
done

Pobierając taką listę codziennie i porównując z poprzednią, możesz sobie stworzyć narzędzie do przeglądania nowych obserwujących oraz tych, którzy z obserwowania ciebie zrezygnowali.

Uwaga: jeśli “zrezygnowali”, nie ma ich na liście, ale serwer ich instancji zwraca 404 dla poprzedniego adresu, to znaczy, że zmienili instancję, a nie skasowali follow, mogą pojawić się na nowych instancjach z follow twojego profilu. Nie znam sposobu, jak “sparować” takie przenosiny, co mogłoby być kluczem łączącym. Ty znasz? Napisz do mnie. Kontakt w stopce :)

Plik do pobrania w moim repo do #Mastodon na #Codeberg jako list-following:

https://codeberg.org/m0bi/mastodon-usefull

Ściągasz, nadajesz atrybut wykonywalności, wpisujesz swoją instancję i swoje konto, odpalasz albo zapinasz do #cron-a i gotowe.

P.S. Skrypt znalazłem “dawno temu w sieci” i przerobiłem, a teraz pomyślałem, że i tobie się przyda.

P.S.2 Endpoint, z którego skrypt korzysta, nie wymaga autoryzacji, więc możesz podglądać również obserwujących inne profile.

P.S.3 jq to “swiss army knife” do #JSON-a, warto bliżej poznać.

— Chcesz wesprzeć moje pisanie i działania? Wpłać datek na fundację FTdL @ftdl@pol.social, z którą współpracuję :) Jednorazowo: https://ftdl.pl/wplaty/ Cyklicznie: https://ftdl.pl/wsparcie/ Fedi: m0bi13@pol.social E-mail: m0bi@e.email