Open source RSS aggregators
RSS Cornucopia
Read and manage your favorite feeds with open source RSS aggregators.
Like email, RSS proved to be one of those inventions that is still going strong despite the onslaught of newfangled technologies designed to replace it. Two popular open source RSS aggregators – Tiny Tiny RSS and NewsBlur – are doing pretty well, which is testament to the RSS format's staying power. Although Tiny Tiny RSS and NewsBlur are popular choices, these applications are not the only fish in the sea. In fact, open source RSS aggregators are available for practically every taste and need. In this article, I introduce you to several open source RSS readers that you can host on your own server or run on a desktop machine.
KrISS Feed
Consisting of a single PHP script, KrISS Feed [1] is a perfect solution for users looking for an RSS aggregator that is both easy to deploy and to use (Figure 1). KrISS Feed will happily run on any server with a web server like Apache or lighttpd and PHP 5.2.
Installing the script on a server couldn't be easier. Grab the latest index.php
file from the project's website and copy it into a separate folder (e.g., krissfeed
) in your server's document root. Make the directory writable by the server using the
chown www-data:www-data7 -R krissfeed
command, and you are done. Then, point the browser to http://127.0.0.1/krissfeed (replace with the actual IP address or domain name of your server), specify the desired login credentials, and the aggregator is ready to go.
KrISS Feed offers a variety of configuration options for you to tweak (Figure 2). To access them, click on the Configuration link in the main menu. Which settings you want to enable and modify will depend on your particular needs, but at least two options are worth exploring. If you are migrating from another RSS reader, you'll find the ability to import existing feeds in the OPML format rather handy.
Although KrISS Feed lets you update feeds manually using a dedicated command in the main menu, you can also configure a cron job to run feed updates automatically at predefined intervals. Better still, the aggregator automatically generates ready-to-use cron jobs that you can find in the Cron configuration section. All you have to do is to run the crontab -e
command on your server, insert one of the generated cron jobs, and save the crontab file.
Despite being a single-file PHP script, KrISS packs all the essential features, and then some. For starters, you can easily modify its default bare-bones appearance through a custom user.css
stylesheet, and you can find several ready-made stylesheets on the project's website. KrISS Feed features a responsive design, so it works well on mobile devices, thereby alleviating the need for a dedicated app.
The aggregator lets you organize feeds in groups, which makes it easier to keep tabs on large RSS collections. KrISS Feed supports keyboard shortcuts, so you can navigate and manage RSS feeds and individual articles without the mouse. Other creature comforts include the ability to bookmark individual items on Shaarli (an open source bookmark manager), support for different privacy modes (public, protected, and private), and the ability to star articles. All in all, KrISS Feed has an impressive amount of functionality squeezed into one file.
Miniflux
Miniflux [2] is another option for users in search of a no-frills RSS aggregator (Figure 3). Unlike KrISS Feed, Miniflux uses an SQLite database as its back end, so in addition to a web server and PHP 5.2, you need to install the required software on your server. On Debian and Ubuntu, you can do this by running the apt-get install sqlite3 php5-sqlite
command as root. You can install Miniflux by downloading the latest release of the application from the project's website or by cloning Miniflux's GitHub repository. The latter makes it easier to keep Miniflux up to date.
Assuming you have Git installed on your server, you can deploy Miniflux by running
git clone https://github.com/fguillot/miniflux.git
in the server's document root. Then, issue
chown www-data:www-data-R miniflux
and Miniflux is ready to go. Open Miniflux in the browser and log in using the default admin/admin
username and password. Change the default login credentials in the preferences section and populate the aggregator with feeds by manually adding them or by importing an OPML file. Similar to KrISS Feed, Miniflux can automatically update feeds via a cron job – and a dedicated page [3] provides detailed instructions on how to do that.
Despite its minimalist nature, Miniflux is a rather capable RSS aggregator that packs some nifty features (Figure 4). The application's interface is designed for readability, and it works perfectly on mobile devices (Figure 5). Miniflux supports keyboard shortcuts for common actions, so you read and manage articles without resorting to the mouse. If you are tired of ads clogging your RSS feeds, you'll be pleased to learn that Miniflux automatically removes ads and pixel trackers. The application also removes JavaScript code and uses secure HTTP headers for better security. All external links in Miniflux are opened in new tabs with a rel="noreferrer"
attribute, preventing the destination website from collecting your info. Using the bookmarking functionality, you can save RSS articles for later.
Miniflux is also capable of downloading full content on feed articles. This functionality can come in handy for feeds that display only summaries. With the full-content feature enabled, Miniflux fetches entire articles that you can read directly in the aggregator. This feature doesn't work with all feeds, but you can ask the developer to add support for your favorite RSS feeds.
Miniflux sports other useful features, too. The app's Preferences page contains a ready-to-use bookmarklet that lets you easily add the feed of the currently viewed page to Miniflux. The aggregator generates its own RSS feed containing bookmarked RSS articles, and you'll find the feed's link in the More information section. Here, you'll also find tools for optimizing and exporting the back-end database as well as a list of the supported keyboard shortcuts. You can even link your Miniflux installation to your Google+ or Mozilla Persona profiles, so you can log in to the aggregator using your Google+ or Persona credentials.
Unfortunately, Miniflux doesn't let you organize feeds in any way, which makes it less suitable for managing a large collection of RSS feeds. By the way, if running Miniflux is not your cup of tea, you can opt for a hosted version for a one-time fee of EUR 15.
FreshRSS
If minimalist RSS readers like KrISS Feed and Miniflux don't cut it for you, then you may be interested in FreshRSS [4]. This user-friendly and relatively lightweight aggregator is loaded with features (Figure 6). Although the README.md
file in the project's GitHub repository, along with all available documentation, is in French, the aggregator itself supports English, and the application is straightforward to deploy.
FreshRSS is written in PHP and it can use both MySQL and SQLite databases as its back end. Besides a web server and PHP 5.2.1, then, you need to install additional software. To do this on Debian or Ubuntu, run the
apt-get install sqlite3 php5-sqlite php5-curl php5-mysql
command as root (the sqlite3 and php5-sqlite packages are only necessary if you plan to use FreshRSS with SQLite). To deploy FreshRSS, download and unpack the latest release (or use Git to clone the project's repository) into the document root of your server. Run
chown www-data:www-data -R freshrss
then point the browser to the URL of your FreshRSS installation. This automatically starts a wizard that guides you through a few simple installation steps.
The FreshRSS interface consists of two parts: the left sidebar with a list of RSS feeds and the main area listing RSS articles. The Subscriptions management button at the top of the left sidebar switches to the dedicated page where you can add and edit feeds as well as group them into categories. FreshRSS also lets you import existing RSS feeds in the OPML format and has a bookmarklet for quickly subscribing to RSS feeds.
Similar to KrISS Feed and Miniflux, FreshRSS sports a mobile-friendly interface, so you can use it on your smartphone or tablet without a dedicated app. The default list view displays article titles grouped by date, and clicking on a specific title displays the article's summary (or the entire article, where supported). You can navigate through articles and perform common actions (mark as read, share, collapse, etc.) using keyboard shortcuts. As you would expect, FreshRSS lets you bookmark RSS articles.
The aggregator also makes it possible to share RSS articles, and the application supports a wide range of third-party services, including Google+, Facebook, and Twitter along with Wallabag (an open source alternative to the Pocket service) and Shaarli. You can enable and configure the desired sharing options in the appropriate section of the preferences part of FreshRSS.
In addition to the list view, the aggregator features two other modes: The global view displays categories and feeds them in as palettes, whereas the reading view shows all RSS items in a reading-friendly form (Figure 7). The aggregator offers a search feature that lets you quickly find articles containing specific words or tags. Similar to KrISS Feed and Miniflux, FreshRSS lets you update feeds manually or create a simple cron job to do this automatically. Finally, FreshRSS can handle multiple users, and the aggregator can be integrated with the Mozilla Persona service for easier authentication. To sum up, if you need something beefier than KrISS Feed or Miniflux, FreshRSS definitely deserves a closer look.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.
-
Fedora 41 Released with New Features
If you're a Fedora fan or just looking for a Linux distribution to help you migrate from Windows, Fedora 41 might be just the ticket.
-
AlmaLinux OS Kitten 10 Gives Power Users a Sneak Preview
If you're looking to kick the tires of AlmaLinux's upstream version, the developers have a purrfect solution.