0.5.0 • Published 5 years ago

mangareader-dl v0.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

CLI for comfortable manga download

GNU/Linux status OSX status Windows status Npm downloads Licence MIT Code style custom npm.io npm.io npm.io npm.io npm.io

Convenient mass downloading from mangareader.net and other supported sites, easily download new chapters or resume downloads.

npm.io

$ mangareader-dl naruto/699 -do .

$ ls ./naruto
#=> naruto-699.cbz naruto-700.cbz

Project Status

I'm currently refactoring this project to typescript, adding more tests, a better cli interface and fixing some structural mistakes that kept me from adding new providers.

You can see progress on the ts branch.

Feel free to add feature requests and providers as issues.

Features

  • Download all available chapters
  • Resume downloads
  • Easily download new chapters
  • Set download location
  • Configurable defaults
  • Clean, informative interface

FAQ

Install

Npm Version

$ npm i -g mangareader-dl

Usage

  mangareader-dl: CLI for comfortable manga download

  Usage
    $ mangareader-dl <manga>

  Commands
    <manga> Manga to download
    list    List downloaded manga
    config  Set defaults
    update  Update subscribed manga

  Options, Sub-commands
    <manga>
      -o, --out       Set output path
      -d, --dir       Download into 'path/manga-name'
      -p, --provider  Set download site
      -f, --force     Overwrite history
      -s, --subscribe Subscribe to new chapters
      -m, --micro     Micro progress bar
    list
      -l, --latest    Highlight if new chapters are available
      reset           Reset non-subscribed manga
        -f, --force   Reset history
    config
      -o, --out       Set default output path
      -d, --dir       Enable/disable dir option
      -p, --provider  Set default provider
      reset           Reset config
    update
      -m, --micro     Micro progress bar
          --silent    Hide progress bar
      check           Check if new chapters are available
    --version         Show version
    --help            This help message
    --debug           Throw errors locally

  Examples
    $ mangareader-dl mangareader.net/naruto/100 -do .
    => Download naruto chapter 100+ into cwd

    $ mangareader-dl naruto -mp mangareader
    => Download naruto from mangareader.net in micro mode

  For the full documentation please refer to:
  https://github.com/jneidel/mangareader-dl

Examples

These examples will showcase common use cases. View the API docs for more info on the individual commands.

Download starting at given chapter:

$ mangareader-dl naruto/100

# Output path: './'

See:

Set output directoy:

$ mangareader-dl naruto -do ~/manga

# Output path: '~/manga/naruto'

See:

Continue download from history:

For each manga the chapter, provider and path are saved. So the following download:

$ mangareader-dl naruto/10 -o naruto

# Output path (same as for next two): './naruto'

can be resumed with:

$ mangareader-dl naruto

If you need to re-download something, just overwrite the history with --force:

$ mangareader-dl naruto/10 -fo naruto

See:

Download from different site:

$ mangareader-dl naruto -p readmng
# Or specifying the site via url
$ mangareader-dl https://www.readmng.com/naruto

See:

Update manga:

After marking a manga with the --subscribe flag at the initial download:

$ mangareader-dl naruto -s

You can download new releases (for all marked manga) with:

$ mangareader-dl update

See:

Commands

\/chapter

Url or name of manga to download.

$ mangareader-dl shingeki-no-kyojin # same as
$ mangareader-dl https://www.mangareader.net/shingeki-no-kyojin

A chapter can be specified using a / after the manga name: shingeki-no-kyojin/100.

$ mangareader-dl shingeki-no-kyojin/100

Manga are downloaded in the .cbz (comic book zip) format.

Possible formats:

  • shingeki-no-kyojin
  • mangareader.net/shingeki-no-kyojin
  • www.mangareader.net/shingeki-no-kyojin
  • http://www.mangareader.net/shingeki-no-kyojin
  • https://www.mangareader.net/shingeki-no-kyojin

list

Output the history of downloaded manga, as well as their last chapter, provider and location on disk.

This list is used for continuing downloads.

$ mangareader-dl list

# ❯ Downloaded manga:
#     onepunch-man       137 [mangareader /Users/jneidel/manga/onepunch-man]
#     platinum-end        28 [readmng     /Users/jneidel/manga/platinum-end]
#   ✓ shingeki-no-kyojin 104 [mangareader /Users/jneidel/manga/shingeki-no-kyojin]

To continue the download of onepunch-man starting at chapter 138 execute:

$ mangareader-dl onepunch-man

The in the second output above specifies whenever a manga has been --subscribed to.

Color up-to-date manga:

To check whenever a manga is at its latest chapter pass the --latest (-l) option.

Green manga are up-to-date, red ones arn't.

Reset history:

Soft reset (keep --subscribed manga):

$ mangareader-dl list reset

Hard reset:

$ mangareader-dl list reset -f

config options

Update the global defaults by specifying them as options:

$ mangareader-dl config -deo ~/manga -p mangareader

Available options:

optionparameterdefault
--out<path>./
--provider<site>mangareader
--dirtrue / falsefalse

Current config:

$ mangareader-dl config

Current configuration:
  --out: /Users/jneidel/manga
  --dir: true
  --provider: mangareader

Config location:

The cli checks if ~/.mangareader-dl.json exists and otherwise writes to a local file. If you want your config and history to persit just create the global settings file:

In ~/.mangareader-dl.json:

{
  "config" : {},
  "history": {}
}

Reset config:

$ mangareader-dl config reset

update

Download new chapters for all manga that have been --subscribed to.

$ mangareader-dl update

Performs a n-time lookup for new chapters on all --subscribed manga, followed by the download of these chapters into their provided paths.

Example:

~/.mangareader-dl.json:

{
  "config": {...},
  "history": {
    "platinum-end": {
      "chapter": 20,
      "path": "/Users/jneidel/manga/platinum-end",
      "provider": "readmng",
      "subscribe": true
    },
    "onepunch-man": {
      "chapter": 136,
      "path": "/Users/jneidel/manga/onepunch-man",
      "provider": "mangareader",
      "subscribe": true
    },
  }
}

Latest chapter of platinum-end on readmng is 28.

Latest chapter of onepunch-man on mangareader is 137.

$ mangareader-dl update

# Downloads:
#   'platinum-end' chapter 21-28
#   'onepunch-man' chapter 137

Check if new chapters are available:

$ mangareader-dl update check

# ❯ New chapters are available for:
#   boku-no-hero-academia
#   dr-stone
#   haikyuu
#   shokugeki-no-soma
# ❯ Update using: $ mangareader-dl update

Hide progress bar:

For redirecting the output cleanly into a file use the --silent flag.

$ mangareader-dl update --silent >> ~/manga/updates.txt &

# downloads updates in the background
# and adds the list of update
# chapters to ~/manga/updates.txt

$ cat ~/manga/updates.txt
#   - dr-stone (66)
#   - shingeki-no-kyojin (107)

Options

Option flags of type boolean can be chained using their short form:

$ mangareader-dl <manga> -dfm
# Options requiring a parameter can be chained at the end
$ mangareader-dl <manga> -dfmo <path>

--out \

Set the output path.

$ mangareader-dl shingeki-no-kyojin -o shingeki-no-kyojin

# Output path: './shingeki-no-kyojin'

\: Required

--dir

Add a directory named after the manga to the path.

$ mangareader-dl shingeki-no-kyojin -d

# Output path: './shingeki-no-kyojin'


$ mangerader-dl shingeki-no-kyojin -do ~/manga

# Output path: '~/manga/shingeki-no-kyojin'

--provider \

Specify site to download from.

$ mangareader-dl shingeki-no-kyojin -p readmng

\: Required

Must be in the list of supported sites.

Leave off the domain extension (eg: .com).

--force

Overwrite the corresponding entry in the history with the currently specified data.

$ mangareader-dl naruto -f

Example:

$ mangareader-dl list
# ❯ Downloaded manga:
#   shingeki-no-kyojin - 104 [mangareader - /Users/jneidel/manga/shingeki-no-kyojin]

$ mangareader-dl shingeki-no-kyojin/100
#=> Continues download from history - downloading chapter 105

$mangareader-dl shingeki-no-kyojin/100 -f
#=> Downloads chapter 100+, overwrites history

--micro

Activate micro progress bar.

$ mangareader-dl shingeki-no-kyojin/100 -m

# ⠏ shingeki-no-kyojin 100/104 26%

--subscribe

Subscribe to given manga, activate download of new chapters using the update command.

$ mangareader-dl shingeki-no-kyojin/100 -s

# Subscription is specified by the ✓ in 'list':

$ mangareader-dl list
# ❯ Downloaded manga:
#     onepunch-man              137 [readmng     /Users/jneidel/manga/onepunch-man]
#   ✓ shingeki-no-kyojin        104 [mangareader /Users/jneidel/manga/shingeki-no-kyojin]

Unset by passing false as argument: $ mangareader-dl shingeki-no-kyojin -s false.

--debug

Throw errors locally instead of sending out error reports. See the privacy policy to find out what data is being sent.

Supported sites

Currently supported sites:

site status speed  note 
mangareader.netmangareader statusmangareader download speedFastest
mangalife.usmangalife statusmangalife download speedWide variety, best formatting for manhwa
mangapanda.commangapanda statusmangapanda download speedmangareader rehost
mangainn.netmangainn statusmangainn download speedThe image hoster now requires js to be executable, which is not possible right now. See #16 for updates.
readmng.comreadmng statusreadmng download speedSame problem as mangainn, uses the same source. See #17 for updates.
goodmanga.comgoodmanga statusgoodmanga download speedRemoved. Requests are being redirected to mangareader.net

If given a full url (eg: www.mangareader.net/shingeki-no-kyojin) the provider (site to download from) will be parsed from the url, using the name of the manga (eg: shingeki-no-kyojin) the default provider will be used. To use a different provider specify it with the --provider flag.

# Both download Attack on Titan from mangareader.net

$ mangareader-dl https://www.mangareader.net/shingeki-no-kyojin

$ mangareader-dl shingeki-no-kyojin --provider mangareader

To request support for an unsupported provider please open an issue on GitHub.

Privacy Policy

This cli sends anonymized error reports to my (jneidel) private server. These include this app's version, your os.type() and os.platform(), as well as the Error object. Using the --debug flag will suppress sending any error reports.

Test

$ npm run test

Travis always shows the tests as broken, this is because Travis just stopped running the tests some time ago.

Python version

For the rudimentary, legacy version written in python click here.

License

MIT © Jonathan Neidel

0.5.0

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago