Ricter Zheng b28dbc6d86 feat: remove --cookie/--useragent, update README for token auth
- Remove --cookie and --useragent CLI parameters
- Update README: replace cookie/UA setup guide with --token
- Update favorites auth check message
- Bump version to 2.0.7

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 18:23:02 +08:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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-<plugin-name>

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 "YOUR_API_TOKEN"

*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
      DOUJINSHI_DL_URL=https://mirror-url/ doujinshi-dl --id [ID ...]
      doujinshi-dl --file [filename]

    Environment Variable:
      DOUJINSHI_DL_URL        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 ``DOUJINSHI_DL_URL`` environment variable to your mirror's base URL.

.. code-block:: bash

    DOUJINSHI_DL_URL=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/
Description
nhentai doujinshi downloader
Readme MIT 7.1 MiB
Languages
Python 54.9%
JavaScript 21%
CSS 17.7%
HTML 6%
Dockerfile 0.4%