Skip to content

epub comic generator | nhentai.net | e-hentai.org | wnacg.org

License

Notifications You must be signed in to change notification settings

moeoverflow/comicbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

575bfd2 · Nov 8, 2024
Mar 14, 2017
Nov 8, 2024
Feb 11, 2023
Mar 6, 2024
Sep 17, 2023
Feb 22, 2020
Mar 14, 2017
Mar 10, 2017
Feb 12, 2023
Jul 31, 2016
Jun 4, 2024
Jun 4, 2024
Mar 7, 2024
Mar 7, 2024
Mar 8, 2024
Feb 12, 2023
Mar 7, 2024

Repository files navigation

Comicbook

convert comic to .epub e-book.

Install

$ pipenv sync

Usage

$ pipenv run python comicbook.py --help

# manually download
$ pipenv run python comicbook.py --comic http://wnacg.com/photos-view-id-{aid}.html

# manually download to target dir
$ pipenv run python comicbook.py --comic http://g.e-hentai.org/g/{gid}/{token}/ --output /path/to/output

# manually download to target dir with cbz format
$ pipenv run python comicbook.py --comic https://nhentai.net/g/{id}/ --output /path/to/output --format cbz

# run bot.
$ pipenv run python telegrambot.py

Webapp

$ pipenv run uvicorn --host 127.0.0.1 --port 5000 webapp:app

Celery task worker

$ pipenv run celery -A crawler worker -l INFO

Docker Deploy Note

Docker Compose deploy structure

➜  comicbook_project tree -L 1
.
├── comicbook # Project Git Repo
├── comicbook-calibre-web # Project Git Repo
├── comicbook-calibre-web_data # Persistent Data
├── comicbook-calibre-worker # Project Git Repo
├── comicbook-calibre-worker_data # Persistent Data
├── comicbook_data # Persistent Data
└── docker-compose.yml # Docker Compose configuration

6 directories, 1 file

example docker-compose.yml

version: '3'

services:
  comicbook:
    container_name: comicbook
    build:
      context: ./comicbook
      dockerfile: ./Dockerfile
    expose:
      - 8080
    ports:
      - 5000:8080
    volumes:
      - <CALIBRE_LIBRARY>:/usr/src/app/library
      - ./comicbook_data/storage:/usr/src/app/storage
      - ./comicbook_data/config.py:/usr/src/app/config.py
    networks:
      - mongodb_default
  comicbook-calibre-worker:
    container_name: comicbook-calibre-worker
    build:
      context: ./comicbook-calibre-worker
      dockerfile: ./Dockerfile
    networks:
      - mongodb_default
    volumes:
      - <CALIBRE_LIBRARY>:/usr/src/app/library
      - ./comicbook-calibre-worker_data/config.js:/usr/src/app/config.js
      - ./comicbook_data/storage/comic/nhentai.net:/usr/src/app/storage/nhentai
      - ./comicbook_data/storage/comic/ehentai.org:/usr/src/app/storage/ehentai
      - ./comicbook_data/storage/comic/wnacg.com:/usr/src/app/storage/wnacg
  comicbook-calibre-web:
    container_name: comicbook-calibre-web
    build:
      context: ./comicbook-calibre-web
      dockerfile: ./Dockerfile
    volumes:
      - <CALIBRE_LIBRARY>:/data/DATA/comicbook_library
      - ./comicbook-calibre-web_data/app.db:/usr/src/app/app.db
      - ./comicbook-calibre-web_data/gdrive.db:/usr/src/app/gdrive.db
    ports:
      - 5001:8083
networks:
  mongodb_default:
    external: true

example comicbook config.py

# ...

CALIBRE_LIBRARY_PATH = '/usr/src/app/library'

MONGODB_URL = 'mongodb://mongo:27017/'
REDIS_URL = 'redis://redis:6379/0'

# ...

example comicbook-calibre-worker config.js

module.exports = {
	  libraryPath: '/usr/src/app/library',
	  nhentaiDir: '/usr/src/app/storage/nhentai',
	  ehentaiDir: '/usr/src/app/storage/ehentai',
	  wnacgDir: '/usr/src/app/storage/wnacg',
	  mongodbUrl: 'mongodb://mongo:27017/comicbook',
}

PS: You should create your own mongodb docker container.

LICENSE

Comicbook is published under GPL 3.0 License. See the LICENSE file for more.