Skip to content
/ r2k Public

A tool that lets you periodically send articles received from an RSS feed to your Kindle

License

Notifications You must be signed in to change notification settings

mcouthon/r2k

Repository files navigation

R2K (RSS to Kindle)

r2k is a tool that lets you to track your favorite RSS/Atom feeds, and send cleaned-up (i.e. only text and images) articles received from them directly to your Kindle.

Installation

Cleaning up the articles

Usage

Installation

The best way to get up and running with r2k us to use pipx. Simply run:

pipx install r2k

If you're not using pipx (you should!), pip install r2k will also do.

If you want to add r2k to your Poetry project, run poetry add r2k.

Cleaning up the articles

There are currently 3 ways to clean up articles:

  1. The default is using the readability Python implementation. It doesn't require any extra steps or installations, and thus is the easiest to use. It is, however, a bit less precise than the other 2 methods.
  2. Using the PushToKindle service. The service works by attaching an email address that forwards cleaned up versions of URLs to your Kindle. It's free for a certain amount of articles, but you need to become their supporter afterward.

Usage

Preparations

If you're using PushToKindle (PTK)

The free version of PTK only allows for 25 articles to be sent using their service. After this, you'll have to become their "sustainer" (for as low as 1$/month) on Patreon here.

Before using r2k with PTK you need to:

  1. Know your kindle email address (find it here, under "Preferences" -> "Personal Document Settings").

  2. Add [email protected] to the list of approved email senders (in the same place in Amazon's settings).

Set up your configuration file

Most of what r2k does involves the configuration file, in which the feeds you're subscribed to are kept, as well as some other data.

After installation, run:

r2k config init [-p CONFIG_PATH] 

The default location for the config YAML file is in ~/.r2k/config.yml.

During the init you'll be asked several questions (like your kindle email address).

To see your configuration run:

r2k config show [-p CONFIG_PATH]

Adding your GMail credentials

Currently r2k relies on the fact that you have a GMail address, and it requires a Google App Password. These are useful in cases where you don't want to go through 2FA authentication. Go here to generate an r2k App Password, and add it to the configuration.

Add some RSS subscriptions

Using an OPML file

The OPML format is widely used in the RSS/Atom world (as well as in podcasting and other areas) to represent a collection of feeds. You can export your existing subscriptions from most feed readers into an OPML file.

To load all of your subscriptions in one move run:

r2k feed import PATH_TO_OPML_FILE

Manually adding feeds

If you don't have an OPML export, or just want to add a single feed you can run:

r2k feed add -t FEED_TITLE -u FEED_URL

If the FEED_URL is a proper RSS feed (i.e. an actual XML feed URL), it will be added as is. If the FEED_URL is a regular URL, r2k will attempt to find the RSS feed by analyzing the page source. In the case of multiple candidates (e.g. WordPress content feed and comment feed), you will be presented with a list of choices.

Send updates to your Kindle

Right now the "periodical" part of r2k is not yet operational. In order to send updates to your Kindle you'll have to run:

r2k kindle send [-f FEED_TITLE]

If you don't pass the -f/--feed-title option, updates will be sent for all of your subscriptions.

The first time that kindle send is run for any feed, you will be presented with a list of all the available articles in the feed (note that RSS feeds usually only keep a subset of the most recent entries), and will be asked to choose the last one you've already read. This is to avoiding sending you any article you've already consumed.

About

A tool that lets you periodically send articles received from an RSS feed to your Kindle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published