Wer den Umstieg von Twitter auf Mastodon vollzogen hat, merkt unter Umständen, dass einige Nachrichtenquellen hier noch fehlen. Eine Möglichkeit diese in das Fediverse zu holen, ist es z.B. einen RSS Feed per Mastodon Bot zu nutzen. Diese Anleitung zeigt dir, wie du RSS Feeds mit feed2toot an Mastodon überträgst.
Die RSS Feeds werde ich auf meinem eigenen Mastodon Server veröffentlichen. Wenn du wissen willst, wie man einen eigenen Mastodon betreibt, findest du hier eine Anleitung von mir. Du kannst das natürlich auch auf jedem beliebigen Mastodon Server machen.
Voraussetzungen
Diese Anleitung setzt einige Dinge voraus:
- Lauffähiges Linux Betriebssystem, in meinem Fall ist das Gentoo
- Installierter Python Interpreter mit VENV Erweiterung
- PIP Installer
- Cron Daemon
- Einen Mastodon Account auf dem der RSS Feed später übertragen wird
Die oben aufgelisteten Pakete solltest du mit dem jeweiligen Paketmanager deiner verwendeten Distribution installieren.
Virtuelle Umgebung erstellen
In dieser Anleitung verwende ich den feed2toot Bot, der in Python geschrieben ist. Damit ich mein Gentoo System nicht mit Software, die nicht im Paketmanager vorhanden ist “kompromittiere”, verwende ich in solchen Fällen eine virtuelle Umgebung in Python.
Zuerst legen wir einen Ort fest, wo wir das installieren wollen:
mkdir -p /opt/feed2toot
Dir steht es frei einen anderen Ort zu wählen, denk aber daran im Verlauf der Anleitung die Pfade entsprechend anzupassen.
Nun erstellen wir die virtuelle Umgebung:
python3 -m venv /opt/feed2toot
Benutzer anlegen und Berechtigungen ändern
Beim betreiben von was auch immer auf einem Linux Server sollte man sich immer einen extra Benutzer hierfür anlegen:
useradd -m -s /bin/bash feed2toot
chown feed2toot:feed2toot -R /opt/feed2toot
Virtuelle Umgebung betreten
Nun wird es Zeit die virtuelle Umgebung zu betreten:
su feed2toot
cd /opt/feed2toot
source bin/active
Feed2toot installieren
Nun installieren wir unseren feed2toot Bot in der virtuellen Umgebung:
pip3 install feed2toot
Feed2toot auf Mastodon Instanz registrieren
Für diesen Schritt solltest du dir schon ein Mastodon Konto erstellt haben, da wir es jetzt benötigen. Wir werden nun unseren Bot auf der Mastodon Instanz registrieren.
register_feed2toot_app
Dies führt dich durch den Einrichtungsprozess, in dem du einige Dinge eingeben musst:
Parameter | Erläuterung |
---|---|
Mastodon instance URL | Gebe hier die Mastodon Instanz an, die du benutzen willst |
Mastodon login | Dein Login auf der oben definierten Instanz |
Mastodon password | Das Passwort zu deinem Login |
Mit der Eingabe der oberen Parameter bist du dann auch schon fertig.
Konfigurationsdatei erzeugen
Durch den vorherigen Schritt wurden zwei Dateien im aktuellen Verzeichnis erstellt. Es ist sinnvoll diese aus der virtuellen Umgebung an eine anderen ort zu packen, denn diese würden bei einem Update dieser Umgebung verloren gehen.
Ich habe mich für das Home Verzeichnisses des Benutzers entscheiden. Wenn man plant mehrere RSS Feeds mit unterschiedlichen Mastodon Nutzern zu benutzen, sollten man diese dann jeweils in einen eigenen Unterordner schieben.
mkdir -p /home/feed2toot/feed1
cp feed2toot_clientcred.txt /home/feed2toot/feed1/
cp feed2toot_usercred.txt /home/feed2toot/feed1/
Nun erzeugen wir uns für diesen RSS Feed die notwendige Konfigurationsdatei:
nano -w /home/feed2toot/feed1/config.ini
Wir fügen folgenden Inhalt hinzu:
[mastodon]
instance_url=https://mastodon.social
user_credentials=/home/feed2toot/feed1/feed2toot_usercred.txt
client_credentials=/home/feed2toot/feed1/feed2toot_clientcred.txt
; Default visibility is public, but you can override it:
; toot_visibility=unlisted
[cache]
cachefile=/home/feed2toot/feed1/cache.db
cache_limit=1000
[lock]
lock_file=/home/feed2toot/feed1/feed2toot.lock
lock_timeout=3600
[rss]
uri=https://www.example.org/rss
toot={title} {link}
[hashtaglist]
several_words_hashtags_list=/home/feed2toot/feed1/hashtags.txt
Den Parameter “instance_url” solltest du auf deine gewünschte Mastodon Instanz anpassen. In der Sektion RSS den Parameter “uri” entsprechend mit dem gewünschten Link zum RSS Feed füllen.
Wenn du den Beiträgen immer bestimmte Hashtags beifügen möchtest, erzeuge dir eine Datei “hashtags.txt” im gleichen Verzeichnis wie die Konfigurationsdatei, ansonsten kommentiere die Zeile mit “;” aus.
Ein genaue Erklärung aller Einstellungen findest du hier.
Funktion testen
Nun teste wir mal ob das ganze funktioniert:
feed2toot -c /home/feed2toot/feed1/config.ini
Nun sollten die ersten Feeds auf Mastodon eintrudeln, ansonsten überprüfe noch einmal alle Daten!
Automatische Aktualisierung des RSS Feeds
Da das nun funktioniert kümmern wir uns nun um eine automatische Aktualisierung via Cronjob.
Zuerst erstellen wir uns ein Script, das wir einfach ausführen können. Ich lege das in das entsprechende Feed Verzeichnis:
nano -w /home/feed2toot/feed1/refresh.sh
Und fügen folgenden Inhalt hinzu:
#!/bin/bash
cd /opt/feed2toot
python -m venv .
source bin/activate
feed2toot -c /home/feed2toot/feed1/config.ini
Nun machen wir die Datei ausführbar:
chmod +x /home/feed2toot/feed1/refresh.sh
Jetzt müssen wir nur noch eine Cronjob anlegen:
crontab -e -u feed2toot
Der Inhalt hierfür:
*/15 * * * * /home/feed2toot/feed1/refresh.sh
Dieser Cronjob wird den RSS Feed alle 15 Minuten automatisch aktualisieren.
Update
Feed2toot
Um feed2toot zu aktualisieren müssen wir Folgendes tun:
su feed2toot
cd /opt/feed2toot
source bin/activate
pip3 install --upgrade feed2toot
Python VENV
Sollte auf dem System ein Python update passiert sein müssen wir Folgendes tun:
su feed2toot
cd /opt/feed2toot
rm -r *
python3 -m venv /opt/feed2toot
source bin/activate
pip3 install feed2toot
Fazit
Dank den Entwicklern von feed2toot ist das Betreiben eines RSS Feed Bot für Mastodon eine einfache Sache. Ich hoffe diese Anleitung hat dir weitergeholfen!