Download from MangaDex easily without compromising quality or speed! This is a MangaDex specific downloader, other sites will not be supported.
If on Windows, you'll need to use python
instead of python3
pip install -r requirements.txt
You'll need to rename .env.example
to .env
and change the values to whatever would suit you best, if you don't know what it's for, leave the values as they are.
python3 mdownloader.py link/id [options]
To use an additional option, you can just add the parameter by itself (except language, type or search), with no arguments. e.g. python3 mdownloader.py id -t manga -c
will download the covers of a manga, not adding a parameter will fallback to the default parameter behaviour.
To batch download, create a file in the same folder as the downloader. Inside, add one id or link per line. Instead of typing the id when executing, enter the filename. Since chapter is the default download type, any non-links will be treated as chapter ids and be downloaded as such. Using this will override the range download option to be False.
python3 mdownloader.py mylist.txt [-t <manga|group|user|list>]
link_1
id_1
id_2
link_2
id_3
link_3
...
To search for a manga to download, instead of id, enter the manga's name. You need to make sure the -s
parameter is included. If you want to enter multiple words, wrap them with quotation marks. You can still use the other options available, the type option will be overridden to type "manga".
python3 mdownloader.py "Please Put These On, Takamine-san" -s
Pass the -r
parameter to download a range of chapters for manga download. You can use all
to download all the chapters, !
in front of a chapter number to exclude that chapter or chapter range.
Enter the chapter(s) to download: all, !2-5
Will download all the chapters excluding 2 to 5 (inclusive).
Enter the chapter(s) to download: 10-18, 5
Will download chapter 5, then 10 to 18 (inclusive).
- -l --language (optional. Use the MD code of the language you want to download. Default: en)
- -t --type (optional. You can choose between 'manga', 'chapter', 'group' or 'user' options. Default: chapter)
- -f --folder (optional. Downloads the images to a folder instead of an archive. Default: False)
- -c --covers (optional. Download the manga covers, works only with manga downloads. Default: False)
- -j --json (optional. Add the chapter data as found on the api to the archive or folder. Default: True)
- -r --range (optional. Download a range of chapters, or download all while excluding some. Default: True)
- -s --search (optional. NEEDED to search for manga. Wrap multiple words in quotation marks, e.g. "Please Put These On, Takamine-san". Default: False)
- -o --order (optional. Download group, user, follows and custom list chapters without grouping them by manga. This will not create a manga json.. Default: False)
- --login (optional. Login to MangaDex. Default: False)
- --refresh (optional. Force refresh the downloaded cache. Default: False)
- --update (optional. Skip looking for an application update. Default: False)
- --rename (optional. Skip renaming downloaded files if the title is wrong. Default: True)
Whitelisting takes priority with group filtering taking priority over user filtering.
To blacklist a group or user, create a file in the same folder as the download, it can be called whatever you want, default names are "group_blacklist.txt" and "user_blacklist.txt", however you will need to change the name of the files in the .env
file if you want to use your own names. Add an id per line of the group or user's chapters you want to skip.
To whitelist a group or user, create a file in the same folder as the download, it can be called whatever you want, default names are "group_whitelist.txt" and "user_whitelist.txt", however you will need to change the name of the files in the .env
file if you want to use your own names. Add an id per line of the group or user's chapters you want to download. If both group and user whitelists are specified, group whitelisting takes priority.
Images will be downloaded in the download directory relative to the script location with the following structure:
Manga Title
|
----> Manga Title [lang_iso_code] - cXXX (vYY) [Group(s)]
|
----> Manga Title [lang_iso_code] - cXXX (vYY) - pZZZ [Group(s)].extension
Language code and volume number will only be applied if applicable. This follows Daiz's naming scheme.
Language | MD Code | ISO-639 Code | Language | MD Code | ISO-639 Code |
---|---|---|---|---|---|
Arabic | ar | ara | Italian | it | ita |
Bengali | bd | ben | Japanese | ja | jpn |
Bulgarian | bg | bul | Korean | ko | kor |
Burmese | my | bur | Lithuanian | li | lit |
Bengali | bn | ben | Malay | ms | may |
Catalan | ca | cat | Mongolian | mn | mon |
Chinese (Simp) | zh | chi | Norwegian | no | nor |
Chinese (Trad) | zh-hk | chi | Persian | fa | per |
Czech | cs | cze | Polish | pl | pol |
Danish | da | dan | Portuguese (Br) | pt-br | por |
Dutch | nl | dut | Portuguese (Pt) | pt | por |
English | en | eng | Romanian | ro | rum |
Filipino | tl | fil | Russian | ru | rus |
Finnish | fi | fin | Serbo-Croatian | sh | hrv |
French | fr | fre | Spanish (Es) | es | spa |
German | de | ger | Spanish (LATAM) | es-la | spa |
Greek | el | gre | Swedish | sv | swe |
Hebrew | he | heb | Thai | th | tha |
Hindi | hi | hin | Turkish | tr | tur |
Hungarian | hu | hun | Ukrainian | uk | ukr |
Indonesian | id | ind | Vietnamese | vi | vie |
Used the MangaPlus image decrypter from here.