Skip to content

sinkaroid/tomoe

Repository files navigation

tomoe

An exalted doujinshi downloader with ease.

Tomoe is a CLI tool for downloading doujinshi from various doujinboards. It's also has built-in modular bulk download and auto render into PDF (Portable Document Format) for it's utility, hopefully will be reusable.

🚀 CommandsDocumentationReport Issues


Tomoe vs. the doujinboards

Tomoe consumes Jandapress and uses janda for the doujin Python library.

Features availability Speed or performance may not be accurate because internet connection or API response. Some tests have high resolve time and render a bit longer, because some sources do not provide real extension of an images, tomoe should check and guess it's format.

Site Status Bulk download Average response
nhentai Nhentai download Yes ~0.52 minutes
pururin Pururin download Yes ~0.63 minutes
hentaifox Hentaifox download Yes ~0.33 minutes
hentai2read Hentai2read download Yes ~0.10 minutes
simply-hentai Simply-hentai download Yes ~0.29 minutes
asmhentai Asmhentai download Yes ~0.23 minutes
3hentai 3hentai download Yes ~0.20 minutes

Features

  • Plenty of sites coverage
  • Built-in auto render into PDF
  • Modular bulk download
  • Minimalist dependencies
  • Download with ease, doesn't require you a lot of arguments

tomoe

Site support

Currently tomoe supports the following websites:

Prerequisites

NOTE: Python 3.7 or above

Installation

pip install tomoe

  • Or manual build by cloning the repository and run python setup.py install

Command usage

tomoe --args <id|path>

Quick example

tomoe --nhentai 177013

After that, you could see the download results or throw you an error if something went wrong.

Options

It's fairly simple to use tomoe

Argument Description Example
--nhentai, int nhentai tomoe --nhentai 255369
--pururin, int pururin tomoe --pururin 47226
--hentaifox, int hentaifox tomoe --hentaifox 59026
--hentai2read, str hentai2read tomoe --hentai2read chaldea_life/1
--simply, str simply-hentai tomoe --simply "fate-grand-order/fgo-no-ashibon-fgo-foot-book/all-pages"
--asmhentai, int asmhentai tomoe --asmhentai 311851
--three, int 3hentai tomoe --three 608979
--bulk, str custom bulk download tomoe --bulk doujin.json
--pdf, str render pdf for each title tomoe --nhentai 255369 --pdf

Bulk download

You can pass multiple id to request bulk download

Sites Description Example
nhentai place multiple id tomoe --nhentai 255369 417103 417119
pururin place multiple id tomoe --pururin 47226 64351 56175
hentaifox place multiple id tomoe --hentaifox 59026 61805
hentai2read place multiple path tomoe --hentai2read chaldea_life/1 watashitachi_producersan_ni_mechakucha/1
simply place multiple chapter tomoe --simply "fate-grand-order/fgo-no-ashibon-fgo-foot-book/all-pages" "original-work/kanchou-manga-cffc37a/all-pages"
asmhentai place multiple id tomoe --asmhentai 311851 210135 309068

Bulk download using nested list

tomoe --bulk doujin.json

If you need to download multiple doujins from each different website, you can do a bulk download using an arbitrary method. Meaning that you can mix and wrap the whole book ids into nested array in a JSON file. Read more about Understanding Nested Arrays.

Create doujin.json in the same directory where you want to run tomoe and follow this structure:
Note You should not change the "book" property

{
    "book": [
        {
            "nhentai": 177013
        },
        {
            "nhentai": 255369
        },
        {
            "pururin": 47226
        },
        {
            "pururin": 64351
        },
        {
            "hentaifox": 59026
        },
        {
            "hentaifox": 61805
        },
        {
            "asmhentai": 311851
        },
        {
            "asmhentai": 210135
        },
        {
            "hentai2read": "chaldea_life/1"
        },
        {
            "simply": "fate-grand-order/fgo-no-ashibon-fgo-foot-book/all-pages"
        }
    ]
}

Then tell tomoe to resolve all the book ids from the JSON file. tomoe --bulk doujin.json

Pronunciation

ja_JPto-moe — commonly translated as "comma", is a comma-like swirl symbol used in Japanese mon. It closely resembles the usual form of a magatama.

Legal

This tool can be freely copied, modified, altered, distributed without any attribution whatsoever. However, if you feel like this tool deserves an attribution, mention it. It won't hurt anybody.

Licence: WTF.