8 Commits

Author SHA1 Message Date
Godzil
3c32726745 1.1.8 2016-08-22 12:32:25 +02:00
Godzil
42ae0ae1fb Forget to rename main executable 2016-08-22 12:30:43 +02:00
Godzil
e4b3871919 1.1.7 2016-08-22 12:22:45 +02:00
Godzil
58e4a557e2 Update readme 2016-08-22 12:22:36 +02:00
Godzil
8371d68113 Correct errors 2016-08-22 12:21:17 +02:00
Godzil
b7d496fc9d Update README.md 2016-08-22 10:51:23 +01:00
Godzil
14260d04b3 Update README.md 2016-08-22 10:50:13 +01:00
Godzil
3d46b65d67 Update package.json 2016-08-22 10:47:18 +01:00
6 changed files with 24 additions and 20 deletions

1
README Symbolic link
View File

@@ -0,0 +1 @@
README.md

View File

@@ -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
@@ -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.
**PLEASE USE THIS TOOL ONLY IF YOU HAVE A PREMIUM ACCOUNT**
## 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.
@@ -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`
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
1. Install *Homebrew* following the instructions at http://brew.sh/
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
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
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:
@@ -74,15 +76,15 @@ When no sequence of series addresses is provided, the batch-mode source file wil
Download in batch-mode:
crunchyroll
crunchy
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`:
crunchyroll --output C:\Anime http://www.crunchyroll.com/fairy-tail
crunchy --output C:\Anime http://www.crunchyroll.com/fairy-tail
#### Switches

View File

@@ -1,19 +1,19 @@
{
"author": "Roel van Uden",
"description": "CrunchyRoll.js is capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
"author": "Godzil",
"description": "Crunchy.js is a fork of Crunchyroll.js, capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
"keywords": [
"anime",
"download",
"crunchyroll"
],
"name": "crunchyroll",
"name": "crunchy",
"repository": {
"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": {
"crunchyroll": "./bin/crunchyroll"
"crunchy": "./bin/crunchy"
},
"dependencies": {
"big-integer": "1.4.4",
@@ -30,7 +30,7 @@
},
"scripts": {
"prepublish": "npm run tsd && tsc",
"test": "node ts --only-test",
"test": "node ts --only-test",
"tsd": "tsd reinstall -o -s"
}
}

View File

@@ -50,7 +50,7 @@ function download(config: IConfig, page: IEpisodePage, player: IEpisodePlayer, d
if (err) return done(err);
if (config.merge) return complete('Finished ' + fileName, now, done);
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);
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
} : null,
video: {
mode: streamMode;
mode: streamMode,
file: player['default:preload'].stream_info.file,
host: player['default:preload'].stream_info.host
}

View File

@@ -5,6 +5,7 @@ interface IEpisodePlayer {
data: string;
};
video: {
mode: string;
file: string;
host: string;
};