Currently this software is in beta-stadium.
Feel free to make suggestions and create PRs :)
Huge thanks to radonthetyrant for implementing a lot of features & fixing bugs!
- Install NodeJS (if you haven't already)
- Fetch the respository (or download it as zip)
- Download the dependencies ("npm i")
- Copy
config.dist.json
toconfig.json
, where to insert your Mangadex username and password - Execute a command ("node index [command] [options]")
index [command] [options]
generate [options] Generates a upload template.
login [options] Login to mangadex. Generate a cookie-file
upload [options] Upload according to upload template. Make sure login first!
group <update|search> [keyword] Searches for groups inside a cached db
generate
-d, --directory <directory> Directory which should be scanned (eg: "/path/to/scan")
-t, --template <template_path> Path where the template should be stored (eg: "/path/template.json")
-v, --volume_regex <volume_regex> Regex (case-insensitive) to detect the volume. Default: "v(?:ol|olume)?\D?(\d+)"
-c, --chapter_regex <chapter_regex> Regex (case-insensitive) to detect the chapter. Default: "c(?:h(?:apter)?)?(?:\D)?(\d+([\.|x|p]\d+)?)"
-n, --title_regex <title_regex> Regex (case-insensitive) to detect the title. (No default)
-l, --language <language_id> ID of the language (eg: 1) (Default: 1 (english))
-g, --group <n> Default group for chapters in this template (eg: 657 or 2,11 or 5,6,7)
login
-u, --username <username> (Optional) use this username instead of the one specified in config.json
-p, --password <password> (Optional) use this password instead of the one specified in config.json
upload:
-t, --template <template_path> Path where the template should be stored (eg: "/path/template.json")
-m, --manga <manga> The id of the manga (eg: 412)
-r, --resume <resume_at> Position to resume at (eg: 1) (Default: 1)
(1) Generate a template using "generate"
(2) Open the generated template and fill in the missing fields
(3) Log in using the "login"-command
(4) Upload using the "upload"-command
(1) Log in using the "login"-command
(2) use "group update" command to generate group cache file
(3) use "group search 'keyword'" to search for group. If keyword contains spaces or special characters, put it in quotes.
Example output:
⇒ node index.js login
Logging in as "%USERNAME%"...
Login successful!
⇒ node index.js group update
Retrieving group list...
Parsing...
Successfully processed 2092 groups
Group cache updated.
⇒ node index.js group search "kirei cake"
Best matches (max. 10):
ID NAME (SCORE)
==============================
452 Kirei Cake (1)
1705 HotCakes (0.43)
634 KIKE Scans (0.43)