User Tools

Site Tools

tools:rss

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tools:rss [2025/09/09 20:25] – [Newsboat (Linux, MacOS & BSD)] Humphrey Boa-Garttools:rss [2025/09/30 22:44] (current) – external edit 127.0.0.1
Line 17: Line 17:
  
  
-===== Structure ===== 
- 
-One day, you may have something that you want people to be able to keep up with via feed readers & aggregators. It is really simple to do with both RSS & Atom, and most modern 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: 
- 
-<file xml 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> 
-</file> 
- 
-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 [[https://www.rssboard.org/rss-specification|RSS 2.0 specification]] or W3Schools' [[https://www.w3schools.com/xml/xml_rss.asp|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: 
- 
-<file xml atomexample.xml> 
-<?xml version="1.0" encoding="utf-8"?> 
-<feed xmlns="http://www.w3.org/2005/Atom"> 
- 
-  <title>Example Feed</title> 
-  <link href="http://example.org/"/> 
-  <updated>2003-12-13T18:30:02Z</updated> 
-  <author> 
-    <name>John Doe</name> 
-  </author> 
-  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> 
- 
-  <entry> 
-    <title>Atom-Powered Robots Run Amok</title> 
-    <link href="http://example.org/2003/12/13/atom03"/> 
-    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> 
-    <updated>2003-12-13T18:30:02Z</updated> 
-    <summary>Some text.</summary> 
-  </entry> 
- 
-</feed> 
-</file> 
- 
-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, read the [[https://www.ietf.org/rfc/rfc4287.txt|Atom Specification]] or W3C's [[https://validator.w3.org/feed/docs/atom.html|Introduction to Atom]]. 
 ===== RSS as a Field Utility ===== ===== RSS as a Field Utility =====
  
 The value of RSS to [[anonymous:anonops|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. The value of RSS to [[anonymous:anonops|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. Datacenters, ISP's & web server operators can still see your address checked the feed, but it is otherwise much harder to fingerprint you.+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 [[diy:user-agent-spoofing|user agent]] it is otherwise much harder to fingerprint you.
  
-In fact, those inclined to [[diy:unplug|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 [[hazards:ai|AI]] arbitrarily censoring your feed.+In fact, those inclined to [[diy:unplug|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 [[hazards:ai|AI]] arbitrarily censoring your content intake.
  
-Some aggregators (such as [[tools:rss#newsboat-linux-macos-bsd|Newsboat]]) allow you to pipe these updates to other utilities. This lets you do really cool things like use [[tools:yt-dlp|yt-dlp]] to download Youtube videos right from your news reader and open them in a local media player, or track [[https://github.com/humphreyboagart/grackle/commits.atom|GitHub]] project commits and clone them into clean testing environments.+Some aggregators (such as [[tools:rss#newsboat|Newsboat]]) allow you to [[tools:bash:shortcuts-piping#metacharacters|pipe]] these updates to other utilities. This lets you do really cool things like
 + 
 +  * Use [[tools:yt-dlp|yt-dlp]] to download Youtube videos right from your news reader and open them in a local media player
 +  * Scrape docket updates from [[https://www.courtlistener.com/docket/69272622/connor-v-goldsmith/|CourtListener]] and download them as PDF files. 
 +  * Track [[https://github.com/humphreyboagart/grackle/commits.atom|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 [[:op|operations]]. With RSS feeds and the right aggregation software, the sky is truly the limit with how to integrate it into your [[:op|operations]].
Line 117: Line 39:
 [[https://bestpoint.institute/feed.php]] [[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 ==== ==== 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 [[diy:unplug|unplugging]] from the machine. Just install an aggregator, and enjoy the greater convenience of never having to open your web browser. 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 [[diy:unplug|unplugging]] from the machine. Just install an aggregator, and enjoy the greater convenience of never having to open your web browser.
  
  
-==== Mozilla Thunderbird (Multiplatform) ====+==== 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 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.
Line 130: Line 54:
  
  
-==== Newsboat (Linux, MacOS & BSD) ====+==== Newsboat ==== 
 +== Linux, MacOS & BSD ==
  
-**Newsboat** is a simple & powerful [[tools:bash|terminal]] application for tracking RSS feeds. It's available in many package managers, such as Debian/Ubuntu's, where it can be installed with:+**Newsboat** is a simple & powerful [[tools:bash|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   $ sudo apt install newsboat
Line 140: Line 65:
 === Configuration Examples === === 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)//.+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 == == .config/newsboat/config ==
  
-This configuration example will get you going really fast. All external links are opened in ''elinks'', and it includes a few macro commands for piping links to alternative browsers and other media utilities:+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:
  
 <file txt config> <file txt config>
Line 175: Line 100:
 itemview-title-format "%9N - %F - %T" itemview-title-format "%9N - %F - %T"
  
-macros:+MACROS 
 +# notenone of these will work unless you have 
 +# the associated programs in your $PATH
 bind-key SPACE macro-prefix bind-key SPACE macro-prefix
 macro b set browser "brave %u >/dev/null 2>&1 &" ; open-in-browser ; set browser elinks macro b set browser "brave %u >/dev/null 2>&1 &" ; open-in-browser ; set browser elinks
Line 191: Line 118:
 # Modify/Expand as necessary (don't forget tags!!!) # Modify/Expand as necessary (don't forget tags!!!)
 # Protip: Use "~example" to retitle unruly feeds. # 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\"" "query:Radio:tags # \"Radio\""
Line 197: Line 127:
  
 "query:Tech:tags # \"Tech\"" "query:Tech:tags # \"Tech\""
-https://bestpoint.institute/feed.php Tech "~Anonymous Military Institute (Recent Changes)"+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/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/computing.rss Tech "~IEEE Spectrum (Computing)"
Line 216: Line 146:
  
  
-==== WeeChat (Linux, MacOS & BSD) ====+==== WeeChat ==== 
 +== Linux, MacOS & BSD ==
  
 The [[tools:irc|IRC]] client **WeeChat** has a plugin that allows you to subscribe to RSS feeds. This is super useful if you want to [[diy:identity-management|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 [[https://weechat.org/scripts/source/rssagg.pl.html|rssagg]] plugin: The [[tools:irc|IRC]] client **WeeChat** has a plugin that allows you to subscribe to RSS feeds. This is super useful if you want to [[diy:identity-management|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 [[https://weechat.org/scripts/source/rssagg.pl.html|rssagg]] plugin:
Line 232: Line 163:
  
 More WeeChat shortcuts can be found in the [[tools:irc#configuring-weechat|Configuring WeeChat]] guide. More WeeChat shortcuts can be found in the [[tools:irc#configuring-weechat|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:
 +
 +<file xml 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>
 +</file>
 +
 +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 [[https://www.rssboard.org/rss-specification|RSS 2.0 specification]] or W3Schools' [[https://www.w3schools.com/xml/xml_rss.asp|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:
 +
 +<file xml 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>
 +</file>
 +
 +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 [[https://www.ietf.org/rfc/rfc4287.txt|Atom Specification]] or W3C's [[https://validator.w3.org/feed/docs/atom.html|Introduction to Atom]].
  
  
 {{tag>Tools}} {{tag>Tools}}
tools/rss.1757449521.txt.gz · Last modified: (external edit)

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