~dustin hello now writing thoughts feeds mastodon
..

Mastofeed

Mastofeed is a flat-file, python-based system for scraping and viewing Mastodon user posts via RSS.

Source code: https://github.com/0xdstn/mastofeed/

  1. Description
  2. Usage

Description

Since I left Mastodon a while back in lieu of RSS feeds and email for keeping up with others and communicating, I realized I do miss out on a lot of interesting things I don't get through feeds.

Because of this, I wanted to create a system where I could view Mastodon posts of users I care to keep up with, but not have the distraction of being on Mastodon myself. I didn't want to clutter up my RSS feed reader with Mastodon posts, so I opted to create this project instead.

This allows me to keep up with what people are doing, but not distract me. If I want to reach out to someone based on a post, I will take the time to email them. This results in less "shallow" conversation, since more effort is required to reach out.

This project isn't really set up to be used out of the box, but with minor modifications listed below it can be used by someone else. It was created to serve my needs, and not really meant for anyone else. That being said, if you would like to use it feel free to fork it and modify it so it works better for you.

Usage

You'll need to update the file paths in archive.py and view.py, as I had those hard coded to my personal directories so I can alias them and not have to worry about it breaking.

You will also need to create the following files in the root directory:

To add a Mastodon user, edit following.txt and put their account in the following format, one per line:

username@domain.tld

You can then manually run scrape.py to fetch posts. I set up a cron job to run it every 15 minutes.

When scrape.py runs, it adds a post per line to the data.txt file.

To view posts in data.txt, you can run view.py, which will format and output them in ascending order.

You can either manually move posts from that file over to archive.txt so they no longer appear when running view.py, or you can archive everything in data.txt by running archive.py.