Send blogs, documents, collection of webpages to your kindle
Contribute · Documentation · Todo
Documentation
kindle-send
is a command line utility to send files and webpages to your kindle via e-mail.
Webpages are optimized for viewing on kindle
Credits - Netflix tech blogFixing Performance Regressions Before they Happen
An epub is created from a url, then mailed to the kindle. Amazon converts that epub into azw3 for viewing on kindle.
So you can use kindle-send, even if you're using a different ereader like Kobo and Remarkable if it supports pushing ebooks via email.
Installation
To run kindle-send you just need the compiled binary, no other dependency is required.
As this was not the case with the older python version which required percollate, calibre etc.
Brew
Kindle-send can be installed via brew
brew install nikhil1raghav/tap/kindle-send
Download binary
Download the binary for your operating system and architecture from release page and add it to your PATH. If there is no binary compatible for your system. Please create an issue.
Go install
If you have golang installed, you can also install kindle-send using
go install github.com/nikhil1raghav/kindle-send@latest
For the first time when you run kindle-send
, you need to answer some questions to create a configuration file, which has options like sender, receiver, password and path to store the generated files.
If you're using gmail to send mails to kindle, please consider creating an app password and then using it.
Following modes of operation are supported
1. Send a file
Using kindle-send
to mail an already existing file.
kindle-send --file <path-to-file>
2. Send a webpage
Quickly send a webpage to kindle
kindle-send --url <link-to-a-webpage>
3. Multiple webpages combined in a single volume
Create a text file with new line separated links of webpages and then pass it as link file to --linkfile
option
kindle-send --linkfile <path-to-url-file>
Additional options
Default timeout for mail is 2 minutes, if you get timeout error while sending bigger files. Please increase the timeout using --mail-timeout <number of seconds>
option
Specify the title for the document using --title
option.
Specify a different configuration file using --config
option. Configuration is stored in home directory as KindleConfig.json
. You can directly edit it if you want.
When sending a collection of pages if no title is provided, volume takes the title of the first page.
Contribute
Feel free to create an issue and then working on some feature, so that we don't overwrite each other.
Todo
- Weekly RSS feed dump, when combined with
cron
- Better CSS & formatting for epub
- Compressing images before embedding to reduce final file size
- Remove dependency on percollate and calibre
- Make installation easier