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

https://github.com/hurlenko/orly

Download O'Reilly books as EPUB.
https://github.com/hurlenko/orly

epub oreilly oreilly-books oreilly-books-downloader

Last synced: about 1 year ago
JSON representation

Download O'Reilly books as EPUB.

Awesome Lists containing this project

README

          

# orly

Download O'Reilly books as EPUB.

![GitHub release](https://img.shields.io/github/v/release/hurlenko/orly)
![Downloads](https://img.shields.io/github/downloads/hurlenko/orly/latest/total)
![Crates.io](https://img.shields.io/crates/d/orly)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

## Table of Contents

- [Installation](#installation)
- [Github releases (recommended)](#github-releases-recommended)
- [Cargo](#cargo)
- [Usage](#usage)
- [Command line interface](#command-line-interface)

## Installation

### Github releases (recommended)

**[Archives of precompiled binaries for orly are available for Windows,
macOS and Linux.](https://github.com/hurlenko/orly/releases)** Linux and
Windows binaries are static executables.

### Cargo

If you're a **Rust programmer**, orly can be installed with `cargo`.

> Note that the minimum supported version of Rust for `orly` is **1.54.0**.

You need to install the development headers of `libxml2` first. The process depends on the OS being used:

- Windows

First install [vcpkg](https://github.com/microsoft/vcpkg). After that install `libxml2`:

```bash
vcpkg install libxml2:x64-windows-static
```

Export compiler options to force static linking:
```bash
$env:RUSTFLAGS="-Ctarget-feature=+crt-static"
```

- Linux

On linux systems you'd `pkg-config`. For Debian-based distributions:

```bash
apt-get install libxml2-dev pkg-config
```

- macOS

Use `brew` to install `libxml2` and `pkg-config`:

```bash
brew install libxml2 pkg-config
```

Finally install `orly`:

```bash
cargo install orly
```

After installation, the `orly` command will be available. Check the [command line](#command-line-interface) section for supported commands.

## Usage

- You will need an O'Reily account with a non-expired subscription.

- Find the book you want to download and copy its id (the digits at the end of the url).

- Use your credentials or a cookie string to download the book:

```bash
orly 1234567890 --creds "email@example.com" "password"
# or
orly 1234567890 --cookie 'BrowserCookie=....'
```

## Command line interface

Currently `orly` supports these commands

```bash
USAGE:
orly [OPTIONS] ...

ARGS:
... Book ID to download. Digits from the URL

OPTIONS:
-c, --creds Sign in credentials
--cookie Cookie string
-h, --help Print help information
-k, --kindle Apply CSS tweaks for kindle devices
-o, --output Directory to save the final epub to [default: .]
-t, --threads Maximum number of concurrent http requests [default: 20]
-v, --verbose Level of verbosity
-V, --version Print version information
```