explaingit

newsboat/newsboat

3,793C++Audience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A keyboard-driven RSS and Atom feed reader that runs entirely in a terminal, follow dozens of websites and blogs in one place, read articles without opening a browser, and sync read status with online services.

Mindmap

mindmap
  root((Newsboat))
    What it does
      RSS feed reader
      Terminal based
      Keyboard driven
    Features
      Built-in HTML renderer
      Article filtering
      Podcast support
      Sync services
    Sync services
      The Old Reader
      NewsBlur
      FeedHQ
    Install
      Linux packages
      Snap
      Build from source
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Follow dozens of news sites, blogs, and tech publications from a single terminal window without visiting each site manually.

USE CASE 2

Sync your read and unread article state across multiple machines using The Old Reader, NewsBlur, or FeedHQ.

USE CASE 3

Filter out articles containing specific words or from specific authors so only content you care about appears in your feeds.

USE CASE 4

Subscribe to podcast RSS feeds and manage audio enclosures alongside text articles in one program.

Tech stack

C++Rust

Getting it running

Difficulty · easy Time to first run · 30min

Building from source requires a C++17 compiler and Rust, most Linux distributions package it so no compilation is needed for most users.

Free to use for any purpose including commercial, just keep the copyright notice, MIT license.

In plain English

Newsboat is a feed reader that runs entirely in a text terminal. A feed reader is a program that collects updates from websites, blogs, and news agencies by pulling from their RSS or Atom feeds, which are standardized formats sites use to publish new content. Instead of visiting a dozen sites manually, you open one program and see everything in one place. Newsboat is a maintained continuation of an older project called Newsbeuter, which is no longer actively developed. Because Newsboat runs in a terminal, it is keyboard-driven and works well on remote servers, low-powered machines, or anywhere a graphical browser would be too slow or unavailable. It includes its own HTML renderer, so articles that contain formatted text can be read directly inside the program without opening a browser at all. For articles where you do want to visit the original page, it can open links in an external browser of your choice. The program supports filtering, so you can set rules to hide articles based on title, author, or content. It can also aggregate articles from multiple feeds into combined views using custom criteria. If you use an online feed-syncing service such as The Old Reader, NewsBlur, or FeedHQ, Newsboat can connect to those services and keep your read/unread state in sync across devices. There is also basic podcast support for feeds that include audio enclosures. Installing Newsboat is straightforward if your Linux or BSD distribution packages it, which most do. You can also install it via Snap or build it from source. Building from source requires a C++17 compiler, Rust, and several system libraries listed in the README. The project is licensed under the MIT license and accepts bug reports and contributions through GitHub.

Copy-paste prompts

Prompt 1
Show me how to set up my first Newsboat config file with a list of RSS feed URLs and open it in my terminal.
Prompt 2
How do I configure Newsboat to sync my read and unread articles with my The Old Reader account across multiple computers?
Prompt 3
Write a Newsboat filter rule that hides any article whose title contains the word 'sponsored' or 'advertisement'.
Prompt 4
How do I configure Newsboat to open article links in Firefox and play podcast audio files with mpv?
Open on GitHub → Explain another repo

← newsboat on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.