With kobo-book-downloader you can download your purchased Kobo books and remove the Digital Rights Management (DRM) protection from them. The resulting EPUB files can be read with, amongst others, KOReader.
Unlike obok.py, kobo-book-downloader doesn't require any pre-downloading through a Kobo e-reader or application.
kobo-book-downloader is a command line program. It looks like this:
kobo-book-downloader requires Python 3+. Make sure that you have it installed. You can verify it by running python --version from the terminal.
Use Git to clone this repository or download it as a zip. If you downloaded it as a zip then you have to extract it.
From your terminal enter the directory where kobo-book-downloader is then run pip install -r requirements.txt to install its dependencies.
It has been tested on Linux but it should work on other platforms too.
To list your unread books:
To list all your books:
python kobo-book-downloader list --all`
To download a book:
To download book and name the file automatically:
python kobo-book-downloader get /dir/ 01234567-89ab-cdef-0123-456789abcd```
To download all your books:
To show the location of the program's configuration file:
python kobo-book-downloader info```
Running the program without any arguments will show the help:
To get additional help for the **list** command (it works for **get** too):
python kobo-book-downloader list --help```
kobo-book-downloader will prompt for your Kobo e-mail address and password. Once it has successfully logged in, it won't ask for them again, it doesn't store them either, from then on it works with access tokens.
The program was made out of frustration with my workflow (purchase book on Kobo, turn on WiFi on the router, exit from KOReader, start Nickel from the Kobo start menu, turn on WiFi on the Kobo e-reader, wait till the downloading and other syncing finishes, turn off the WiFi on the e-reader, turn off the WiFi on the router, connect the e-reader via USB, run obok.py, copy the book to the e-reader, power off the e-reader, start KOReader, and finally start reading).
The DRM removal code is based on Physisticated's obok.py. Thank you!