dynasty 1.4.0

Dynasty Reader's CLI downloader
Documentation
<div align="center">

# dynasty

[![Crates.io version](https://img.shields.io/crates/v/dynasty?style=for-the-badge)](https://crates.io/crates/dynasty)
[![Crates.io recent downloads](https://img.shields.io/crates/dr/dynasty?style=for-the-badge)](https://crates.io/crates/dynasty)

[![GitHub Workflow Status (Release)](https://img.shields.io/github/workflow/status/Aynh/dynasty/Release?style=for-the-badge)](https://github.com/Aynh/dynasty/actions/workflows/release.yaml)
[![GitHub Workflow Status (API Check)](https://img.shields.io/github/workflow/status/Aynh/dynasty/API%20Check?label=API%20CHECK&style=for-the-badge)](https://github.com/Aynh/dynasty/actions/workflows/api-check.yaml)
[![GitHub last commit](https://img.shields.io/github/last-commit/Aynh/dynasty?style=for-the-badge)](https://github.com/Aynh/dynasty/commit/HEAD)

A [Dynasty Reader](dynasty-scans.com/)'s CLI downloader, written in Rust.

</div>

- [Installation]#installation
- [Usage]#usage
  - [Examples]#examples
- [License]#license
- [Contribution]#contribution

## Installation

1. [GitHub releases]https://github.com/Aynh/dynasty/releases

You need to extract the archive in order to get the executable binary.

2. Cargo

[Rust toolchain](https://www.rust-lang.org/tools/install) is required.

```bash
cargo install dynasty
```

> Cargo will put the binary, `dynasty-cli` at your [installation root]https://doc.rust-lang.org/cargo/commands/cargo-install.html#description (typically at `$HOME/.cargo/bin`).

## Usage

```
Dynasty Reader's CLI downloader

Usage: dynasty-cli [OPTIONS] [URL]... <COMMAND>

Commands:
  search  Search for query on Dynasty Reader
  help    Print this message or the help of the given subcommand(s)

Arguments:
  [URL]...  Urls to download

Options:
  -a, --archive <ARCHIVE>               Archive downloaded chapters as `<ARCHIVE>` [possible values: cbz, pdf, zip]
  -A, --keep-archived                   Whether to keep archived chapters
  -d, --directory <PATH>                Sets the output directory
  -f, --flatten-directory               Whether to flatten output directory
  -n, --no-cache                        Whether to not cache resolver results
  -j, --max-concurrent-request <COUNT>  The maximum number of concurrently running requests [default: 4]
  -k, --max-retry <COUNT>               The maximum number of request retries [default: 4]
  -h, --help                            Print help information
  -V, --version                         Print version information
```

### Examples

1. Download _Hino-san no Baka_ with 8 concurrent fetch.

```bash
dynasty-cli https://dynasty-scans.com/series/hino_san_no_baka -j 8
```

2. Download the chapters as pdf.

```bash
dynasty-cli https://dynasty-scans.com/series/a_scummy_gap_student_with_a_hard_life_calls_upon_a_lady_of_the_night --archive pdf
```

3. Using proxy (http, https, or socks) is possible through environment variable (see [reqwest proxies]https://docs.rs/reqwest/0.11.12/reqwest/index.html#proxies).

```bash
HTTPS_PROXY=socks5://127.0.0.1:1080 dynasty-cli https://dynasty-scans.com/chapters/kitanai_kimi_ga_ichiban_kawaii_ch26
```

## License

Licensed under either of

- Apache License, Version 2.0
  ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
  ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

## Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.