Newsboat is an RSS/Atom feed reader for the text console. It's an actively maintained fork of Newsbeuter.
Logo by noobilanderi, licensed under CC BY 4.0.
You can download the latest version of Newsboat from the official site: https://newsboat.org/
Alternatively, you can check out the latest version from the Git repository:
$ git clone git://github.com/newsboat/newsboat.git
Newsboat depends on a number of libraries, which need to be installed before Newsboat can be compiled.
- GCC 4.9 or newer, or Clang 3.6 or newer
- Stable Rust and Cargo (Rust's package manager) (1.44.0 or newer; might work with older versions, but we don't check that)
- STFL (version 0.21 or newer)
- SQLite3 (version 3.5 or newer)
- libcurl (version 7.21.6 or newer)
- Header files for the SSL library that libcurl uses. You can find out which
library that is from the output of
curl --version
; most often that's OpenSSL, sometimes GnuTLS, or maybe something else. - GNU gettext (on systems that don't provide gettext in the libc): ftp://ftp.gnu.org/gnu/gettext/
- pkg-config
- libxml2
- json-c (version 0.11 or newer)
- Asciidoctor (1.5.3 or newer)
- Some implementation of AWK like GNU AWK or NAWK.
Developers will also need:
- xtr (version 0.1.4 or newer) (can be installed
with
cargo install xtr
) - Coco/R for C++, needed to re-generate
filter language parser using
regenerate-parser
target.
There are numerous ways:
-
install from your distribution's repository (a lot of distros have a package);
-
install via Snap:
$ sudo snap install newsboat
-
build from source with Docker. Note that the resulting binary might not run outside of that same Docker container if your system doesn't have all the necessary libraries, or if their versions are too old;
-
build from source in a chroot: to avoid polluting your system with developer packages, or to avoid upgrading, you might use a tool like
debootstrap
to create an isolated environment. Once that's done, just build from source as outlined in the next item; -
build from source.
Install everything that's listed in the "Dependencies" section above. Make sure to install the header files as well (on Debian and derivatives, headers are in
-dev
packages, e.g.libsqlite3-dev
.)Then compile and install with:
$ make # pass -jN to use N CPU cores, e.g. -j8 $ sudo make install # install everything under /usr/local
To install to a different directory, pass
prefix
like so:sudo make prefix=/opt/newsboat install
.To uninstall, run
sudo make uninstall
.
Cross-compilers need to set CARGO_BUILD_TARGET
; see cargo
documentation.
- Check out our documentation and FAQ
- Report security vulnerabilities to [email protected]. Please encrypt your emails to PGP key 4ED6CD61932B9EBE if you can.
- Report bugs and ask questions on the issue tracker and the mailing list ([email protected])
- Chat with developers and fellow users on #newsboat at Freenode (webchat available!)
Decided to work on an issue, fix a bug or add a feature? Great! Be sure to check out our style guide.
You'll probably want to run the tests; here's how:
$ TMPDIR=/dev/shm make -j5 PROFILE=1 check
The "5" here is the number of CPU cores in your machine plus one. This
parallelises the build. Rust tests already utilize as many cores as they can,
but if you want to limit them, use the RUST_TEST_THREADS
environment variable.
/dev/shm
is a "ramdisk", i.e. a virtual disk stored in the RAM. The tests
create a lot of temporary files, and benefit from fast storage; a ramdisk is
even better than an SSD.
Newsboat can also be built in Docker.
Newsboat is licensed under the MIT license; see the LICENSE file.