Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/TnS-hun/kobo-book-downloader

A tool to download your purchased Kobo books and remove the DRM from them.
https://github.com/TnS-hun/kobo-book-downloader

book downloader drm ebook epub kepub kobo

Last synced: 17 days ago
JSON representation

A tool to download your purchased Kobo books and remove the DRM from them.

Lists

README

        

## kobo-book-downloader

With kobo-book-downloader you can download your purchased [Kobo](https://www.kobo.com/) books and remove the Digital Rights Management (DRM) protection from them. The resulting [EPUB](https://en.wikipedia.org/wiki/EPUB) files can be read with, amongst others, [KOReader](https://github.com/koreader/koreader).

Unlike [obok.py](https://github.com/apprenticeharper/DeDRM_tools/blob/master/Other_Tools/Kobo/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:

![Screenshot](https://raw.githubusercontent.com/TnS-hun/kobo-book-downloader/master/screenshot.png)

## Installation

kobo-book-downloader requires [Python 3+](https://www.python.org/). 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](https://github.com/TnS-hun/kobo-book-downloader/archive/master.zip) 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.

## Usage

To interactively select from your unread books to download:
```
python kobo-book-downloader pick /dir/
```
To interactively select from all of your books to download:
```
python kobo-book-downloader pick /dir/ --all
```
To list your unread books:
```
python kobo-book-downloader list
```
To list all your books:
```
python kobo-book-downloader list --all
```
To download a book:
```
python kobo-book-downloader get /dir/book.epub 01234567-89ab-cdef-0123-456789abcdef
```
To download a book and name the file automatically:
```
python kobo-book-downloader get /dir/ 01234567-89ab-cdef-0123-456789abcdef
```
To download all your books:
```
python kobo-book-downloader get /dir/ --all
```
To list all your books from your wish list:
```
python kobo-book-downloader wishlist
```
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:
```
python kobo-book-downloader
```
To get additional help for the **list** command (it works for **get** and **pick** too):
```
python kobo-book-downloader list --help
```

## Notes

kobo-book-downloader will prompt for your [Kobo](https://www.kobo.com/) 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](https://github.com/apprenticeharper/DeDRM_tools/blob/master/Other_Tools/Kobo/obok.py). Thank you!