RicterZ
doujinshi-dl
Python

Doujinshi downloader framework

Last updated Jun 27, 2026
978
Stars
123
Forks
12
Issues
0
Stars/day
Attention Score
67
Language breakdown
No language data available.
β–Έ Files click to expand
README

doujinshi-dl ============

あγͺγŸγ‚‚ε€‰ζ…‹γ€‚ いいね?

|pypi| |version| |license|

doujinshi-dl is a CLI tool for downloading doujinshi from mirror sites.

=================== Manual Installation =================== From Github:

.. code-block::

git clone https://github.com/RicterZ/doujinshi-dl cd doujinshi-dl pip install --no-cache-dir .

Build Docker container:

.. code-block::

git clone https://github.com/RicterZ/doujinshi-dl cd doujinshi-dl docker build -t doujinshi-dl:latest . docker run --rm -it -v ~/Downloads/doujinshi:/output doujinshi-dl --id 123855

================== Installation ================== From PyPI with pip:

.. code-block::

pip install doujinshi-dl

Install a plugin to connect to a mirror site:

.. code-block::

pip install doujinshi-dl-

For a self-contained installation, use pipx <https://github.com/pipxproject/pipx/>_:

.. code-block::

pipx install doujinshi-dl

===== Usage ===== ⚠️IMPORTANT⚠️: Authentication is required. Get your API token from your account settings page and save it:

.. code-block:: bash

doujinshi-dl --token "YOURAPITOKEN"

The default download folder will be the path where you run the command (%cd% or $PWD).

Download specified doujinshi:

.. code-block:: bash

doujinshi-dl --id 123855 123866 123877

Download doujinshi with ids specified in a file (doujinshi ids split by line):

.. code-block:: bash

doujinshi-dl --file=doujinshi.txt

Set search default language:

.. code-block:: bash

doujinshi-dl --language=english

Search a keyword and download the first page:

.. code-block:: bash

doujinshi-dl --search="tomori" --page=1 --download # you also can download by tags and multiple keywords doujinshi-dl --search="tag:lolicon, artist:henreader, tag:full color" doujinshi-dl --search="lolicon, henreader, full color"

Download your favorites with delay:

.. code-block:: bash

doujinshi-dl --favorites --download --delay 1 --page 3-5,7

Format output doujinshi folder name:

.. code-block:: bash

doujinshi-dl --id 261100 --format '[%i]%s' # for Windows doujinshi-dl --id 261100 --format "[%%i]%%s"

Supported doujinshi folder formatter:

  • %i: Doujinshi id
  • %f: Doujinshi favorite count
  • %t: Doujinshi name
  • %s: Doujinshi subtitle (translated name)
  • %a: Doujinshi authors' name
  • %g: Doujinshi groups name
  • %p: Doujinshi pretty name
  • %ag: Doujinshi authors name or groups name
Note: for Windows operation system, please use double "%", such as "%%i".

Other options:

.. code-block::

Usage: doujinshi-dl --search [keyword] --download DOUJINSHIDLURL=https://mirror-url/ doujinshi-dl --id [ID ...] doujinshi-dl --file [filename]

Environment Variable: DOUJINSHIDLURL mirror url

Options: -h, --help show this help message and exit --download, -D download doujinshi (for search results) --no-download skip downloading (for search results) --show, -S just show the doujinshi information --id ID [ID ...] doujinshi ids set, e.g. 167680 167681 167682 --search, -s KEYWORD search doujinshi by keyword --favorites, -F list or download your favorites --artist, -a ARTIST list doujinshi by artist name --page-all all search results --page, --page-range PAGE page number of search results. e.g. 1,2-5,14 --sorting, --sort {recent,popular,popular-today,popular-week,date} sorting of doujinshi (recent / popular / popular-[today|week]) --output, -o OUTPUT_DIR output dir --threads, -t THREADS thread count for downloading doujinshi --timeout, -T TIMEOUT timeout for downloading doujinshi --delay, -d DELAY slow down between downloading every doujinshi --retry RETRY retry times when downloading failed --exit-on-fail exit on fail to prevent generating incomplete files --proxy PROXY store a proxy, for example: -p "http://127.0.0.1:1080" --file, -f FILE read gallery IDs from file. --format NAME_FORMAT format the saved folder name --no-filename-padding no padding in the images filename, such as '001.jpg' --html [HTML_VIEWER] generate an HTML viewer in the specified directory, or scan all subfolders within the entire directory to generate the HTML viewer. By default, current working directory is used. --no-html don't generate HTML after downloading --gen-main generate a main viewer contain all the doujin in the folder --cbz, -C generate Comic Book CBZ File --pdf, -P generate PDF file --meta generate a metadata file in doujinshi format --update-meta update the metadata file of a doujinshi, update CBZ metadata if exists --rm-origin-dir remove downloaded doujinshi dir when generated CBZ or PDF file --move-to-folder remove files in doujinshi dir then move new file to folder when generated CBZ or PDF file --regenerate regenerate the cbz or pdf file if exists --zip package into a single zip file --token TOKEN set API token for authentication --language LANGUAGE set default language to parse doujinshis --clean-language set DEFAULT as language to parse doujinshis --save-download-history save downloaded doujinshis, whose will be skipped if you re-download them --clean-download-history clean download history --template VIEWER_TEMPLATE set viewer template

====== Mirror ====== To use a mirror, set the `DOUJINSHIDLURL` environment variable to your mirror's base URL.

.. code-block:: bash

DOUJINSHIDLURL=https://your-mirror.example.com doujinshi-dl --id 123456

.. |license| image:: https://img.shields.io/github/license/ricterz/nhentai.svg :target: https://github.com/RicterZ/nhentai/blob/master/LICENSE

.. |pypi| image:: https://img.shields.io/pypi/v/doujinshi-dl.svg :target: https://pypi.org/project/doujinshi-dl/

.. |version| image:: https://img.shields.io/badge/python-3.8%2B-blue.svg :target: https://pypi.org/project/doujinshi-dl/

Β© 2026 GitRepoTrend Β· RicterZ/doujinshi-dl Β· Updated daily from GitHub