feedsin.space -- RSS feeds on the fediverse
Introducing feedsin.space, a service for generating Fediverse accounts that post content from RSS feeds.
Something that I've learned over the years of running botsin.space is that a lot of people want to be able to publish RSS feeds to Mastodon. A few months ago, I decided to implement a service to run alongside botsin.space that people could use to setup accounts for RSS feeds, but without needing to go through the work of setting up a full Mastodon account on botsin.space.
Using feedsin.space is pretty straightforward. First, you need to authenticate with the website by sending a message from your mastodon account to @admin@feedsin.space with the word "help". You'll get a response with a link you can click on to authenticate with the website. Then, you can create an account on feedsin.space by specifying a username for the account and the RSS feed you want to follow. Assuming everything looks good, there will be an account created at @username@feedsin.space, which you can follow from your Mastodon account, and any time the RSS feed updates, you'll get the post in your timeline.
I've implemented a few features to the service beyond the basics, including:
- You can set the visibility of posts, so they can be public, unlisted, followers-only, or you can opt to get direct messages from the service to keep your feed private
- The ability to add a content warning to posts
- An optional hashtag for posts
- A setting for allowing/disallowing search engine indexing
- Embedded audio from podcasts (this isn't working as well as I want)
In the future, I am thinking about adding a directory of feeds available on the service, and I have some other things on my todo list.
The Code
feedsin.space is written in Rust, and the code is available on Github. There's a few libraries I've used, and other ActivityPub websites/projects that I frequently referenced to figure out what the heck I was doing. The ActivityPub protocol can be pretty intimidating to learn, so I spent a lot of time looking at the code for these projects:
- The ActivityPub spec
- The rust ActivityStreams library. I wouldn't have built the project in Rust without this library
- Plume and Lemmy, two AP projects which use Rust
- Darius Kazemi's rss-to-activitypub
- Mastodon itself. I ran a local copy of Mastodon for testing, and I hacked into the code for sending/receiving messages to get an idea of what was going on, for debugging, etc, etc.
Alternatives
If you want to get RSS feeds into the Fediverse, but this doesn't seem like the service you are looking for, there's a few other tools currently available to do this, including:
- feed2toot, which is a script you can run to post from an RSS feed to an account.
- Zapier and/or IFTTT, if you're willing to hack a bit.
- Darius Kazemi's rss-to-activitypub project.
- MastoFeed, which is a web service to do this, but it's a little mysterious about who runs it, and it requires a lot of excess permissions.
- FeedBot appears to be similar to MastoFeed, but I can't get it to work for me right now so I don't have much of an opinion about it.