/enhance-crunchyroll

A multi-browser extension to enhance your Crunchyroll experience

Primary LanguageTypeScriptMIT LicenseMIT

Enhance Crunchyroll

A multi-browser extension to enhance your Crunchyroll experience.

License Discord Firefox Users Chrome Users CI

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

  • Download videos12
  • Show the air date of the next episode (if available)
  • Add links to the AniList and MyAnimeList entries of an anime (season)
  • Video player improvements
    • No parallel stream limit
    • Maximize player on double-click
    • Default context menu when right-clicking the player

📥 Installation

📦 Official browser stores

The best way to install the extension are the official browser extension stores:

Manual installation

  • Firefox
    • Download enhance-crunchyroll-<version>-mv2.zip from the latest release and unzip it
    • Go into your browser and type about:debugging#/runtime/this-firefox in the address bar
    • Click the Load Temporary Add-on... button and choose the manifest.json file in the unzipped directory
  • Chromium / Google Chrome

    As nearly every browser other than Firefox is based on Chromium, this should be the same for most of them

    • Download enhance-crunchyroll-<version>-mv3.zip from the latest release and unzip it
    • Go into your browser and type chrome://extensions in the address bar
    • Turn on the developer mode by checking the switch in the top right corner
    • Click Load unpacked and choose the unzipped directory
What is the difference between mv2 and mv3?

mv stands for manifest version and the number for its revision. Chrome / all Chromium based browsers are limiting support for MV2 extensions in favor of MV3, while Firefox still only has experimental support for MV3 and therefore works better with MV2.

🛠 Development

You need nodejs and npm installed.

First you need to install the project dependencies.

$ npm install

Start the building/watch process which build the extension to the dist/ directory and re-builds it on every change.

$ npm run watch

Start your desired browser and load the extension into it. You need to do this in a separate terminal session as the command from the step before is long-running.

# Start firefox and load the plugin into it
$ npm run serve:firefox
# Start chrome (or chromium) and load the plugin into it
$ npm run serve:chrome

⚖ License

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

Footnotes

  1. Due to browser restrictions the download is only available as .ts file.

  2. On Firefox, the episode will be completely loaded into RAM before writing it to the disk which might cause some lagging. This is due to the lack of the (non-standardized) showSaveFilePicker method.