Minimal RSS/Atom feed reader.
Go to file
2023-02-04 11:18:56 -05:00
.gitignore Initial commit 2021-08-02 11:41:15 -04:00
config.def.h logMsg: use enum instead of magic number for log level 2023-02-04 10:46:22 -05:00
handlers.c handlers.c: give error instead of segfaulting when can't write to file 2023-02-04 11:18:56 -05:00
handlers.h handlers.c: added missing copyright notices 2022-11-05 16:45:03 -04:00
LICENSE Initial commit 2021-08-02 11:41:15 -04:00
Makefile Fix makefile 2023-01-15 18:49:04 -06:00
minrss.c logMsg: use enum instead of magic number for log level 2023-02-04 10:46:22 -05:00
net.c logMsg: use enum instead of magic number for log level 2023-02-04 10:46:22 -05:00
net.h Add copyright and license information to all files 2022-04-09 17:46:16 -04:00
README Ensure C99 compatibility 2023-01-15 12:33:27 -05:00
util.c logMsg: use enum instead of magic number for log level 2023-02-04 10:46:22 -05:00
util.h handlers.c: make itemAction more modular 2022-10-29 20:04:46 -04:00

MinRSS
======
MinRSS is an RSS/Atom feed reader for Linux inspired by suckless.org's IRC
clients ii and sic. Instead of presenting articles as entries in a menu, it
saves them as files in folders.

These files can either be formatted as HTML, or as JSON to help with scripting.

rss
|--news
|  |--article1
|  `--article2
`--blog
  |--post
  `--other_post

Requirements
------------
You need libcurl and libxml2 to compile MinRSS.

json-c is required for JSON output. To disable this feature, comment out the
relevant lines in Makefile.

Installation
------------
Run this command to build MinRSS:

	make clean install

This will install the binary to ~/.local/bin. Make sure that this directory is
in your $PATH.

If you need to change this, set the PREFIX variable in Makefile.

Configuration
-------------
MinRSS is configured via the config.h file, which you can create by
either compiling MinRSS for the first time or copying config.def.h
to it. To save your changes, recompile MinRSS.

You are required to input a list of URLs in config.h before compilation
in order to successfully run MinRSS.


	static const linkStruct links[] = {
		{
			.url = "https://example.com/rss/",
			.feedName = "example-feed",
		},
	};


Using MinRSS
------------
Make a directory to store your RSS feeds, then cd into it. Then, enter 
the minrss command to download the RSS feeds. Your feeds will be 
available as folders in your current working directory.

Compatibility
-------------
This program is designed to work on Linux, but it should be possible
to make it run on other operating systems. If you can do that
successfully, please contact me about it.

Note that if you use MinRSS on different systems, it will be possible for
attackers to write malicious filenames, so you should rewrite sanitize()
accordingly.

Contributing
------------
MinRSS is compliant to the C99 standard: please ensure your changes also
comply.