User Tools

Site Tools

tools:rss

Really Simple Syndication (RSS)

Really Simple Syndication (or previously, RDF Site Summary) is a type of web feed commonly used by news outlets and blogs, as an alternative way for readers to subscribe to updates. The data in these feeds (title, author, post date, article contents) are stored as machine-readable XML.

Big Algorithm doesn't want you to know this, but RSS subscription software - known as news aggregators - can check these feeds for updates, and deliver them right to the user for free, all without ads, filter bubbles or tracking software getting in the way!

History

The internationally recognized symbol of RSS.

The first version of RSS was 0.90 and originally called RDF Site Summary. Developed by Netscape, it was based off an early working draft of Resource Description Framework, but ultimately took on an incompatible life of its own.

Eventually Netscape abandoned the project after releasing version 0.91. In this power vacuum, competing developers to released their own successors: One published RSS 1.0 and the other RSS 2.0, with the 2.0 spec being the most widely used today.

Another popular XML-based technology - Atom - was developed a few years later to address some of the 'bugginess' in RSS, and is similar enough to be placed in the “RSS family.” Most decent aggregators support both RSS 1+2 & Atom feeds. For more information on the differences between RSS and Atom, read this detailed comparison.

RSS as a Field Utility

The value of RSS to AnonOps agents cannot be understated. As many sites have RSS (or Atom) feeds, you can centralize the updates of all your favorite sites, authors, streamers, developers, and whatever else, all in one place - saving the need of having to check a bunch of individual websites or even opening your browser.

However, RSS has security benefits as well. Because it is simple XML text, that means you don't have to worry about potentially dangerous remote media compromising your machine or tracking your movements (unless you use a crappy aggregator, which is a whole different story). Datacenters, ISP's & web server operators can still see if your IP address checked the feed, but aside from getting your user agent it is otherwise much harder to fingerprint you.

In fact, those inclined to unplug will recognize other benefits of using aggregators as well - especially if beforehand they got their news via social media algorithms & corrupt platforms like Google. With direct subscription to RSS feeds, you will no more have to deal with “recommended” news, or AI arbitrarily censoring your content intake.

Some aggregators (such as Newsboat) allow you to pipe these updates to other utilities. This lets you do really cool things like:

  • Use yt-dlp to download Youtube videos right from your news reader and open them in a local media player.
  • Scrape docket updates from CourtListener and download them as PDF files.
  • Track GitHub project commits and clone them into clean testing environments.

With RSS feeds and the right aggregation software, the sky is truly the limit with how to integrate it into your operations.

Application-Specific Instructions

To subscribe to AMI's Recent Changes feed, point your feed reader to:
https://bestpoint.institute/feed.php

To find a site's RSS or Atom feed, just visit the site. Some browsers may detect it and give you a button to interact with it. Or look for the bright orange icon shown above. That icon will usually be a link that points to the feed. Otherwise, you may have to view the HTML source: Search for the words RSS or Atom to find its associated <link> tag in the <head> block, which is usually where you can surefire find a link to the feed if one exists.

Browser-Based Applications

Multiplatform

Many websites exist which offer the ability to let users subscribe to RSS/Atom feeds. While this is convenient for sure, it completely defeats the purpose of unplugging from the machine. Just install an aggregator, and enjoy the greater convenience of never having to open your web browser.

Mozilla Thunderbird

Multiplatform

For those just starting out with RSS, the email client Mozilla Thunderbird doubles in a pinch as a powerful news reader. It is easy to install and well documented, and the interface is well-suited to displaying structured feeds.

For installation instructions, visit Thunderbird.net.

Newsboat

Linux, MacOS & BSD

Newsboat is a simple & powerful terminal application for tracking RSS feeds. It's available in many package managers, such as apt, where it can be installed with:

$ sudo apt install newsboat

One it is installed, you can open Newsboat with the newsboat command. Alternative instructions are available for other platforms. You can even build it from source if you are so inclined!

Configuration Examples

Setting up Newsboat consists of editing two files: .config/newsboat/config (which is where the application environment is configured) and .config/newsboat/urls (which is where you list all the feeds you want Newsboat to subscribe to). That's literally it.

.config/newsboat/config

This configuration example will get you going really fast. All external links are opened in the terminal browser elinks, and it includes a few macro commands for piping those links to alternative browsers & other media utilities:

config
# config options:
browser elinks
refresh-on-startup yes
reload-threads 94
show-read-feeds no
show-read-articles no
 
# some stock themes you can load (uncomment only one):
#include /usr/share/doc/newsboat/contrib/colorschemes/cyanism
#include /usr/share/doc/newsboat/contrib/colorschemes/inkpot
include /usr/share/doc/newsboat/contrib/colorschemes/kinda-maia
#include /usr/share/doc/newsboat/contrib/colorschemes/nord
#include /usr/share/doc/newsboat/contrib/colorschemes/plain
#include /usr/share/doc/newsboat/contrib/colorschemes/solarized-dark
 
# index layout ('feedlist'):
feedlist-format "%?T?║%8T %8u %t &╠═══════════════════════════════════════════════════════════════%t?"
feedlist-title-format "%9N - Your feeds (%u unread, %t total)"
highlight feedlist "[║│]" color3 color0
highlight feedlist "╠═.*" color3 color0
 
# feed layout ('articlelist'):
articlelist-format "%7L %8D - %t "
articlelist-title-format "%9N - Latest by %T (%u unread, %t total)"
 
# article layout ('itemview'):
itemview-title-format "%9N - %F - %T"
 
# MACROS
# note: none of these will work unless you have
# the associated programs in your $PATH
bind-key SPACE macro-prefix
macro b set browser "brave %u >/dev/null 2>&1 &" ; open-in-browser ; set browser elinks
macro f set browser "firefox %u >/dev/null 2>&1 &" ; open-in-browser ; set browser elinks
macro p set browser "mpv %u >/dev/null 2>&1 &" ; open-in-browser ; set browser elinks
macro d set browser "sakura -x 'yt-dlp %u' >/dev/null 2>&1 &"; open-in-browser; set browser elinks
.config/newsboat/urls

Organize your subscriptions list like this to make it easier to read:

urls
# Example Categorized Newsboat URL List
# Modify/Expand as necessary (don't forget tags!!!)
# Protip: Use "~example" to retitle unruly feeds.
 
"query:Legal:tags # \"Legal\""
https://labs.bestpoint.institute/dockets/atom.php Legal "~AMI Docket Tracker"
 
"query:Radio:tags # \"Radio\""
https://www.everythingrf.com/rss-feed Radio
https://www.rtl-sdr.com/feed/ Radio
 
"query:Tech:tags # \"Tech\""
https://bestpoint.institute/feed.php Tech "~AMI Recent Changes"
https://spectrum.ieee.org/customfeeds/feed/all-topics/rss Tech "~IEEE Spectrum (All Topics)"
https://spectrum.ieee.org/feeds/topic/computing.rss Tech "~IEEE Spectrum (Computing)"
https://spectrum.ieee.org/feeds/topic/telecommunications.rss Tech "~IEEE Spectrum (Telecommunications)"
https://rss.slashdot.org/Slashdot/slashdotMain Tech
 
"query:Youtube:tags # \"Youtube\""
https://www.youtube.com/feeds/videos.xml?channel_id=UCL4cw2w7kMcTpsqGMtzs02w Youtube music "~Dub Element 🌙"
https://www.youtube.com/feeds/videos.xml?channel_id=UCAmEnaaDaIOMFVUBplnNpzg Youtube music "~GODSPEED 音"
https://www.youtube.com/feeds/videos.xml?channel_id=UC_waCFCtUJpkkUxftNCbOBA Youtube internet "~l0de Ray Dio 🎙️"
https://www.youtube.com/feeds/videos.xml?channel_id=UC5c8xw-NuFFfwjAtGKCjMuQ Youtube music "~Macroblank 💿"
https://www.youtube.com/feeds/videos.xml?channel_id=UCJfDnORCik1sVujRUzCXNWw Youtube music "~Statik Selektah's Showoff Radio 📻"
https://www.youtube.com/feeds/videos.xml?channel_id=UC4unV5BVmWubfAF0Al_AVdw Youtube geopol "~Syrian Girl 💖"
https://www.youtube.com/feeds/videos.xml?channel_id=UCDfoyKdMfe3X4ylfqQM2TZA Youtube internet "~UAE Exotic Falconry & Finance 𓅃"

Read the documentation for more information on how to use and configure Newsboat.

WeeChat

Linux, MacOS & BSD

The IRC client WeeChat has a plugin that allows you to subscribe to RSS feeds. This is super useful if you want to compartmentalize subscriptions related to your IRC friends (their blogs or Youtube channels, perhaps) in the same place you chat with them. First, make sure plugin installation is enabled, then install the rssagg plugin:

/set script.scripts.download_enabled on
/script install rssagg.pl

Have WeeChat monitor feeds with:

/rssagg add <feed_name> <feed_URL>

Pull up internal documentation:

/help rssagg

More WeeChat shortcuts can be found in the Configuring WeeChat guide.

Structure

One day, you may have something that you want people to be able to keep up with via feed readers & aggregators. Or you may have some novel use for the technology nobody has thought of yet. Either way, it is really simple to build these types of feeds, and most decent aggregators support both formats.

RSS 2.0

If you're familiar with HTML, RSS looks kinda similar. Any feed conforming to this format should be readable by any compliant aggregator:

rss2example.xml
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
 <title>RSS Title</title>
 <description>This is an example of an RSS feed</description>
 <link>http://www.example.com/main.html</link>
 <copyright>2020 Example.com All rights reserved</copyright>
 <language>en-us</language>
 <lastBuildDate>Mon, 11 Sep 2010 00:01:00 +0000</lastBuildDate>
 <pubDate>Sun, 11 Sep 2009 16:20:00 +0000</pubDate>
 <ttl>1800</ttl>
 
 <item>
  <title>Example Entry 1</title>
  <description>Here is some text containing an interesting description.</description>
  <link>http://www.example.com/blog/post/1</link>
  <pubDate>Sun, 6 Sep 2009 16:20:00 +0000</pubDate>
 </item>
 
 <item>
  <title>Example Entry 2</title>
  <description>Here is different text containing an interesting description, so you can see how this loops.</description>
  <link>http://www.example.com/blog/post/2</link>
  <pubDate>Sat, 5 Sep 2009 16:20:00 +0000</pubDate>
 </item>
 
</channel>
</rss>

This layout is very simple to understand: Every feed has a <channel> with its own metadata tags (such as <title>, <description>, <link>, etc). Entries, or posts, or updates, or whatever you want to call them, are represented by a list of items, and each <item> has tags for the title, description and link as well.

If you have a website, some software can automatically detect your RSS feed, if you embed the following tag in the <head> section of your HTML template:

<link rel="alternate" type="application/rss+xml" title="Name of Feed" href="https://domain.com/path/to/feed.xml">

However, it is not to be understated that RSS can be used to pipe more things into an aggregator than just updates for web pages. For more information on the available tags you can use, read the RSS 2.0 specification or W3Schools' RSS Guide.

Atom

Atom arose to address some of the perceived shortcomings of RSS, and confusion between the different competing versions of RSS. To some it provides a more “uniform” experience with their newsreaders. There's no right or wrong answer as to which is better, as different developers may find different uses for each.

The basic structure of an Atom feed looks like this, and it loops the same way as an RSS feed:

atomexample.xml
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
  <title>Example Feed</title>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
  </author>
  <id>http://example.com</id>
 
  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <id>http://example.org/2003/12/13/atom03</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
    <content>The full article text.</content>
  </entry>
 
</feed>

If you have a website, some software can automatically detect your Atom feed, if you embed the following tag in your <head> section:

<link rel="alternate" type="application/atom+xml" title="Name of Feed" href="https://domain.com/path/to/feed.xml">

For more information on Atom feeds and the tags you can use, read the Atom Specification or W3C's Introduction to Atom.

tools/rss.txt · Last modified: by 127.0.0.1

Find this page online at: https://bestpoint.institute/tools/rss