Awesome
<img src="./logo.png" width="100" />MastoFeeder
RSS to ActivityPub proxy
This is a simple Mastodon/ActivityPub server that has a virtual
@website@mastofeeder.com
user for every RSS feed in the Internet. Just search
for your favourite RSS-enabled website from Mastodon's search and follow the
user! All RSS items will be posted as toots.
Examples:
@xkcd.com@mastofeeder.com
@engadget.com@mastofeeder.com
@techcrunch.com@mastofeeder.com
- Or any other website that has an RSS feed!
@YOUR_WEBSITE_HERE@mastofeeder.com
- Convert slashes to dots:
indiegames.com/blog
->@indiegames.com.blog@mastofeeder.com
- Remove
.rss
and.xml
extensions:https://feeds.yle.fi/uutiset/v1/majorHeadlines/YLE_UUTISET.rss
->@feeds.yle.fi.uutiset.v1.majorHeadlines.YLE_UUTISET
Developing
You can run the project locally:
yarn
SERVER_HOSTNAME=your-domain.com yarn dev
This runs the project using ts-node
. Note that you need to have a public DNS
for the project to work; you can use e.g. ngrok or
localhost.run for this.
Building
Running the project in dev mode is not recommended for production, as it takes a lot more memory and yields in longer startup time. You can run the project in produciton mode by building it first:
yarn build
yart start
This compiles the project to build/
folder using tsc
and runs the built app.
Deploying
This project is deployed automatically when pushed to master
branch using
gh-actions.
Features
This project tries to achieve:
- Following any RSS feed directly from Mastodon
- No login, no registration, no ads
- Being a super simple ActivityPub server
Configuration
This project uses environment variables for configuration. The following environment variables are available:
SERVER_HOSTNAME
Required: true
Needed so that the server knows what domain it's running on.
DATABASE_FILENAME
Default: ./database.db
This project uses SQLite as a database; it's the simplest sane option for single-server fly.io persistence. You can specify the filename of the database here.
Other RSS → ActivityPub projects
There are other awesome projects that are very similar to Mastofeeder, so make sure to check them out too!
Contributing
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
Licensing
The code in this project is licensed under MIT license.