Das Teilen von Links nach Mastodon klappt mit der Firefox-Extension Mastodon Share schon sehr gut. Bei Feeds wäre es nur klasse, wenn das automatisch passiert.
Auf Anregung von Lioh habe ich mir feed2toot angeschaut, endlich einmal ein Tool mit ausführlicher Dokumentation.
Bei Python-Skripten, die nicht mit der eingesetzten Distribution mitgeliefert werden oder die man möglichst aktuell benutzen möchte, lohnt sich die Installation mit pip.
$ python3 -m venv ~/venv/feed2toot
$ source ~/venv/feed2toot/bin/activate
$ pip install --upgrade pip
$ pip install feed2toot
Im nächsten Schritt muss man feed2toot als App in Mastodon registrieren und bekommt nach Registrierung die Client- und User-Credentials zurück.
$ mkdir -p ~/workspace/feed2toot
$ register_feed2toot_app
$ mv feed2toot_clientcred.txt feed2toot_usercred.txt ~/workspace/feed2toot
Meine feed2toot.init-Datei sieht folgendermassen aus:
[mastodon]
instance_url=https://social.anoxinon.de
user_credentials=/home/dirk/workspace/feed2toot/feed2toot_usercred.txt
client_credentials=/home/dirk/workspace/feed2toot/feed2toot_clientcred.txt
[cache]
cachefile=/home/dirk/workspace/feed2toot/feed2toot.db
cache_limit=10000
[lock]
lock_file=/home/dirk/workspace/feed2toot/feed2toot.lock
lock_timeout=3600
[rss]
uri=https://www.deimeke.net/dirk/blog/index.php?/feeds/index.rss2
toot={title} - {link}\n{summary:400}
no_uri_pattern_no_global_pattern=true
[hashtaglist]
[feedparser]
accept_bozo_exceptions=true
[media]
Beim Aufbau des toot-Parameters haben mir die folgenden beiden Kommandos geholfen:
$ feed2toot --rss-sections -c ~/workspace/feed2toot/feed2toot.ini
$ feed2toot --dry-run -c ~/workspace/feed2toot/feed2toot.ini
Wenn alles in Ordnung ist, kann der Cache einmalig gefüllt werden, damit nicht gleich alle Feedartikel veräffentlicht werden.
$ feed2toot --populate-cache -c /home/dirk/workspace/feed2toot/feed2toot.ini
Wenn alles wie gewünscht funktioniert, baut man sich ein Miniskript, macht es ausführbar und führt es via Cron regelmässig aus.
#!/bin/bash
set -o errexit
source /home/dirk/venv/feed2toot/bin/activate
/home/dirk/venv/feed2toot/bin/feed2toot -c /home/dirk/workspace/feed2toot/feed2toot.ini