hello friends! new(ish)!
RSS: Difference between revisions
>Davyjonez521 (Added Read You to RSS readers) |
(I was the one that remade this page on the original wiki. Sad my effort was almost lost. Copied from Internet Archive and added some new info.) |
||
Line 1: | Line 1: | ||
'''RSS''' stands for '''R'''eally '''S'''imple '''S'''yncication (formerly '''R'''ich '''S'''ite '''S'''ummary for Version 0.9 and RDF Site Summary for RSS Version 1.0). It's a XML-based data format used for the purpose of distributing and aggregating web content in an open, decentralized manner. Creation started in late 1990s and was finalized in early to mid-2000s after multiple attempts at web syndication from web standards groups which included individuals like Ramanathan V. Guha and the late Aaron Schwartz. Was pretty popular before fading with the rise of the modern web 2.0. It is too complicated for the typical, tech-illiterate Zoomer to understand, so only oldfags and based /g/entoomen use it these days. It, however, can be extremely useful for things like keeping track of Youtube subscriptions without a Google account and torrent releases if (You) are a /ptg/ fag and need to keep a seed ratio. A feed reader (sometimes also called feed aggregator, content aggregator, news reader, or RSS reader) is an application that uses RSS feeds to track the content of multiple, user-added websites through a single application with a uniform interface. It basically boosts productivity by reducing the need to constantly visit websites for their content like online news articles individually in a browser. Atom is a near identical competing data format for web feeds that you might read/see a lot when it comes to feed readers as it is often mixed up with RSS. In fact, most feed readers handle/treat RSS and Atom the same. Long story short, it was created to address some issues and concerns with the original RSS which was fixed with RSS 2.0. While its a good format it never got as much traction. | |||
== Utilizing RSS == | |||
=== Finding an RSS feed === | |||
A bit of an old and often hidden feature as many sites have/had a dedicated RSS feed but don't make it known. Mostly for nefarious reasons as well as it not being common anymore. Many organizations want users to visit their bloated, botnet, algorithm-heavy, proprietary Javascript ridden site to make/sign in to an account or subscribe via email for revenue, greater marketing pull and data collection purposes. For instance, in the very beginning, Twitter used to support RSS until the company grew larger. Jack Dorsey and other top executives at Twitter realized that it hurts sign-ins which means less ad revenue so they took it away. Overall, RSS allowed a decentralized way of keeping track of content which is antithetical to the modern attention economy. There are many ways to find an RSS feed. First is to look on the actually website for a link. There is usually a link that says Feed or RSS that is often in the footer, side menu, navigation bar, or description. If not, look out for a RSS icon button as seen above. There are times where it may download a .rss or .xml file. Not all feed readers support adding sources through a file so just open it in a text editor and copy the main feed url. Sometimes, you can find it in the page's source code within the {{ic|<head></head>}} tag. Open source code {{ic|(Ctrl + U)}}, use find ({{ic|Ctrl + F}} or {{ic|Ctrl + G}}), then type in rss, feed, or atom. When that doesn't work, just use a search engine and type the domain name with rss or feed. If none of those option worked out then try to find it in a RSS directory like [https://rss.feedspot.com/ FeedSpot] or [https://rss-bridge.org/ RSS Bridge]. Lastly, sometimes you can just brute force it by adding /rss/,/feed/, or /news/ to the end of the index or article page like so {{ic|domainname.tld -> domainname.tld/feed/}} . Most of the time it uses /feed/ since that is the default for most website building software. Works most of the time. W3's [https://validator.w3.org/feed/ RSS Feed Validator] helps verify the link can be used as a feed. Once you have a link, head over to one of the clients listed below and add it as a source. Make sure to add some of /g/'s Tech News Sites. | |||
=== Integrating RSS to website === | |||
Most Content Management Systems and static site generators as well as some web frameworks (usually in Javascript, Typescript, or PHP), usually out of the box but sometimes through plugins or extenstions, are capable of creating and handling RSS automatically which can also be further customized. Examples include [https://gohugo.io/templates/rss/ Hugo], [https://github.com/jekyll/jekyll-feed Jekyll], [https://www.11ty.dev/docs/plugins/rss/ 11ty / Eleventy], [https://docs.getpelican.com/en/latest/settings.html#feed-settings Pelican], [https://ghost.org/integrations/custom-rss/ Ghost], [https://developer.wordpress.org/advanced-administration/wordpress/feeds/ WordPress], [https://www.gatsbyjs.com/docs/how-to/adding-common-features/adding-an-rss-feed/ Gatsby.js], [https://docs.djangoproject.com/en/5.0/ref/contrib/syndication/ Django], and more. Otherwise, if (You) want to add RSS manually or change it on a website, knowing XML is required. XML is a markup language that defines structure like HTML so it isn't difficult to learn. Below is an example of what you're XML file should look like. | |||
{{bc|<nowiki> | |||
<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0"> | |||
<channel> | |||
<title>Example Website</title> | |||
<link>https://www.example.com</link> | |||
<description>Example Website Details</description> | |||
<item> | |||
<title>Post 1</title> | |||
<link>https://www.example.com/...</link> | |||
<description>...abc...</description> | |||
</item> | |||
<item> | |||
<title>Post A</title> | |||
<link>https://www.example.com/...</link> | |||
<description>???xyz???</description> | |||
</item> | |||
</channel> | |||
</rss> | |||
</nowiki>}} | |||
For more, visit the [https://www.rssboard.org/rss-specification official RSS specification]. W3Schools has a useful [https://www.w3schools.com/xml/xml_rss.asp XML tutorial for RSS]]. Next step after this would be to make a server-side script or daemon in your preferred programming language to automatically add or change the xml content when new content is updated instead of doing it manually. | |||
== Recommended RSS Clients == | == Recommended RSS Clients == | ||
RSS software that /g/ uses that isn't botnet. | |||
=== GNU/Linux === | === GNU/Linux === | ||
==== Graphical Interface: ==== | |||
* [https://lzone.de/liferea Liferea] - '''Li'''nux '''Fe'''ed '''Rea'''der is a featureful graphical feed reader for the Linux desktop. Written in C with support for plugins that are written in Python. It features reading articles offline, playing podcasts, and synchronizing with multiple cloud services (including the self-hosted TinyTinyRSS). | |||
* [https://rssguard.readthedocs.io/en/stable/ RSSGuard] - GPLv3, Qt based RSS/Atom feed reader that works on Windows, Linux, BSD, OS/2 and macOS. Works well with RSS cloud services. Can also function as a podcast player with built-in media player that uses ffmpeg or mpv/libmpv depending on build and platform. The /g/entooman's favorite GUI RSS feed reader. | |||
* [https://apps.kde.org/akregator/ Akregator] - KDE's RSS reader, part of the Kontact PIM suite. | |||
* [https://hyliu.me/fluent-reader/ Fluent Reader] - Modern, cross-platform RSS/Atom feed reader with an elegant UI. Open source with privacy enhancing features. Only major downside is that it is not minimal. It uses Electron, Fluent UI, React for its stack so it is more intensive on resources than other options. | |||
* [https://gitlab.com/news-flash/news_flash_gtk NewsFlash] - Rewrite/Spiritual successor to [https://github.com/jangernert/FeedReader FeedReader] by the same author in GTK4 and Rust. Mostly designed to be a desktop client that complements an already existing web-based feed reader. Now a part of GNOME circle. | |||
* [https://ravenreader.app/ Raven Reader] - Simple and elegant, cross platform, desktop feed reader. Customizable and works with RSS cloud services. Made with Electron and Vue. | |||
* [https://quiterss.org/files/ QuiteRSS] - <s>A GPLv3 cross-platform RSS/Atom feed reader based on Qt toolkit. Can be quite slow but auto converts YouTube channel links to RSS feeds.</s> (Likely abandoned but still works) | |||
==== Command Line Interface/Text based: ==== | |||
Command Line Interface/Text based: | |||
* [https://github.com/skeeto/elfeed Emacs Elfeed] - Emacs RSS feed reader. | * [https://github.com/skeeto/elfeed Emacs Elfeed] - Emacs RSS feed reader. | ||
* [https://newsboat.org/ Newsboat] - Text based terminal client for RSS and atom. Fork of Newsbeuter because that is now abandoned. Uses simple config and supports macros. The /g/ choice. | * [https://newsboat.org/ Newsboat] - Text based terminal client for RSS and atom. Fork of Newsbeuter because that is now abandoned. Uses simple config and supports macros. The /g/ choice. | ||
* [https://newsbeuter.org/ Newsbeuter] - A text-based terminal client for RSS and Atom feeds, with a simple conf file. (Abandoned) | * [https://newsbeuter.org/ Newsbeuter] - <s> A text-based terminal client for RSS and Atom feeds, with a simple conf file. </s> (Abandoned) | ||
* [https://github.com/mmcdole/gofeed GoRead] - RSS/Atom feed reader written in Go using the Bubble Tea tui framework which is also written in Go. | |||
* [https://github.com/veeso/tuifeed TUIFeed] - Experimental, simple cli RSS feed reader made in Rust. | |||
* [https://codemadness.org/sfeed-simple-feed-parser.html sfeed] - Suckless-style feed parser, it converts RSS or Atom feeds from XML to a TAB-separated file. Highly scriptable, comes with a bunch of utilities like a frontend based on ncurses and a sfeed-to-HTML formatter. | |||
==== Self-Hosted/Web based: ==== | |||
* [https://freshrss.org/index.html FreshRSS] - Self-hosted RSS and Atom feed aggregator made with PHP. It is lightweight, easy to work with, powerful, and customizable. One of the oldest options. | |||
* [https://tt-rss.org/ TinyTinyRSS] - Free and open source web-based news feed reader and aggregator. Very customizable with support for plugins. One of the most popular web-based options. Requires Docker and a browser. | |||
* [https://miniflux.app/ Miniflux] - Relatively new self hosted option for a feed reader. Describes itself as opinionated because as its name implies, its programming philosophy is to be minimal. It is very lightweight, fast and efficient. | |||
* [https://selfoss.aditu.de/ Selfoss] - The ultimate multi-purpose RSS reader, data stream, mash-up, aggregation web application. Basically a near universal aggregator. | |||
* [https://github.com/stringer-rss/stringer Stringer] - Describes itself as a self-hosted, anti-social RSS reader. Made with Ruby using Ruby on Rails framework. It has no external dependencies, no social recommendations/sharing, and no fancy machine learning algorithms. | |||
* [https://github.com/nkanaev/yarr YARR] - Yet Another RSS Reader. Minimal web server based reader written in Go using SQLite. | |||
* [https://git.sr.ht/~cedric/newspipe NewsPipe] - Not to be confused with the popular FOSS YouTube frontend app on Android. It is a web news aggregator platform. Set up an instance in which multiple users can connect. Written in Python. The core technologies are Flask, asyncio and SQLAlchemy. Can be built/compiled to use PostgreSQL | |||
* [https://www.commafeed.com/#/welcome CommaFeed] - Simple bloat-free web feed reader written in Java. | |||
=== Android === | === Android === | ||
* [https://gitlab.com/spacecowboy/Feeder Feeder] - FOSS material design RSS/Atom feed reader. Available on [https://f-droid.org/en/packages/com.nononsenseapps.feeder/ F-Droid]. | * [https://gitlab.com/spacecowboy/Feeder Feeder] - FOSS material design RSS/Atom feed reader. Available on [https://f-droid.org/en/packages/com.nononsenseapps.feeder/ F-Droid]. | ||
*[https://github.com/Ashinch/ReadYou Read You] - An Android RSS reader presented in Material You style. Available on [https://f-droid.org/packages/me.ash.reader/ F-Droid]. | * [https://github.com/Ashinch/ReadYou Read You] - An Android RSS reader presented in Material You style. Available on [https://f-droid.org/packages/me.ash.reader/ F-Droid]. | ||
=== iOS/iPad/MacOS === | |||
* [https://netnewswire.com/ NetNewsWire] - Free and open source, RSS feed reader for itoddlers. One of the longest maintained for Apple platforms. Has the complete feature set of the average, standand news reader. | |||
=== Misc === | |||
Projects that aren't dedicated towards feeds in particular but integrate RSS in some way. | |||
* [https://www.qbittorrent.org/ qBittorrent] - As well as being a BitTorrent client, qBittorrent can be used to track RSS feeds and can auto-download torrent links from the feed. | |||
* [https://www.thunderbird.net/en-US/ Mozilla Thunderbird] - Email client using Mozilla's Gecko engine that has an RSS feed reader built in. | |||
* [https://calibre-ebook.com/ Calibre] - Ebook management application. Has a feature where you can add articles from news sites with RSS and convert it into ebooks then send it to your ereader. | |||
== External links == | == External links == | ||
[https://wiki.archlinux.org/title/List_of_applications#News,_RSS,_and_blogs List of RSS applications] on the Arch Wiki | * [https://wiki.archlinux.org/title/List_of_applications#News,_RSS,_and_blogs List of RSS applications] on the Arch Wiki | ||
* [https://www.rssboard.org/rss-specification RSS Specification] for RSS 2.0. | |||
* [https://cyber.harvard.edu/rss/rss.html Harvard's RSS Specification] | |||
* [https://www.rssboard.org/rss-validator/ RSS board's Feed Validator] for checking if a URL uses RSS. | |||
* [https://rss-bridge.org/ RSS Bridge] which creates RSS feeds for sites that normally don't have it. Main instance. | |||
* [https://www.w3schools.com/xml/xml_rss.asp W3School's XML RSS tutorial]. | |||
* [https://github.com/AboutRSS/ALL-about-RSS ALL about RSS] is a popular github repository that teaches a lot about RSS and related applications and technologies. | |||
* [https://isrssdead.com/ Is RSS dead?] - Website on the state of RSS. | |||
[[Category:Terms]] | [[Category:Terms]] |
Revision as of 22:25, 13 September 2024
RSS stands for Really Simple Syncication (formerly Rich Site Summary for Version 0.9 and RDF Site Summary for RSS Version 1.0). It's a XML-based data format used for the purpose of distributing and aggregating web content in an open, decentralized manner. Creation started in late 1990s and was finalized in early to mid-2000s after multiple attempts at web syndication from web standards groups which included individuals like Ramanathan V. Guha and the late Aaron Schwartz. Was pretty popular before fading with the rise of the modern web 2.0. It is too complicated for the typical, tech-illiterate Zoomer to understand, so only oldfags and based /g/entoomen use it these days. It, however, can be extremely useful for things like keeping track of Youtube subscriptions without a Google account and torrent releases if (You) are a /ptg/ fag and need to keep a seed ratio. A feed reader (sometimes also called feed aggregator, content aggregator, news reader, or RSS reader) is an application that uses RSS feeds to track the content of multiple, user-added websites through a single application with a uniform interface. It basically boosts productivity by reducing the need to constantly visit websites for their content like online news articles individually in a browser. Atom is a near identical competing data format for web feeds that you might read/see a lot when it comes to feed readers as it is often mixed up with RSS. In fact, most feed readers handle/treat RSS and Atom the same. Long story short, it was created to address some issues and concerns with the original RSS which was fixed with RSS 2.0. While its a good format it never got as much traction.
Utilizing RSS
Finding an RSS feed
A bit of an old and often hidden feature as many sites have/had a dedicated RSS feed but don't make it known. Mostly for nefarious reasons as well as it not being common anymore. Many organizations want users to visit their bloated, botnet, algorithm-heavy, proprietary Javascript ridden site to make/sign in to an account or subscribe via email for revenue, greater marketing pull and data collection purposes. For instance, in the very beginning, Twitter used to support RSS until the company grew larger. Jack Dorsey and other top executives at Twitter realized that it hurts sign-ins which means less ad revenue so they took it away. Overall, RSS allowed a decentralized way of keeping track of content which is antithetical to the modern attention economy. There are many ways to find an RSS feed. First is to look on the actually website for a link. There is usually a link that says Feed or RSS that is often in the footer, side menu, navigation bar, or description. If not, look out for a RSS icon button as seen above. There are times where it may download a .rss or .xml file. Not all feed readers support adding sources through a file so just open it in a text editor and copy the main feed url. Sometimes, you can find it in the page's source code within the <head></head>
tag. Open source code (Ctrl + U)
, use find (Ctrl + F
or Ctrl + G
), then type in rss, feed, or atom. When that doesn't work, just use a search engine and type the domain name with rss or feed. If none of those option worked out then try to find it in a RSS directory like FeedSpot or RSS Bridge. Lastly, sometimes you can just brute force it by adding /rss/,/feed/, or /news/ to the end of the index or article page like so domainname.tld -> domainname.tld/feed/
. Most of the time it uses /feed/ since that is the default for most website building software. Works most of the time. W3's RSS Feed Validator helps verify the link can be used as a feed. Once you have a link, head over to one of the clients listed below and add it as a source. Make sure to add some of /g/'s Tech News Sites.
Integrating RSS to website
Most Content Management Systems and static site generators as well as some web frameworks (usually in Javascript, Typescript, or PHP), usually out of the box but sometimes through plugins or extenstions, are capable of creating and handling RSS automatically which can also be further customized. Examples include Hugo, Jekyll, 11ty / Eleventy, Pelican, Ghost, WordPress, Gatsby.js, Django, and more. Otherwise, if (You) want to add RSS manually or change it on a website, knowing XML is required. XML is a markup language that defines structure like HTML so it isn't difficult to learn. Below is an example of what you're XML file should look like.
<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0"> <channel> <title>Example Website</title> <link>https://www.example.com</link> <description>Example Website Details</description> <item> <title>Post 1</title> <link>https://www.example.com/...</link> <description>...abc...</description> </item> <item> <title>Post A</title> <link>https://www.example.com/...</link> <description>???xyz???</description> </item> </channel> </rss>
For more, visit the official RSS specification. W3Schools has a useful XML tutorial for RSS]. Next step after this would be to make a server-side script or daemon in your preferred programming language to automatically add or change the xml content when new content is updated instead of doing it manually.
Recommended RSS Clients
RSS software that /g/ uses that isn't botnet.
GNU/Linux
Graphical Interface:
- Liferea - Linux Feed Reader is a featureful graphical feed reader for the Linux desktop. Written in C with support for plugins that are written in Python. It features reading articles offline, playing podcasts, and synchronizing with multiple cloud services (including the self-hosted TinyTinyRSS).
- RSSGuard - GPLv3, Qt based RSS/Atom feed reader that works on Windows, Linux, BSD, OS/2 and macOS. Works well with RSS cloud services. Can also function as a podcast player with built-in media player that uses ffmpeg or mpv/libmpv depending on build and platform. The /g/entooman's favorite GUI RSS feed reader.
- Akregator - KDE's RSS reader, part of the Kontact PIM suite.
- Fluent Reader - Modern, cross-platform RSS/Atom feed reader with an elegant UI. Open source with privacy enhancing features. Only major downside is that it is not minimal. It uses Electron, Fluent UI, React for its stack so it is more intensive on resources than other options.
- NewsFlash - Rewrite/Spiritual successor to FeedReader by the same author in GTK4 and Rust. Mostly designed to be a desktop client that complements an already existing web-based feed reader. Now a part of GNOME circle.
- Raven Reader - Simple and elegant, cross platform, desktop feed reader. Customizable and works with RSS cloud services. Made with Electron and Vue.
- QuiteRSS -
A GPLv3 cross-platform RSS/Atom feed reader based on Qt toolkit. Can be quite slow but auto converts YouTube channel links to RSS feeds.(Likely abandoned but still works)
Command Line Interface/Text based:
- Emacs Elfeed - Emacs RSS feed reader.
- Newsboat - Text based terminal client for RSS and atom. Fork of Newsbeuter because that is now abandoned. Uses simple config and supports macros. The /g/ choice.
- Newsbeuter -
A text-based terminal client for RSS and Atom feeds, with a simple conf file.(Abandoned) - GoRead - RSS/Atom feed reader written in Go using the Bubble Tea tui framework which is also written in Go.
- TUIFeed - Experimental, simple cli RSS feed reader made in Rust.
- sfeed - Suckless-style feed parser, it converts RSS or Atom feeds from XML to a TAB-separated file. Highly scriptable, comes with a bunch of utilities like a frontend based on ncurses and a sfeed-to-HTML formatter.
Self-Hosted/Web based:
- FreshRSS - Self-hosted RSS and Atom feed aggregator made with PHP. It is lightweight, easy to work with, powerful, and customizable. One of the oldest options.
- TinyTinyRSS - Free and open source web-based news feed reader and aggregator. Very customizable with support for plugins. One of the most popular web-based options. Requires Docker and a browser.
- Miniflux - Relatively new self hosted option for a feed reader. Describes itself as opinionated because as its name implies, its programming philosophy is to be minimal. It is very lightweight, fast and efficient.
- Selfoss - The ultimate multi-purpose RSS reader, data stream, mash-up, aggregation web application. Basically a near universal aggregator.
- Stringer - Describes itself as a self-hosted, anti-social RSS reader. Made with Ruby using Ruby on Rails framework. It has no external dependencies, no social recommendations/sharing, and no fancy machine learning algorithms.
- YARR - Yet Another RSS Reader. Minimal web server based reader written in Go using SQLite.
- NewsPipe - Not to be confused with the popular FOSS YouTube frontend app on Android. It is a web news aggregator platform. Set up an instance in which multiple users can connect. Written in Python. The core technologies are Flask, asyncio and SQLAlchemy. Can be built/compiled to use PostgreSQL
- CommaFeed - Simple bloat-free web feed reader written in Java.
Android
- Feeder - FOSS material design RSS/Atom feed reader. Available on F-Droid.
- Read You - An Android RSS reader presented in Material You style. Available on F-Droid.
iOS/iPad/MacOS
- NetNewsWire - Free and open source, RSS feed reader for itoddlers. One of the longest maintained for Apple platforms. Has the complete feature set of the average, standand news reader.
Misc
Projects that aren't dedicated towards feeds in particular but integrate RSS in some way.
- qBittorrent - As well as being a BitTorrent client, qBittorrent can be used to track RSS feeds and can auto-download torrent links from the feed.
- Mozilla Thunderbird - Email client using Mozilla's Gecko engine that has an RSS feed reader built in.
- Calibre - Ebook management application. Has a feature where you can add articles from news sites with RSS and convert it into ebooks then send it to your ereader.
External links
- List of RSS applications on the Arch Wiki
- RSS Specification for RSS 2.0.
- Harvard's RSS Specification
- RSS board's Feed Validator for checking if a URL uses RSS.
- RSS Bridge which creates RSS feeds for sites that normally don't have it. Main instance.
- W3School's XML RSS tutorial.
- ALL about RSS is a popular github repository that teaches a lot about RSS and related applications and technologies.
- Is RSS dead? - Website on the state of RSS.