Reading RSS feeds from wacky protocols with newsboat
Much of the information I read during the day, not counting e-mail, comes from my RSS reader: Newsboat. Whenever I see an interesting blog post on Twitter or elsewhere, I habitually subscribe the author’s RSS feed. I recently stumbled across an interesting RSS feed which wasn’t served over HTTP, leading me to wonder: how can I subscribe?
After trying to find some way to make newsboat read a different protocol, racking my brains thinking of different ways to set up a stub HTTP proxy, I finally succumbed and read the manpage.
As my luck would have it, the
urls file that newsboat stores its URLs
supports a special
exec syntax for shelling out to run a command to fetch the feed,
"exec:ssh shellhost 'cat /srv/www/rss.xml'" "exec /usr/bin/torify curl ftp://someftp/rss.xml" "exec:/usr/bin/torify curl gopher://example.com/0/news.atom.xml"
(Side note: do you have any idea how many protocols
curl supports? Lots! On my machine:
dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp)
exec syntax is certainly a novel feature. As I have been pondering it
more, I have been thinking about is using it to run
arbitrary shell scripts which would generate reports for review. Some ideas that have come to mind:
- Reading the root’s mbox on my local and remote machines to get better visibility into the status of cron jobs.
- Executing some
azscripts to grab generate some daily cost reports.
- Retrieving error logs from remote machines to tabulate a daily error report.
There are other possibilities that come to mind, but it all basically boils down to generating information dashboards which will help me keep tabs on more and more things, all from within my feed reader.
I have only just started to experiment with this idea, but I’m looking forward to poking around with this more.