MangaRack is a console line application capable of downloading manga series from popular manga scanlation sites. Each downloaded chapter is stored on your computer as a comic book archive and contains additional embedded meta information. The embedded meta information is compatible with the popular ComicRack application suite.
It has been three years since the release of MangaRack.cs, the predecessor of MangaRack.js. Managing hundreds of series, thousands of chapters and millions of pages has been an incredible learning experience. There have been major changes going from 2.x
to 3.x
, and similarly, in the 4.x
version. A library will not change much, but the mangarack everywhere!-philosophy has been enhanced with a "dependable and predictable behaviour"-approach. If you are upgrading, delete your persistence files, and check for deprecated command line switches.
- NodeJS >=
5.x
(http://nodejs.org/) - NPM >=
2.x
(https://www.npmjs.org/) - GraphicsMagick >=
1.3.x
(http://www.graphicsmagick.org/)
- Batoto support is intended as an incomplete high-quality provider.
- KissManga support is intended as a back-up provider.
- MangaFox support is intended as a complete medium-quality provider.
Use the applicable instructions to install. Is your operating system not listed? Please ask or contribute!
- Run in Terminal:
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
- Run in Terminal:
sudo apt-get install nodejs graphicsmagick
- Run in Terminal:
sudo npm install -g mangarack
- Install Homebrew following the instructions at http://brew.sh/
- Run in Terminal:
brew install node graphicsmagick
- Run in Terminal:
npm install -g mangarack
- Install NodeJS following the instructions at http://nodejs.org/ (and choose latest)
- Install GraphicsMagick following the instructions at http://www.graphicsmagick.org/
- Run in Command Prompt:
npm install -g mangarack
Use the applicable instructions for the interface of your choice (currently limited to command-line).
The 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 chapter listing), or using the standard input.
Download Futari dake from MangaFox:
mangarack-cli http://mangafox.me/manga/futari_dake/
Download Futari dake from MangaFox and disable image normalization:
mangarack-cli --runnable.cli.disableNormalize 1 http://mangafox.me/manga/futari_dake/
Download the series listed in the MangaRack.txt
file:
mangarack-cli < MangaRack.txt
--component.core.batoto.username <username>
provides a username for Batoto.--component.core.batoto.password <password>
provides a password for Batoto.--runnable.cli.disableMangafoxHeuristicCrop 1
disables MangaFox image cropping.--runnable.cli.disableNormalize 1
disables image normalization.--runnable.cli.metaUnknownVolume 99
overrides unknown volumes in ComicInfo.xml (See #44).
MangaRack is developed in TypeScript
, a typed superset of JavaScript
, and is designed to run in any JavaScript-enabled platform, including but not limited to cordova, electron, and nodejs. All code has been split into modules that have been tagged with a specific label:
component
modules are environment agnostic and define required services.cordova
modules implementcomponent
-required services for cordova.node
modules implementcomponent
-required services for nodejs.runnable
modules are intended to be executable entry points.
Each module has its own package definition, but none of the modules specify inter-module dependencies. This means that modules do not explicitly depend on each other through their package definition, even thought they might need another module to function properly. If you wish to install a module through npm
:
- Install the preferred
component
module and itscomponent
dependencies. - Install the preferred environment module and its environment dependencies.
- Use the API (documented through definitions) to use
mangarack
functionality.
If you wish to contribute to this repository:
- Clone this repository into a folder named
node_modules
(for module resolution). - Run
node ezpz-install
in the folder using Command Prompt/Terminal. - Open the folder with Atom (using the TypeStrong plugin) or VSCode.
- To test a runnable, run
node mangarack-runnable-*/dist/app
(replace*
).
Please open an issue for further questions.