
With all the turmoil at Twitter since Elon Musk has taken over, I’m rethinking my approach to social media. Musk seems childish and I have great sympathy for those forced to work through chaos in order to pay the bills. I’m not social on the internet in the way that Twitter, Mastodon, Facebook, Instagram, or the rest generally imply. I do, however, use those tools to follow news feeds and to listen to what a few thoughtful, rational people are saying. As a result, I’ve decided that I need to find another way to monitor what’s going on in th world.
When I started looking at alternatives, it turned out that much of what I’ve been following through social media is available through good, old-fashioned RSS feeds. The few extra things that aren’t readily available, it turns out, can easily be turned into RSS feeds using the free, open-source RSSHub software I found.
Once I had all the source feeds I needed, the next thing I had to find was a decent, modern feed reader. I came across another open-source project, Fluent Reader. It’s not perfect but it is close enough to be useful day-to-day.
Fluent Reader has multiple choices for the page layout, a traditional list format, a Twitter-like vertical-column view, a magazine-style single-column layout, and the card view shown above which I prefer. It also has what is a key feature for me, the ability to mark items as having been read. This is something that seems to be missing from all but a couple of the social media clients for Twitter-like services that I looked at.
A Feed Reader for My Android Phone
Fluent Reader publishes an Android app. It’s completely different from their desktop app in that it functions as a front-end to a selected set of internet-based RSS feed readers. You set up the internet reader with your RSS feed subscriptions and then the phone app pulls the aggregated content via the API provided by the internet feed reader and displays that on your phone.
I chose to use The Old Reader which is a free, open-source clone of the now-defunct Google Reader. I exported the list of my subscriptions from Fluent Reader on my desktop as an OPML file, imported that into The Old Reader, and configured the Fluent Reader Lite Android app with a link to The Old Reader and my login credentials. When I need to make changes to my list of feed subscriptions I have to remember to change them both on my desktop in Fluent Reader and on The Old Reader website.
RSSHub – following Twitter users via RSS feeds
There is a public instance of RSSHub available that it seems could be used by anyone. RSSHub doesn’t require any configuration for its services, instead, you simply construct a URI, what RSSHub calls a “route”, that tells RSSHub what source to access, send that to RSSHub and it replies with the content from that source in RSS feed format. It is easy to test the URI/route in your browser before adding it to the list of feeds in your reader. Here, as an example, is the URI/route that returns New York Times reporter Maggie Haberman’s tweets as an RSS feed:
All of RSSHub’s available routes and their various options are described in the RSSHub docs. RSSHub is written in Javascript. Custom route plugins can be written following the guidance in the docs.
There is a Docker image for RSSHub but I installed my own instance on an internet server. The installation process is described in the manual deployment section of the RSSHub docs. I added a new hostname to my domain and set up a virtual host proxy configuration in the Apache HTTPD config files on my host that redirects requests to RSSHub’s default port on localhost
:
<VirtualHost *:80>
ServerName hostname
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName hostname
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/hostname/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hostname/privkey.pem
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
ProxyPass "/" "http://localhost:1200/"
ProxyPassReverse "/" "http://localhost:1200/"
</VirtualHost>
(Note that the rest of the common, required, SSL configuration parameters shared by all my virtual hosts are in a separate configuration file and are not shown here.)
RSSHub Radar – Finding RSS feed URLs
RSSHub Radar is a browser plugin that finds and displays the URLs for RSS feeds for the web page currently being viewed. When it can’t find any, it tries to construct a feed URL using RSSHub’s routes. When present in the browser toolbar it displays a count of the feed URLs it has found/generated for that page. RSSHub Radar was very useful to me in finding/generating RSS feed links for sources I was having trouble finding in any other way.