Tobias Scheible Cyber Security & IT-Forensik Dozent
Mastodon Smartphone App

Mastodon-Feed einfach im Blog integrieren

Seit Jahren begegne ich immer wieder dem Thema Mastodon auf den einschlägigen Blogs und Websites. Mastodon ist ein Mikroblogging-Dienst in Form eines dezentralen Netzwerkes, gedacht als Gegenentwurf zu den großen kommerziellen Plattformen. Nachdem nun die Entwicklungen bei Twitter in den letzten Monaten meine Motivation verstärkt haben, einen Wechsel durchzuführen, ist er nun vollbracht (@scheible@social.tchncs.de). In […]

Mittwoch, 25. Januar 2023
0 Kommentare

Seit Jahren begegne ich immer wieder dem Thema Mastodon auf den einschlägigen Blogs und Websites. Mastodon ist ein Mikroblogging-Dienst in Form eines dezentralen Netzwerkes, gedacht als Gegenentwurf zu den großen kommerziellen Plattformen. Nachdem nun die Entwicklungen bei Twitter in den letzten Monaten meine Motivation verstärkt haben, einen Wechsel durchzuführen, ist er nun vollbracht (@scheible@social.tchncs.de). In diesem Artikel zeige ich Ihnen, wie Sie Ihren Blog am besten mit Mastodon verknüpfen.

Mastodon-Universum

Das Besondere an Mastodon ist, dass es sich zum einen um eine Open-Source-Software handelt, die jeder installieren kann, und zum anderen, dass jeder eine Instanz betreiben kann. Dadurch existieren viele verschiedene Mastodon-Server, die von Vereinen, Organisationen oder Privatpersonen betrieben werden. Sie können sich das so vorstellen, als ob jeder Server eine eigene kleine Community ist, die sich zu einem bestimmten Thema zusammengeschlossen hat. Zusätzlich gibt es aber auch mehrere große allgemeine Instanzen, bei denen keine spezifischen Thematiken im Vordergrund stehen.

Das Universum von Mastodon ist mittlerweile auf über 17 Tausend Instanzen mit insgesamt 8,8 Millionen Teilnehmenden angewachsen (Stand 26. Dezember 2022). Dabei sind die einzelnen Instanzen keine isolierten Inseln, sondern miteinander verbunden, wodurch eine Kommunikation im gesamten Mastodon-Universum möglich ist.

Der Vorteil von Mastodon ist, dass es kein kommerzielles System ist, also auch kein Tracking und keine Werbung existiert.

Auswahl einer Instanz

Wenn Sie sich bei Mastodon anmelden möchten, müssen Sie sich als Erstes eine Instanz aussuchen. Durch den Ansturm in den letzten Monaten ist momentan nicht auf jeder Instanz eine Anmeldung möglich, häufig gibt es aber eine Warteliste. Als globale Übersicht über alle Instanzen können Sie die Seite instances.social verwenden. Hier können Sie alle Instanzen nach verschiedenen Kriterien filtern.

Alternativ schauen Sie sich um, auf welcher Instanz die Personen sind, mit denen Sie sich regelmäßig austauschen oder denen Sie folgen. Ich habe mich daher für die Mastodon-Instanz social.tchncs.de entschieden.

Umzug zu Mastodon

Für den Umzug von Twitter zu Mastodon verwenden Sie das Online-Tool Fedifinder. Hinterlegen Sie Ihre persönliche Mastodon-URL in Ihrem Twitter Profil und melden Sie sich über Fedifinder bei Twitter an. Daraufhin werden die Benutzernamen der Follower des eigenen Twitter-Accounts ausgelesen und danach auf den verschiedenen Mastodon Instanzen gesucht. Als Ergebnis erhalten Sie eine Exportdatei, die Sie in Ihren Mastodon-Account importieren können. Freundlicherweise wird die URL für den Import direkt angezeigt.

Wer noch nach interessanten Accounts zum Folgen sucht, dem kann ich das Tool followgraph.vercel.app empfehlen.

WordPress zu Mastodon

Wenn ich neue Funktionen in meinem WordPress-Blog hinzufüge, verfolge ich das Prinzip des Minimalismus. Lieber eine kleine Funktion selbst schreiben als ein komplexes Plug-in einsetzten, das sich vielleicht in Zukunft, etwa durch eine eingestellte Entwicklung, zu einem Problem erweisen könnte. Daher hatte ich für den automatischen Tweet eines neuen Blog-Eintrags bei Twitter eine eigene kleine Funktion entwickelt.

Für das automatische Veröffentlichen von neuen Blog-Artikeln auf Mastodon gibt es aber das Plug-in Mastodon Autopost. Die Funktionen sind auf das Wesentliche beschränkt und es wird von Simon Frey als Open-Source-Projekt entwickelt (GitHub). Daher habe ich dieses bei mir eingerichtet. Sie können es einfach über den Plug-in-Manager installieren – die Einrichtung ist selbsterklärend.

Mastodon-Feed integrieren

Bisher stellte ich im Footer-Bereich meines Blogs die letzten zehn Twitter-Nachrichten von mir als Liste dar. Auch hier erfolgte der Wechsel auf meinen Mastodon-Feed. Hier gibt es zwar auch einige Plug-ins, aber das Auslesen der aktuellen Nachrichten geht sehr einfach, da jede Mastodon Instanz eine einfache API bereitstellt.

Mastodon JSON API

Als Erstes benötigen Sie die User ID zu Ihrem Account. Wenn Sie diese nicht kennen, geben Sie Ihren Benutzernamen im Format @scheible@social.tchncs.de auf der Seite prouser123.me/mastodon-userid-lookup/ ein. Sie erhalten dann als Ergebnis Ihre ID. Die URL des API-Aufrufs hat das folgende Format:

[URL Instanz]/api/v1/accounts/[User ID]/statuses?limit=[Limit]

Für meinen Account sieht der Aufruf wie folgt aus:

https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10

Sie können sich das Ergebnis zum Beispiel mit ein JSON Viewer ansehen. Klicken Sie auf „Load Data“ und geben Sie in das folgende Feld die URL ein.

PHP-Code

Der nachfolgende Code zeigt exemplarisch, wie eine einfache Einbindung erfolgen kann. Zuerst werden die Daten mit file_get_contents() geladen und mit json_decode() die JSON-Daten dekodiert, damit sie weiter verarbeitet werden können.

$mastodonRaw= file_get_contents("https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10");
$mastodonJson = json_decode($mastodonRaw);

Um sie als Liste auszugeben, wird der ul-Tag ausgegeben und die Daten anschließend in einer foreach-Schleife der Reihe nach bearbeitet. Um das Datum in der deutschen Schreibweise darzustellen, wird es mit date_parse() eingelesen.

echo '
    '; foreach($mastodonJson as $mastodonElement){ $mastodonDate = date_parse("$mastodonElement->created_at"); } echo '
';

Die Ausgabe erfolgt als Listenelement. Als Erstes wird in dem time-Tag das Datum ausgegeben und danach die eigentliche Nachricht. Da Mastodon Umbrüche und weitere HTML-Tags erlaubt, ersetzte ich die Umbrüche mit str_replace() durch ein Leerzeichen und entferne mit strip_tags() die Tags. Abschließend füge ich einen Umbruch ein und den direkten Link zur Nachricht. Für die Optik entferne ich mit substr() das https:// in der Darstellung.

echo'
  • '.strip_tags(str_replace('
    ', ' ', $mastodonElement->content)).'
    <a href="'.$mastodonElement->url.'">'.substr($mastodonElement->url, 8).'</a>
  • ';

    Hier der komplette PHP-Code, um den Mastodon-Feed in WordPress zu integrieren:

    $mastodonRaw= file_get_contents("https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10");
    $mastodonJson = json_decode($mastodonRaw);
    echo '
      '; foreach($mastodonJson as $mastodonElement){ $mastodonDate = date_parse("$mastodonElement->created_at"); echo'
    • '.strip_tags(str_replace('
      ', ' ', $mastodonElement->content)).'
      <a href="'.$mastodonElement->url.'">'.substr($mastodonElement->url, 8).'</a>
    • '; echo '
    ';

    Ich würde mich freuen, wenn Sie mir auf Mastodon folgen: @scheible@social.tchncs.de

    Foto Quell: unsplash.com

    Über Tobias Scheible

    Tobias Scheible

    Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

    Kommentare

    Es wurde noch kein Kommentar abgegeben.

    Schreibe einen Kommentar!

    Hilfe zum Kommentieren und Hiweise

    Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

    Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

    E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

    Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

    Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

    Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.