jandapress

RESTful and experimental API for the doujinboards

Jandapresspress was named **JCE** (Janda Cheerio Express) and definitely depends on them. The motivation of this project is to bring you an actionable data related doujin with gather in mind. ContributingDocumentationReport Issues
--- - [Jandapress](#) - [The problem](#the-problem) - [The solution](#the-solution) - [Features](#features) - [Jandapress vs the doujinboards](#jandapress-vs-the-doujinboards) - [Installation](#installation) - [Prerequisites](#prerequisites) - [Running tests](#running-tests) - [Routing](#routing) - [nhentai-api](#routing) - [pururin-api](#routing) - [hentaifox-api](#routing) - [asmhentai-api](#routing) - [hentai2read-api](#routing) - [simply-hentai-api](#routing) - [Limitations](#limitations) - [Pronunciation](#Pronunciation) - [Legal](#legal) - [Project showcase](#project-showcase) - [Client libraries / Wrappers](#client-libraries--wrappers) ## The problem You enjoy using some doujin sites to build web applications. There are a lot sites that have effort especially pururin, simply-hentai and so on, not official api available nor public resource that can be used for everyone. Instead making lots of abstraction and enumerating them manually, You can rely on jandapress to make less of pain. ## The solution Luckily there are solutions. Jandapress is here ## Features - Gather the most doujin sites - Objects taken that are consistent structure, almost - Objects taken is re-appended to make it more actionable - All in one: get, search, and random methods - Free to use(currently): In the future we may implement JWT authentication - Pure scraping ## Jandapress vs. the doujinboards | Site | Status | Get | Search | Random | | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------ | ------ | | `nhentai` | [![Nhentai](https://github.com/sinkaroid/jandapress/workflows/Nhentai%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/nhentai.yml) | ✅ | ✅ | ✅ | | `pururin` | [![Pururin](https://github.com/sinkaroid/jandapress/workflows/Pururin%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/pururin.yml) | ✅ | ✅ | ✅ | | `hentaifox` | [![Hentaifox](https://github.com/sinkaroid/jandapress/workflows/Hentaifox%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/hentaifox.yml) | ✅ | ✅ | ✅ | | `hentai2read` | [![Hentai2read](https://github.com/sinkaroid/jandapress/workflows/Hentai2read%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/hentai2read.yml) | ✅ | ✅ | ❌ | | `simply-hentai` | [![Simply-hentai](https://github.com/sinkaroid/jandapress/workflows/Simply-hentai%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/simply-hentai.yml) | ✅ | ❌ | ❌ | | `asmhentai` | [![Asmhentai](https://github.com/sinkaroid/jandapress/workflows/Asmhentai%20test/badge.svg)](https://github.com/sinkaroid/jandapress/actions/workflows/asmhentai.yml) | ✅ | ✅ | ✅ | ## 🚀Installation If you want add or deploy your own Jandapress - Clone this repository - `git clone https://github.com/sinkaroid/jandapress.git` - Install dependencies - `npm install / yarn install` ## Prerequisites
NOTE: NodeJS 14.x or higher
## Running tests ### Start the production server `npm run start:prod` ### Running development server `npm run start:dev` ### Check the whole sites, It's available for scraping or not `npm run test` ### Check nhentai It's under cloudflare protection or not `npm run test:cf` > To running other method, you can see object scripts in file `package.json`, Default port is `3000` ## Routing the `parameter?`: means is optional. - `/` : index page - `/nhentai` : nhentai api - **get**, takes parameters : `book` - **search**, takes parameters : `key`, `?page`, `?sort` - **related**, takes parameters : `book` - **random** - Example - https://janda.mod.land/nhentai/get?book=177013 - `/pururin` : pururin api - **get**, takes parameters : `book` - **search**, takes parameters : `key`, `?page`, `?sort` - **random** - Example - https://janda.mod.land/pururin/get?book=63373 - `/hentaifox`: hentaifox api - **get**, takes parameters : `book` - **search**, takes parameters : `key`, `?page`, `?sort` - **random** - Example - https://janda.mod.land/hentaifox/get?book=97527 - `/asmhentai`: asmhentai api - **get**, takes parameters : `book` - **search**, takes parameters : `key`, `?page` - **random** - Example - https://janda.mod.land/hentaifox/get?book=308830 - `/hentai2read`: hentai2read api - **get**, takes parameters : `book` - **search**, takes parameters : `key` - Example - https://janda.mod.land/hentai2read/get?book=butabako_shotaone_matome_fgo_hen/1 - `/simply-hentai`: simply-hentai api - **get**, takes parameters : `book` - Example - https://janda.mod.land/simply-hentai/get?book=fate-grand-order/fgo-sanbunkatsuhou/all-pages ## 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 ## Limitations Sometimes nhentai has cloudflare ddos protection, If the IP against them You should implement a proxy. Check [`cookie branch`](https://github.com/sinkaroid/jandapress/tree/cookie) or take look this workaround [Zekfad/nhentai-api/issues/25#issuecomment-1141360074](https://github.com/Zekfad/nhentai-api/issues/25#issuecomment-1141360074) ## Pronunciation [`id_ID`](https://www.localeplanet.com/java/id-ID/index.html) • **/jan·da/** — dewasa dan mengikat; _(?)_ ## Project showcase - [tomoe](https://github.com/sinkaroid/tomoe) — A reliable doujinshi downloader with ease by [sinkaroid](https://github.com/sinkaroid) - [Scathach bot](https://scathach.dev) — A doujinshi aggregator Discord bot by [sinkaroid](https://github.com/sinkaroid) - Or [create your own](https://github.com/sinkaroid/jandapress/edit/master/README.md) ## Client libraries / Wrappers - [janda](https://github.com/sinkaroid/janda) Python wrapper by [sinkaroid](https://github.com/sinkaroid) - Or [create your own](https://github.com/sinkaroid/jandapress/edit/master/README.md)