Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jenni/obooks

O'Books :books::sparkles: Download books from O'Reilly | Safaribooks
https://github.com/jenni/obooks

ebooks epub hacktoberfest oreilly oreilly-books oreilly-books-downloader safaribooks safaribooksonline

Last synced: 19 days ago
JSON representation

O'Books :books::sparkles: Download books from O'Reilly | Safaribooks

Awesome Lists containing this project

README

        

# O'BOOKS :books::sparkles:

CLI to download and generate books from [O'Reilly](https://www.oreilly.com/) | Safaribooks.

_This package is exclusively intended for personal use. Its purpose is to complement your O'Reilly membership facilitating content in the format of `.epub` to read on your e-reader._

# USAGE

You need to hold an active account in [O'Reilly](https://www.oreilly.com/) | Safaribooks to be able to download books.

## DOCKER

```
$ docker pull jennyfive/obooks
$ docker run -it --rm -v "$(pwd)/obooks/:/usr/app/books/" jennyfive/obooks -b "" -c ""
```

The book will be available in the new `obooks` folder in the current directory.

## CLI

$ ./cli.js -b "" -c ""

The downloaded books will be stored in the folder `obooks/books` inside the cloned project.

After the first successful login/book download through **obooks**, a `session.json` file containing auth cookies will be written in the root of the project. Any future downloads will not require passing the cookies to the command.


$ ./cli.js -b ""


### **HOW TO**

The first time you're using obooks, you'll need to pass your logged in cookies in the command. Check the chrome developer tools while logged in to O'Reilly, you'll see a 'cookie' header sent in the 'Request Headers', this is the long string you should pass in in the **obooks** cookie flag `-c "`:

`$ ./cli.js -b "9781788623872" -c "LONG STRING OF COOKIES HERE"`

note: if using Windows, run it under *nodejs*:

`$ node cli.js -b "9781492077992" -c "LONG STRING OF COOKIES HERE"`

## **CLI flags explained**

- **`-b `**: This is the book identification in O'Reilly. You can find it in the url of the book you'd like to download. For [this example](https://learning.oreilly.com/library/view/java-the-complete/9781260440249/), the book id would be: **9781260440249**.

- **`-c `**: O'Reilly session cookie.