Newsboat - A Terminal Based RSS/Atom Feed Reader

RSS is a data exchange format defined in XML. You can deliver data by embedding it in this format, and you can collect data from multiple sources in this format. We're talking about RSS feeds or even atom feeds. It is the one who will allow us to sort and consult methodically our sources of information without missing. Some RSS feeds readers come in the form of services or applications. In this article, we will talk about newsboat which is a modern and updated RSS/Atom feed reader for the text console on your Linux system. Good thing about Newsboat is that its actively maintained. Earlier we have shown Newsroom, a tool to read news from command line.

1) Download newsboat

You can download it from the official site or you can clone the project from the GitHub official page as below

# git clone git://github.com/newsboat/newsboat.git

2) Installation process

This article will show you how to install newsboat on Ubuntu 16.04

Install the dependencies

We need first to install the dependencies. So we will update the cache before:

# apt update
# apt install libncursesw5-dev ncurses-term debhelper libjson0 libjson0-dev libxml2-dev libstfl-dev libsqlite3-dev perl pkg-config libcurl4-gnutls-dev librtmp-dev libjson-c-dev asciidoc libxml2-utils xsltproc docbook-xml docbook-xsl bc

You should need to download STFL dependency in order to install it

# wget http://www.clifford.at/stfl/stfl-0.24.tar.gz

Now you will need to uncompress it

# tar xzvf stfl-0.24.tar.gz 
stfl-0.24/
stfl-0.24/stfl_compat.h
stfl-0.24/Makefile
stfl-0.24/binding.c
stfl-0.24/stfl_internals.h
stfl-0.24/README

Now you can enter the folder

# cd stfl-0.24/

Then compile stfl

# make
Makefile:90: Makefile.deps: No such file or directory
gcc -pthread -I. -MM *.c > Makefile.deps_new
gcc -pthread -I. -MM widgets/*.c | sed 's,^wt_[^ ]*\.o: ,widgets/&,' >> Makefile.deps_new
mv -f Makefile.deps_new Makefile.deps
gcc -pthread -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC -c -o public.o public.c
...............
...............
gcc -pthread -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC -c -o example.o example.c
gcc -pthread example.o libstfl.a -lncursesw -o example

Now you can install stfl

# make install
sed 's,@[email protected],0.24,g' < stfl.pc.in | sed 's,@[email protected],/usr/local,g' > stfl.pc
mkdir -p //usr/local/lib/pkgconfig
mkdir -p //usr/local/include
install -m 644 libstfl.a //usr/local/lib
install -m 644 stfl.h //usr/local/include/
install -m 644 stfl.pc //usr/local/lib/pkgconfig/
install -m 644 libstfl.so.0.24 //usr/local/lib
ln -fs libstfl.so.0.24 //usr/local/lib/libstfl.so

Install newsboat

Now you need to install to the newsboat folder

# cd newsboat

You can now compile it

# make
Makefile:30: config.mk: No such file or directory
Checking for package sqlite3... found
Checking for package libcurl... found
Checking for package libxml-2.0... found
Checking for package stfl... found
Checking for package json... found
Checking for package json-c... found
Checking for package ncursesw... found

Then install

# make install
mkdir -p /usr/local/bin
install newsboat /usr/local/bin
mkdir -p /usr/local/share/man/man1
install doc/newsboat.1 /usr/local/share/man/man1 || true
mkdir -p /usr/local/bin
install podboat /usr/local/bin

3) Read RSS with newboat

You can start by viewing how to use the newsboat command

# newsboat --help
newsboat r2.10.1-110-g7f11
usage: newsboat [-i |-e] [-u ] [-c ] [-x  ...] [-h]
	-e, --export-to-opml		export OPML feed to stdout
	-r, --refresh-on-start		refresh feeds on start
	-i, --import-from-opml=	import OPML file
	-u, --url-file=	read RSS feed URLs from 
	-c, --cache-file=	use  as cache file
	-C, --config-file=	read configuration from 
	-X, --vacuum			compact the cache
	-x, --execute=...	execute list of commands
	-q, --quiet			quiet startup
	-v, --version			get version information
	-l, --log-level=	write a log with a certain loglevel (valid values: 1 to 6)
	-d, --log-file=	use  as output log file
	-E, --export-to-file=	export list of read articles to 
	-I, --import-from-file=	import list of read articles from 
	-h, --help			this help

The newsboat command takes in parameter a file in which you have saved the rss feed of your different sites. For example, we will create a file with the rss-feed of our site. Now start by opening the site and clic on the rss-feed icon

On the new page, copy the rss-feed link

Then save the link into a file on your system

# vim rss-sites
https://linoxide.com/feed/

Now you use the file to start newsboat in to follow the new subjects on your favorite site via your terminal. By default newsboat gives information about the 10 newer topics

$ newsboat -u rss-sites

You have the commands to use. To open just press Enter. You can reload the page with the r command

For example, I will choose the second topic

You can directly access the article by pressing 1 or you can go to the homepage by pressing 2

Now you know how to basically use newsboat. It is a new project which can more evolve. It gives the possibility to open an update topic directly on your terminal or via the web browser.

Alain Francois 12:10 am

About Alain Francois

IT Linux administrator passionate of free and open source software, I work on Linux Systems since some years on installations and deployments of certain solutions. I like to share my experiences with a wider audience by training and conferences.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.

2 Comments