Jandapress 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.
You enjoy consume doujin sites to build web applications. There are a lot sites that have effort especially pururin, simply-hentai and etc, not official api available nor public resource that can be used for everyone. Instead making lot of abstraction and enumerating them manually, You can rely on jandapress to make less of pain. The current state is FREE to use, meant all anonymous usage is allowed no aunthentication required and CORS was enabled.
- Gather the most doujin sites
- Objects taken that are consistent structure, almost
- Objects taken is re-appended to make extendable
- All in one: get, search, and random methods
- In the future we may implement JWT authentication
- Pure scraping, except nh sigh..
Features availability that Jandapress has
Site | Status | Get | Search | Random |
---|---|---|---|---|
nhentai |
✅ | ✅ | ✅ | |
pururin |
✅ | ✅ | ✅ | |
hentaifox |
✅ | ✅ | ✅ | |
hentai2read |
✅ | ✅ | ❌ | |
simply-hentai |
✅ | ❌ | ❌ | |
asmhentai |
✅ | ✅ | ✅ | |
3hentai |
✅ | ✅ | ✅ |
NOTE: NodeJS 14.x or higher |
To handle several requests from each web, You will also need Redis for persistent caching, free tier is available on Redis Labs, You can also choose another provider as we using keyv Key-value storage with support for multiple backends. All data must be stored in <Buffer>
here.
Rename .env.schema
to .env
and fill the value with your own.
PORT=3000 ## default port
REDIS_URL=redis://default:somenicepassword@someredishost:1337 ## the database url
EXPIRE_CACHE=1 ## a hour
docker pull ghcr.io/sinkaroid/jandapress:latest
docker run -p 3000:3000 -d ghcr.io/sinkaroid/jandapress:latest
git clone https://github.com/sinkaroid/jandapress.git
- Install dependencies
npm install / yarn install
- Jandapress production
npm run build
npm run start:prod
- Jandapress testings
npm run start:dev
Jandapress depends on
- express web api framework
- keyv key-value storage with support for multiple backends
- cheerio for parsing html
- cors middleware for enabling CORS
- rate-limit rate-limiting middleware for express
npm run start:prod
npm run start:dev
npm run test
npm run test:cf
npm run build:apidoc
To running other tests, you can see object scripts in file
package.json
https://sinkaroid.github.io/jandapress
-
These
parameter?
: means is optional -
/
: index page
The missing piece of nhentai.net - https://sinkaroid.github.io/jandapress/#api-nhentai
/nhentai
: nhentai api- get, takes parameters :
book
- search, takes parameters :
key
,?page
,?sort
- related, takes parameters :
book
- random
- sort parameters on search
- "popular-today", "popular-week", "popular"
- Example
- get, takes parameters :
The missing piece of pururin.to - https://sinkaroid.github.io/jandapress/#api-pururin
/pururin
: pururin api- get, takes parameters :
book
- search, takes parameters :
key
,?page
,?sort
- random
- sort parameters on search
- "newest", "most-popular", "highest-rated", "most-viewed", "title", "random"
- Example
- get, takes parameters :
The missing piece of hentaifox.com - https://sinkaroid.github.io/jandapress/#api-hentaifox
/hentaifox
: hentaifox api- get, takes parameters :
book
- search, takes parameters :
key
,?page
,?sort
- random
- sort parameters on search
- "latest", "popular"
- Example
- get, takes parameters :
The missing piece of asmhentai.com - https://sinkaroid.github.io/jandapress/#api-asmhentai
/asmhentai
: asmhentai api- get, takes parameters :
book
- search, takes parameters :
key
,?page
- random
- sort parameters on search
- None
- Example
- get, takes parameters :
The missing piece of hentai2read.com - https://sinkaroid.github.io/jandapress/#api-hentai2read
/hentai2read
: hentai2read api- get, takes parameters :
book
- search, takes parameters :
key
- sort parameters on search
- TBA
- Example
- get, takes parameters :
The missing piece of simply-hentai.com - https://sinkaroid.github.io/jandapress/#api-simply-hentai
/simply-hentai
: simply-hentai api- get, takes parameters :
book
- sort parameters on search
- TBA
- Example
- get, takes parameters :
The missing piece of 3hentai.net - https://sinkaroid.github.io/jandapress/#api-3hentai
/3hentai
: 3hentai api- get, takes parameters :
book
- search, takes parameters :
key
,?page
,?sort
- random
- sort parameters on search
- "recent", "popular-24h", "popular-7d", "popular"
- Example
- get, takes parameters :
HTTP/1.1 200 OK
HTTP/1.1 200 (cached)
HTTP/1.1 500 (bad parameters)
Nhentai was cloudflare protection enabled, If IP and our thoughts against them? You should implement a proxy. Check cookie branch
, take a look this workaround Zekfad/nhentai-api/issues/25#issuecomment-1141360074
Q: The website response is slow
That's unfortunate, This repository was opensource already, You can host and deploy Jandapress with your own instance. Any fixes and improvements will updating to this repo.
Q: I dont want to host my own instance
That's unfortunate, Hit the "Sponsor this project" button, any kind of donations will helps me to funding the development.
id_ID
• /jan·da/ — Dewasa dan mengikat; (?)
Seamlessly integrate with the languages you love, simplified the usage, and intelisense definitions on your IDEs
- janda Python wrapper by sinkaroid
- Or create your own
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.