{"id":15065073,"url":"https://github.com/xonshiz/comic-dl","last_synced_at":"2025-05-16T05:04:10.348Z","repository":{"id":37390693,"uuid":"73617659","full_name":"Xonshiz/comic-dl","owner":"Xonshiz","description":"Comic-dl is a command line tool to download manga and comics from various comic and manga sites. Supported sites : readcomiconline.to, mangafox.me, comic naver and many more.","archived":false,"fork":false,"pushed_at":"2024-04-20T17:39:56.000Z","size":61329,"stargazers_count":595,"open_issues_count":32,"forks_count":69,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-05-16T05:03:15.099Z","etag":null,"topics":["automation","comics","debian","manga","phantomjs","python-script","python-support","scraping","scrapper","scrapping","web","youtube-dl"],"latest_commit_sha":null,"homepage":"https://github.com/Xonshiz/comic-dl","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xonshiz.png","metadata":{"files":{"readme":"ReadMe.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"Supported_Sites.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-13T13:30:33.000Z","updated_at":"2025-04-26T19:59:05.000Z","dependencies_parsed_at":"2024-02-10T03:23:56.736Z","dependency_job_id":"145dbeb5-e6aa-471d-9102-c86071425587","html_url":"https://github.com/Xonshiz/comic-dl","commit_stats":{"total_commits":387,"total_committers":33,"mean_commits":"11.727272727272727","dds":0.5116279069767442,"last_synced_commit":"9701e1300c6d68509039721100fa593607e3fe1e"},"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xonshiz%2Fcomic-dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xonshiz%2Fcomic-dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xonshiz%2Fcomic-dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xonshiz%2Fcomic-dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xonshiz","download_url":"https://codeload.github.com/Xonshiz/comic-dl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","comics","debian","manga","phantomjs","python-script","python-support","scraping","scrapper","scrapping","web","youtube-dl"],"created_at":"2024-09-25T00:31:50.952Z","updated_at":"2025-05-16T05:04:10.326Z","avatar_url":"https://github.com/Xonshiz.png","language":"Python","funding_links":["https://www.paypal.me/xonshiz","https://www.patreon.com/xonshiz"],"categories":[],"sub_categories":[],"readme":"[![N|Solid](https://raw.githubusercontent.com/Xonshiz/comic-dl/master/Images/Icon.png)](https://github.com/Xonshiz/comic-dl)\n# Comic-DL\n[![GitHub release](https://img.shields.io/github/release/xonshiz/comic-dl.svg?style=flat-square)](https://github.com/xonshiz/comic-dl/releases/latest) |\n[![Github All Releases](https://img.shields.io/github/downloads/xonshiz/comic-dl/total.svg?style=flat-square)](https://github.com/xonshiz/comic-dl/releases) |\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/xonshiz)\n\n| Service           |                                                                                                                 Status                                                                                                                  |\n|:------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| PyPI Distribution |                          [![PyPI](https://github.com/Xonshiz/comic-dl/actions/workflows/python-package.yml/badge.svg?branch=master)](https://github.com/Xonshiz/comic-dl/actions/workflows/python-package.yml)                          |  |\n| Releases Build    |           [![Building \u0026 Creating Distributables](https://github.com/Xonshiz/comic-dl/actions/workflows/python-release.yml/badge.svg?branch=master)](https://github.com/Xonshiz/comic-dl/actions/workflows/python-release.yml)           |  |\n| Docker Build      |                [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/xonshiz/comic-dl/docker-publish.yml?label=docker%20build)](https://github.com/xonshiz/comic-dl/pkgs/container/comic-dl/)                |  |\n| Readthedocs Build |                                           [![Documentation Status](https://readthedocs.org/projects/comic-dl/badge/?version=latest)](https://comic-dl.readthedocs.io/en/latest/?badge=latest)                                           |\n\nComic-dl is a command line tool to download Comics and Manga from various Manga and Comic sites easily. You can search Manga from this tool as well. Idea from [youtube-dl](https://github.com/rg3/youtube-dl).\n\nIf you're looking for an application, or a UI for this, please move to : [CoManga](https://github.com/Xonshiz/CoManga)\n\n\u003e Don't overuse this script. Support the developers of those websites by disabling your adblock on their site.\n\u003eAdvertisements pay for the website servers.\n\n## Table of Content\n\n* [Supported Sites](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md)\n* [Dependencies Installation](#dependencies-installation)\n    * [Linux/Debian](#linuxdebian-)\n    * [Windows](#windows-)\n    * [Mac OS X](#mac-os-x-)\n* [Installation](#installation)\n    * [Docker](#docker)\n* [Python Support](#python-support)\n* [Windows Binary](#windows-binary)\n* [List of Arguments](#list-of-arguments)\n* [Language Codes](#language-codes)\n* [Usage](#usage)\n    * [Windows](#windows)\n    * [Linux/Debian](#linuxdebian)\n* [Auto Download](#auto-download)\n* [Features](#features)\n* [Changelog](https://github.com/Xonshiz/comic-dl/blob/master/Changelog.md)\n* [Opening An Issue/Requesting A Site](#opening-an-issuerequesting-a-site)\n    * [Reporting Issues](#reporting-issues)\n    * [Suggesting A Feature](#suggesting-a-feature)\n* [Contributors](https://github.com/Xonshiz/comic-dl/blob/master/Contributors.md)\n* [Notes](#notes)\n* [Donations](#donations)\n\n## Supported Websites\nYou can check the list of supported websites [**`HERE`**](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md).\n\n## Dependencies Installation\nThis script can run on multiple Operating Systems. You need `Node.js` in your system's path for this script to work (You need this on each and every Operating System, even on WINDOWS :/). Download the `Node.Js` from [Node.js official website](https://nodejs.org/en/). Doesn't matter which operating system you're on, this is a must. Follow the instructions mentioned below, according to your OS.\n\n### Linux/Debian :\nSince most (if not all) Linux/Debian OS come with python pre-installed, you don't have to install python manually. Make sure you're using python \u003e= 2.7.x though.\n\nWe need `pip` to install any external dependency(ies). So, open any terminal and type in `pip list` and if it shows some data, then it is fine. But, if it shows error, like `pip not found` or something along this line, then you need to install `pip`. Just type this command in terminal :\n\n`sudo apt-get install python-pip`\n\nIf you're on Fedora, CentOS/RHEL, openSUSE, Arch Linux, then you simply need to follow [`THIS TUTORIAL`](https://packaging.python.org/install_requirements_linux/) to install `pip`.\n\nIf this still doesn't work, then you'll manually need to install pip. Doing so is an easy one time job, and you can follow   [`THIS TUTORIAL`](https://pip.pypa.io/en/stable/installing/) to do so.\n\n### Windows :\nIf you're on Windows, then it is recommended to download the [`windows binary`](https://github.com/Xonshiz/comic-dl#windows-binary) for this script. If you use the windows binary, you don't need to install anything, except Node.js. But, if for some weird reason you want to use Python script instead, then follow these steps :\n\n* Install Python \u003e 2.7.6. Download the desired installer from [here](https://www.python.org/downloads/).\n* [Add it in the system path](http://superuser.com/questions/143119/how-to-add-python-to-the-windows-path) (if not already added).\n* If you're using python \u003e2.7.9, you don't need to install `PIP`. However, if you don't have pip installed and added in windows path, then do so by following [this little tutorial](http://stackoverflow.com/a/12476379).\n* Download [this `text`](https://github.com/Xonshiz/comic-dl/blob/master/requirements.txt) file and put it in some directory/folder.\n* Open Command Prompt and browse to the directory where you downloaded your requirements.txt file and run this command :\n```\npip install -r requirements.txt\n```\n* It should install the required external libraries.\n\nNow, install Node.Js as well and make sure it's in your path.\n\nWell, if everything came up good without any error(s), then you're good to go!\n\n### Mac OS X :\nMac OS X users will have to fetch their version of `Python` and `Pip`.\n* Python installation guide : http://docs.python-guide.org/en/latest/starting/install/osx/\n* Pip installation guide : http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x\n\nAfter downloading and installing these, you need to add PIP \u0026 Python in your path. Follow [`THIS LITTLE GUIDE`](http://www.pyladies.com/blog/Get-Your-Mac-Ready-for-Python-Programming/) to install both, Python \u0026 pip successfully.\n\n## Installation\nAfter installing and setting up all the dependencies in your Operating System, you're good to go and use this script.\nThe instructions for all the OS would remain same. Download [`THIS REPOSITORY`](https://github.com/Xonshiz/comic-dl/archive/master.zip) and put it somewhere in your system. Move over to the `comic_dl` folder.\n\n**Windows users**, it's better to not place it places where it requires administrator privileges. Good example would be `C:\\Windows`. This goes for both, the Python script and the windows binary file (.exe).\n\n**Linux/Debian** users make sure that this script is executable. Just run this command, if you run into problem(s) :\n\n`chmod +x cli.py`\n\nand then, execute with this :\n\n`./cli.py`\n\n\n### Docker\n\nWith docker, you can get the whole dependencies enclosed in a container and use the `comic_dl` from your system.\n\nYou need an up and running Docker client running, follow the [Docker Documentation](https://docs.docker.com/install/).\n\n[Docker images are available here](https://github.com/Xonshiz/comic-dl/pkgs/container/comic-dl/) \n\nDefine a handy alias on your system with some docker tricks. This mounts the local directory under `/directory` in the container. This works on *NIX systems, and also under Windows Linux subsystem.\n\nYou can change the value of PGID and PUID with the value for the user needed in your download directory.\n\n```bash\nalias comic_dl=\"docker run -it --rm -e PGID=$(id -g) -e PUID=$(id -u) -v $(pwd):/directory:rw -w /directory ghcr.io/xonshiz/comic-dl:latest comic_dl -dd /directory\"\n```\n\nRun it on your system. This actually starts a container on request and stop\u0026delete it when finished.\n\n```bash\nusage: comicdl [-h] [--version] [-s SORTING] [-a] [-c]\n               [-dd DOWNLOAD_DIRECTORY] [-rn RANGE] [--convert CONVERT]\n               [--keep KEEP] [--quality QUALITY] [-i INPUT] [--comic]\n               [-comic-search SEARCH_COMIC] [-comic-info COMIC_INFO]\n               [--update UPDATE] [--print-index]\n               [-ml MANGA_LANGUAGE] [-sc SKIP_CACHE] \n               [-p PASSWORD] [-u USERNAME] [-v]\n[...]\n```\n\n## Python Support\nThis script supports python 3. You can run this on python 2 as well, as long as you have all the dependencies installed.\n\n## Windows Binary\nIt is recommended that Windows users use this binary to save both, your head and time from installing all the dependencies.\n\nYou need to download and install [Node.js](https://nodejs.org/en/) and make sure it is in your Windows path (watch out for the tick box during install).\n\nIf you already have it, then you can download this binary and start using the script right off the bat :\n* `Binary (x86)` : [Click Here](https://github.com/Xonshiz/comic-dl/releases/latest)\n\n**`NOTE:`** This is a `COMMAND LINE TOOL` and will `NOT` work when you double-click it. So, download this `.exe` file and put it in some folder (Not in windows or some other restricted folder) and then hold down `SHIFT KEY` and right click anywhere on the screen and select \"`Open Command Window here`\". It'll open a CMD window for you. Now, you need to execute it and pass arguments to it like:\n\n```\ncomic_dl.exe -i \"https://readcomicsonline.ru/comic/irredeemable-omnibus-2012\"\n```\n\nRead which argument does what in [List of Arguments](#list-of-arguments) section.\n\n\n## List of Arguments\nCurrently, the script supports these arguments :\n```\n-h, --help                             Prints the basic help menu of the script and exits.\n-i,--input                             Defines the input link to the comic/manga.\n--print-index                          Prints the range index for links in the input URL\n-V,--version                           Prints the VERSION and exits.\n-u,--username                          Indicates username for a website.\n-p,--password                          Indicates password for a website.\n-v,--verbose                           Enables Verbose logging.\n--sorting\t\t\t\t\t\t\t   Sorts the download order.(VALUES = asc, ascending,old,new,desc,descending,latest,new)\n-a, --auto                             Download new chapters automatically (needs config file!)\n-c, --config                           Generates config file for autodownload function\n-dd,--download-directory               Specifies custom download location for the comics/manga.\n-rn,--range                            Selects the range of Chapters to download (Default = All) [ Ex : --range 1-10 (This will download first 10 episodes of a series)]\n--convert\t\t\t\t\t\t       Tells the script to convert the downloaded Images to PDF or anything else. (Supported Values : pdf, cbz) (Default : No) [By default, script will not convert anything.]\n--keep   \t\t\t\t\t\t\t   Tells the script whether to keep the files after conversion or not. (Supported : No, False) (Default : Yes/True) [By default, images will be kept even after conversion.]\n--quality   \t\t\t\t\t\t   Tells the script about the image quality you want to download. (Supported Values : low/bad/worst/mobile/cancer) [By default, images will be downloaded in Highest Quality Available. No need to provide any option.]\n-ml, --manga-language                  Selects the language for manga. 0 is English (Default) and 1 is Italian.\n-sc, --skip-cache                      Forces to skip cache checking.\n--comic                                Add this after -i if you are inputting a comic id or the EXACT comic name.\n                                       [ Ex : -i \"Deadpool Classic\" --comic ]\n-comic-search, --search-comic          Searches for a comic through the scraped data from ReadComicOnline.li\n                                       [ Ex : -comic-search \"Deadpool\" ]\n-comic-info, --comic-info              Lists all the information about the given comic (argument can be either comic id or the exact comic name).\n                                       [ Ex : -comic-info \"Deadpool Classic\" ] or [ Ex : -comic-info 3865 ]\n--update                               Updates the comic database for the given argument.\n                                       [ Ex: --update \"Deadpool Classic\" ] or [ Ex: --update \"https://readcomiconline.li/Comic/Deadpool-Classic\" ]\n-cookie, --cookie                      Passes a cookie to be used throughout the session.\n```\n\n## Language Codes:\nThese codes correspond to the languages. So, just pass in these language codes, to download Manga/Comic in that language (only supported by few sites).\n\nLanguage Code --\u003e Language\n--------------------------\n```\n0 --\u003e English\n1 --\u003e Italian\n2 --\u003e Spanish\n3 --\u003e French\n4 --\u003e German\n5 --\u003e Portuguese\n6 --\u003e Turkish\n7 --\u003e Indonesian\n8 --\u003e Greek\n9 --\u003e Filipino\n10 --\u003e Polish\n11 --\u003e Thai\n12 --\u003e Malay\n13  --\u003e Hungarian\n14 --\u003e Romanian\n15 --\u003e  Arabic\n16 --\u003e Hebrew\n17 --\u003e Russian\n18 --\u003e Vietnamese\n19 --\u003e Dutch\n20 --\u003e Bengali\n21 --\u003e Persian\n22 --\u003e Czech\n23 --\u003e Brazilian\n24 --\u003e Bulgarian\n25 --\u003e Danish\n26 --\u003e Esperanto\n27 --\u003e Swedish\n28 --\u003e Lithuanian\n29 --\u003e Other\n```\n\n#### Note :\n\n1. Some websites like bato.to don't let you view some pages if you're not logged in. You'll have to create an account and pass the login information to the script via `-p` and `-u` arguments.\n2. Since omgbeaupeep is uh... well, you just need to pass the absolute chapter numbers in the range section for that. For eg : Check out [Richie Rich](http://www.omgbeaupeep.com/comics/Richie_Rich/647/). If you want to download first 600 episodes, you would pass : --range 001-600. Just check the URLs for those chapters and pass accordingly.\n\n## Usage\nWith this script, you have to pass arguments in order to be able to download anything. Passing arguments in a script is pretty easy. Since the script is pretty basic, it doesn't have too many arguments. Go check the [`ARGUMENTS SECTION`](https://github.com/Xonshiz/comic-dl#list-of-arguments) to know more about which arguments the script offers.\n\nFollow the instructions according to your OS :\n\n### Windows\nAfter you've saved this script in a directory/folder, you need to open `command prompt` and browse to that directory and then execute the script. Let's do it step by step :\n* Open the folder where you've downloaded the files of this repository.\n* Hold down the **`SHIFT`** key and while holding down the SHIFT key, **`RIGHT CLICK`** and select `Open Command Prompt Here` from the options that show up.\n* Now, in the command prompt, type this :\n\n*If you're using the windows binary :*\n\n`comic_dl.exe -i \u003cURL TO THE COMIC\u003e`\n\n*If you're using the Python Script :*\n\n`__main__.py -i \u003cURL TO THE COMIC\u003e`\n\nURL can be any URL of the [supported websites](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md).\n\n### Linux/Debian\nAfter you've saved this script in a directory/folder, you need to open `command prompt` and browse to that directory and then execute the script. Let's do it step by step :\n* Open a terminal, `Ctrl + Alt + T` is the shortcut to do so (if you didn't know).\n* Now, change the current working directory of the terminal to the one where you've downloaded this repository.\n* Now, in the Terminal, type this :\n\n`__main__.py -i \u003cURL TO THE COMIC\u003e`\n\nURL can be any URL of the [supported websites](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md).\n\n## Auto Download\nYou can auto-download the new chapters of your favorite comics by creating a config file in json format.\n\nTo generate the config file run the command below and follow the instructions\n\n```\npython __main__.py --config\n```\nor with the binary\n\n```\ncomic_dl.exe --config\n```\n\nThis commands supports the creation of the config file, the addition and remove of series and the edition of the common download configuration.\n\nOnce the config file is generated you can download automatically the new chapters available for your selected comics by running the command bellow. The command will automatically update the config file to the latest chapter downloaded, so in the next run it'll download just the new ones.\n\n```\npython __main__.py --auto\n```\nor with the binary\n\n```\ncomic_dl.exe --auto\n```\n\n_Note: It's not necessary to keep the comic files to download the next chapters._\n\n## Features\nThis is a very basic and small script, so at the moment it only has a few features.\n* Downloads a Single Chapter and puts in a directory with the comic name, volume and chapter.\n* Downloads all the chapters available for a series.\n* Skip if the file has already been downloaded.\n* Show human-readable error(s) in most places.\n\n## Changelog\nYou can check the changelog [**`HERE`**](https://github.com/Xonshiz/comic-dl/blob/master/Changelog.md).\n\n## Opening An Issue/Requesting A Site\nIf you're planning to open an issue for the script or ask for a new feature or anything that requires opening an Issue, then please do keep these things in mind.\n\n### Reporting Issues\nIf you're going to report an issue, then please run the script again with the \"-v or --verbose\" argument. It should generate a file in the same directory, with the name \"Error Log.log\". Copy that log file's data and post it on a [Gist](https://gist.github.com/) and share that gist's link while reporting the issue here. Make sure you **EDIT OUT YOUR USERNAME AND PASSWORD**, if supplied within the command.\n\nIf you don't include the verbose log, there are chances it'll take time to fix the issue(s) you're having. Please follow this syntax :\n\n**Command You Gave** : What was the command that you used to invoke the script?\n\n**Expected Behaviour** : After giving the above command, what did you expect should've happened?\n\n**Actual Behaviour** : What actually happened?\n\n**Link To Gist** : As mentioned earlier, post the error log in a gist and share that link here.\n\nP.S : Just attaching a screenshot will NOT tell or anyone else what happened behind the scenes. So, Error Log is mandatory.\n\n\n### Suggesting A Feature\nIf you're here to make suggestions, please follow the basic syntax to post a request :\n\n**Subject** : Something that briefly tells us about the feature.\n\n**Long Explanation** : Describe in details what you want and how you want.\n\nThis should be enough, but it'll be great if you can add more ;)\n\n# Notes\n* Readcomiconline.li has been a pain to work with, and it might block you out a lot. Now you can use `--cookie` parameter to pass a working cookie. You can retrieve the cookie by checking network tab for `Cookie` value in request headers or by using an external browser plugin. Read more about this on [#299](https://github.com/Xonshiz/comic-dl/issues/299).\n\n* comic.naver.com has korean characters and some OS won't handle those characters. So, instead of naming the file folder with the series name in korean, the script will download and name the folder with the comic's ID instead.\n\n* Bato.to requires you to \"log in\" to read some chapters. So, to be on a safe side, provide the username/password combination to the script via \"-p\" and \"-u\" arguments.\n\n* Bato.to also has comics for various languages. You need to pass the language code via \"-ml\" argument. Read the [Language Codes](#language-codes) section to find out the language codes.\n\n* Bato.to only supports custom language downloads in \"Batch\" mode.\n\n* URLs with special characters are tricky to work with, because of \"Character Encoding\". If you wish to download such a comic/manga, you will need to use Python 3 (If on  python) and also, you need to set your terminal's character encoding to \"utf-8\" or \"latin-1\". #95 is the same issue.\n\n# Donations\nYou can always send some money over from this :\n\nPaypal : [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/xonshiz)\n\nPatreon Link : https://www.patreon.com/xonshiz\n\nAny amount is appreciated :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxonshiz%2Fcomic-dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxonshiz%2Fcomic-dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxonshiz%2Fcomic-dl/lists"}