crunchy-labs / crunchy-cli

πŸ‘‡ Command-line downloader for Crunchyroll
MIT License
609 stars 65 forks source link
anime anime-downloader anime-streaming crunchyroll crunchyroll-api crunchyroll-downloader crunchyroll-enhancer downloader hacktoberfest rust rust-lang rustlang

This project has been sunset as Crunchyroll moved to a DRM-only system. See #362.

crunchy-cli

πŸ‘‡ A Command-line downloader for Crunchyroll.

Code size Download Badge License Release Discord Build

Usage πŸ–₯️ β€’ Disclaimer πŸ“œ β€’ License βš–

We are in no way affiliated with, maintained, authorized, sponsored, or officially associated with Crunchyroll LLC or any of its subsidiaries or affiliates. The official Crunchyroll website can be found at www.crunchyroll.com.

✨ Features

πŸ’Ύ Get the executable

πŸ“₯ Download the latest binaries

Check out the releases tab and get the binary from the latest (pre-)release.

πŸ“¦ Get it via a package manager

πŸ›  Build it yourself

Since we do not support every platform and architecture you may have to build the project yourself. This requires git and Cargo.

$ git clone https://github.com/crunchy-labs/crunchy-cli
$ cd crunchy-cli
# either just build it (will be available in ./target/release/crunchy-cli)...
$ cargo build --release
# ... or install it globally
$ cargo install --force --path .

πŸ–₯️ Usage

All shown commands are examples πŸ§‘πŸΌβ€πŸ³

Global Flags

crunchy-cli requires you to log in. Though you can use a non-premium account, you will not have access to premium content without a subscription. You can authenticate with your credentials (email:password) or by using a refresh token.

Global settings

You can set specific settings which will be

Login

The login command can store your session, so you don't have to authenticate every time you execute a command.

# save the refresh token which gets generated when login with credentials.
# your email and password won't be stored at any time on disk
$ crunchy-cli login --credentials "email:password"

With the session stored, you do not need to pass --credentials / --anonymous anymore when you want to execute a command.

Download

The download command lets you download episodes with a specific audio language and optional subtitles.

Supported urls

Options

Archive

The archive command lets you download episodes with multiple audios and subtitles and merges it into a .mkv file.

Supported urls

Options

Search

The search command is a powerful tool to query the Crunchyroll library. It behaves like the regular search on the website but is able to further process the results and return everything it can find, from the series title down to the raw stream url. Using this command with the --anonymous flag or a non-premium account may return incomplete results.

Supported urls/input

Options


Output Template Options

You can use various template options to change how the filename is processed. The following tags are available:

Example:

$ crunchy-cli archive -o "[S{season_number}E{episode_number}] {title}.mkv" https://www.crunchyroll.com/series/G8DHV7W21/dragon-ball
# Output file: '[S01E01] Secret of the Dragon Ball.mkv'

Episode filtering

Filters patterns can be used to download a specific range of episodes from a single series.

A filter pattern may consist of either a season, an episode, or a combination of the two. When used in combination, seasons S must be defined before episodes E.

There are many possible patterns, for example:

In practice, it would look like this:

https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx[E1-E5]

πŸ“œ Disclaimer

This tool is meant for private use only. You need a Crunchyroll Premium subscription to access premium content.

You are entirely responsible for what happens when you use crunchy-cli.

βš– License

This project is licensed under the MIT License - see the LICENSE file for more details.