RSS on Kindle via Linux

With my Kindle’s free worldwide 3G connection (which I’m hoping to make some use of when I’m travelling to the Americas next month), I thought I’d investigate options for reading RSS feeds.

Being the geek I am, I liked the sound of Daniel Choi’s kindle-feeds, a neat little Ruby script that gets RSS feeds from the sites you want, then formats them as single file for the Kindle. The Kindle 3 also comes with the ability to email files to your Kindle free of charge. RSS and free email transfer – two great tastes that taste great together! So, if you’re running Linux, and want get RSS feeds on your Kindle, read on.

I’m running Linux (Ubuntu 10.10), so it was easy for a non-programmer like me to create a little script to email the RSS file to my Kindle every night, using sendEmail (it’s in the Ubuntu repos), a very small perl script designed for command-line email.

Install kindle-feeds with sudo gem install kindle-feeds. Note: I altered kindle-feeds.rb so that the “outfile” variable for the file the script produces doesn’t have spaces in its name. Spaces make shell scripting a bit annoying.

The script looks like this:

#!/bin/bash
cd /home/gilgongo/KindleFeeds
DY=`date +%m-%d-%Y`
FILE="./Kindle_Feeds_$DY.html"
kindle-feeds
sendEmail \
-o tls=yes \
-f sendingaddress@foo.com \
-t kindleaddress@kindle.com -m "File attached" \
-u "RSS Update" -s smtp.gmail.com:587 \
-xu smtplogin \
-xp smtppassword
-a ./$FILE \
-l ./email.log

(I’m using a Gmail address. The Google SMTP server requires TLS, so you may need to install the libio-socket-ssl-perl package to enable sendEmail to do that.)

I’m running the script with cron at 6:00am each morning. Even with lots of feeds in the file, it’s small (about 500K), and best of all, lets me read them off line!