Compare commits
8 Commits
ffmpeg_pul
...
v1.1.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c32726745 | ||
|
|
42ae0ae1fb | ||
|
|
e4b3871919 | ||
|
|
58e4a557e2 | ||
|
|
8371d68113 | ||
|
|
b7d496fc9d | ||
|
|
14260d04b3 | ||
|
|
3d46b65d67 |
24
README.md
24
README.md
@@ -1,6 +1,6 @@
|
|||||||
# CrunchyRoll.js
|
# Crunchy.js: a fork of Deathspike/CrunchyRoll.js
|
||||||
|
|
||||||
*CrunchyRoll.js* is capable of downloading *anime* episodes from the popular *CrunchyRoll* streaming service. An episode is stored in the original video format (often H.264 in a MP4 container) and the configured subtitle format (ASS or SRT).The two output files are then merged into a single MKV file.
|
*Crunchy.js* is capable of downloading *anime* episodes from the popular *CrunchyRoll* streaming service. An episode is stored in the original video format (often H.264 in a MP4 container) and the configured subtitle format (ASS or SRT).The two output files are then merged into a single MKV file.
|
||||||
|
|
||||||
## Motivation
|
## Motivation
|
||||||
|
|
||||||
@@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
This application is not endorsed or affliated with *CrunchyRoll*. The usage of this application enables episodes to be downloaded for offline convenience which may be forbidden by law in your country. Usage of this application may also cause a violation of the agreed *Terms of Service* between you and the stream provider. A tool is not responsible for your actions; please make an informed decision prior to using this application.
|
This application is not endorsed or affliated with *CrunchyRoll*. The usage of this application enables episodes to be downloaded for offline convenience which may be forbidden by law in your country. Usage of this application may also cause a violation of the agreed *Terms of Service* between you and the stream provider. A tool is not responsible for your actions; please make an informed decision prior to using this application.
|
||||||
|
|
||||||
|
**PLEASE USE THIS TOOL ONLY IF YOU HAVE A PREMIUM ACCOUNT**
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
It is recommended to enable authentication (`-p` and `-u`) so your account permissions and settings are available for use. It is not possible to download non-free material without an account and premium subscription. Furthermore, the default account settings are used when downloading. If you want the highest quality videos, configure these preferences at https://www.crunchyroll.com/acct/?action=video.
|
It is recommended to enable authentication (`-p` and `-u`) so your account permissions and settings are available for use. It is not possible to download non-free material without an account and premium subscription. Furthermore, the default account settings are used when downloading. If you want the highest quality videos, configure these preferences at https://www.crunchyroll.com/acct/?action=video.
|
||||||
@@ -28,28 +30,28 @@ Use the applicable instructions to install. Is your operating system not listed?
|
|||||||
|
|
||||||
1. Run in *Terminal*: `sudo apt-get install nodejs npm mkvtoolnix rtmpdump ffmpeg`
|
1. Run in *Terminal*: `sudo apt-get install nodejs npm mkvtoolnix rtmpdump ffmpeg`
|
||||||
2. Run in *Terminal*: `sudo ln -s /usr/bin/nodejs /usr/bin/node`
|
2. Run in *Terminal*: `sudo ln -s /usr/bin/nodejs /usr/bin/node`
|
||||||
3. Run in *Terminal*: `sudo npm install -g crunchyroll`
|
3. Run in *Terminal*: `sudo npm install -g crunchy`
|
||||||
|
|
||||||
### Mac OS X
|
### Mac OS X
|
||||||
|
|
||||||
1. Install *Homebrew* following the instructions at http://brew.sh/
|
1. Install *Homebrew* following the instructions at http://brew.sh/
|
||||||
2. Run in *Terminal*: `brew install node mkvtoolnix rtmpdump ffmpeg`
|
2. Run in *Terminal*: `brew install node mkvtoolnix rtmpdump ffmpeg`
|
||||||
3. Run in *Terminal*: `npm install -g crunchyroll`
|
3. Run in *Terminal*: `npm install -g crunchy`
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
1. Install *NodeJS* following the instructions at http://nodejs.org/
|
1. Install *NodeJS* following the instructions at http://nodejs.org/
|
||||||
3. Run in *Command Prompt*: `npm install -g crunchyroll`
|
3. Run in *Command Prompt*: `npm install -g crunchy`
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
|
|
||||||
Use the applicable instructions for the interface of your choice (currently limited to command-line).
|
Use the applicable instructions for the interface of your choice (currently limited to command-line).
|
||||||
|
|
||||||
### Command-line Interface (`crunchyroll`)
|
### Command-line Interface (`crunchy`)
|
||||||
|
|
||||||
The [command-line interface](http://en.wikipedia.org/wiki/Command-line_interface) does not have a graphical component and is ideal for automation purposes and headless machines. The interface can run using a sequence of series addresses (the site address containing the episode listing), or with a batch-mode source file. The `crunchyroll --help` command will produce the following output:
|
The [command-line interface](http://en.wikipedia.org/wiki/Command-line_interface) does not have a graphical component and is ideal for automation purposes and headless machines. The interface can run using a sequence of series addresses (the site address containing the episode listing), or with a batch-mode source file. The `crunchy --help` command will produce the following output:
|
||||||
|
|
||||||
Usage: crunchyroll [options]
|
Usage: crunchy [options]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
@@ -74,15 +76,15 @@ When no sequence of series addresses is provided, the batch-mode source file wil
|
|||||||
|
|
||||||
Download in batch-mode:
|
Download in batch-mode:
|
||||||
|
|
||||||
crunchyroll
|
crunchy
|
||||||
|
|
||||||
Download *Fairy Tail* to the current work directory:
|
Download *Fairy Tail* to the current work directory:
|
||||||
|
|
||||||
crunchyroll http://www.crunchyroll.com/fairy-tail
|
crunchy http://www.crunchyroll.com/fairy-tail
|
||||||
|
|
||||||
Download *Fairy Tail* to `C:\Anime`:
|
Download *Fairy Tail* to `C:\Anime`:
|
||||||
|
|
||||||
crunchyroll --output C:\Anime http://www.crunchyroll.com/fairy-tail
|
crunchy --output C:\Anime http://www.crunchyroll.com/fairy-tail
|
||||||
|
|
||||||
#### Switches
|
#### Switches
|
||||||
|
|
||||||
|
|||||||
14
package.json
14
package.json
@@ -1,19 +1,19 @@
|
|||||||
{
|
{
|
||||||
"author": "Roel van Uden",
|
"author": "Godzil",
|
||||||
"description": "CrunchyRoll.js is capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
|
"description": "Crunchy.js is a fork of Crunchyroll.js, capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"anime",
|
"anime",
|
||||||
"download",
|
"download",
|
||||||
"crunchyroll"
|
"crunchyroll"
|
||||||
],
|
],
|
||||||
"name": "crunchyroll",
|
"name": "crunchy",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/Deathspike/crunchyroll.js.git"
|
"url": "git://github.com/Godzil/crunchyroll.js.git"
|
||||||
},
|
},
|
||||||
"version": "1.1.5",
|
"version": "1.1.8",
|
||||||
"bin": {
|
"bin": {
|
||||||
"crunchyroll": "./bin/crunchyroll"
|
"crunchy": "./bin/crunchy"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"big-integer": "1.4.4",
|
"big-integer": "1.4.4",
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepublish": "npm run tsd && tsc",
|
"prepublish": "npm run tsd && tsc",
|
||||||
"test": "node ts --only-test",
|
"test": "node ts --only-test",
|
||||||
"tsd": "tsd reinstall -o -s"
|
"tsd": "tsd reinstall -o -s"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ function download(config: IConfig, page: IEpisodePage, player: IEpisodePlayer, d
|
|||||||
if (err) return done(err);
|
if (err) return done(err);
|
||||||
if (config.merge) return complete('Finished ' + fileName, now, done);
|
if (config.merge) return complete('Finished ' + fileName, now, done);
|
||||||
var isSubtited = Boolean(player.subtitle);
|
var isSubtited = Boolean(player.subtitle);
|
||||||
video.merge(config, isSubtited, player.video.file, filePath, player.mode, err => {
|
video.merge(config, isSubtited, player.video.file, filePath, player.video.mode, err => {
|
||||||
if (err) return done(err);
|
if (err) return done(err);
|
||||||
complete('Finished ' + fileName, now, done);
|
complete('Finished ' + fileName, now, done);
|
||||||
});
|
});
|
||||||
@@ -165,7 +165,7 @@ function scrapePlayer(config: IConfig, address: string, id: number, done: (err:
|
|||||||
data: player['default:preload'].subtitle.data
|
data: player['default:preload'].subtitle.data
|
||||||
} : null,
|
} : null,
|
||||||
video: {
|
video: {
|
||||||
mode: streamMode;
|
mode: streamMode,
|
||||||
file: player['default:preload'].stream_info.file,
|
file: player['default:preload'].stream_info.file,
|
||||||
host: player['default:preload'].stream_info.host
|
host: player['default:preload'].stream_info.host
|
||||||
}
|
}
|
||||||
|
|||||||
1
src/interface/IEpisodePlayer.d.ts
vendored
1
src/interface/IEpisodePlayer.d.ts
vendored
@@ -5,6 +5,7 @@ interface IEpisodePlayer {
|
|||||||
data: string;
|
data: string;
|
||||||
};
|
};
|
||||||
video: {
|
video: {
|
||||||
|
mode: string;
|
||||||
file: string;
|
file: string;
|
||||||
host: string;
|
host: string;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user