jandapress/README.md

164 行
7.8 KiB
Markdown
Raw 通常表示 履歴

2022-06-12 09:45:57 +09:00
<div align="center">
2022-06-14 17:37:41 +09:00
<a href="https://janda.mod.land"><img width="500" src="https://cdn.discordapp.com/attachments/952117487166705747/986185787894812672/tomoe-janda.png" alt="jandapress"></a>
2022-06-12 09:45:57 +09:00
2022-06-14 16:50:19 +09:00
<h4 align="center">RESTful and experimental API for the doujinboards</h4>
2022-06-12 09:45:57 +09:00
<p align="center">
<a href="https://github.com/sinkaroid/jandapress/actions/workflows/status.yml"><img src="https://github.com/sinkaroid/jandapress/actions/workflows/status.yml/badge.svg"></a>
<a href="https://codeclimate.com/github/sinkaroid/jandapress/maintainability"><img src="https://api.codeclimate.com/v1/badges/829b8fe63ab78a425f0b/maintainability" /></a>
2022-06-15 02:44:54 +09:00
<a href="https://discord.gg/8wj4vM5hHM"><img src="https://img.shields.io/discord/831142227676889088"></a>
2022-06-12 09:45:57 +09:00
</p>
2022-06-15 00:57:37 +09:00
Jandapresspress was named **JCE** (Janda Cheerio Express) and definitely depends on them.
2022-06-14 16:50:19 +09:00
The motivation of this project is to bring you an actionable data related doujin with gather in mind.
2022-06-12 09:45:57 +09:00
<a href="https://github.com/sinkaroid/jandapress/blob/master/CONTRIBUTING.md">Contributing</a>
<a href="https://github.com/sinkaroid/jandapress/blob/master/README.md#routing">Documentation</a>
<a href="https://github.com/sinkaroid/jandapress/issues/new/choose">Report Issues</a>
</div>
2022-06-14 16:50:19 +09:00
---
2022-06-15 02:44:54 +09:00
<a href="https://janda.mod.land"><img align="right" src="https://cdn.discordapp.com/attachments/952117487166705747/986315079802814524/tomoe.png" width="250"></a>
2022-06-15 02:02:47 +09:00
2022-06-15 01:48:12 +09:00
- [Jandapress](#)
- [The problem](#the-problem)
- [The solution](#the-solution)
- [Features](#features)
- [Jandapress vs the doujinboards](#jandapress-vs-the-doujinboards)
2022-06-15 02:44:54 +09:00
- [Installation](#installation)
- [Prerequisites](#prerequisites)
- [Running tests](#running-tests)
2022-06-15 01:48:12 +09:00
- [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)
2022-06-15 02:44:54 +09:00
- [Project showcase](#project-showcase)
- [Client libraries / Wrappers](#client-libraries-wrappers)
2022-06-15 01:48:12 +09:00
2022-06-14 17:21:24 +09:00
## The problem
2022-06-15 00:57:37 +09:00
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.
2022-06-14 17:21:24 +09:00
## The solution
2022-06-14 17:37:41 +09:00
Luckily there are solutions. Jandapress is here
2022-06-14 17:21:24 +09:00
2022-06-15 01:48:12 +09:00
## 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
2022-06-15 02:44:54 +09:00
## 🚀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
<table>
<td><b>NOTE:</b> NodeJS 14.x or higher</td>
</table>
## 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`
## Jandapress vs. the doujinboards
2022-06-15 01:48:12 +09:00
| Site | Status | Get | Search | Random |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------ | ------ |
2022-06-15 02:02:47 +09:00
| `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) | ✅ | ✅ | ✅ |
2022-06-15 01:48:12 +09:00
2022-06-14 16:50:19 +09:00
## Routing
2022-06-15 01:48:12 +09:00
the `parameter?`: means is optional.
2022-06-14 16:50:19 +09:00
2022-06-15 01:48:12 +09:00
- `/` : Iindex page
2022-06-14 16:50:19 +09:00
- `/nhentai` : nhentai api
2022-06-14 17:37:41 +09:00
- **get**, takes parameters : `book`
2022-06-15 01:48:12 +09:00
- **search**, takes parameters : `key`, `?page`, `?sort`
2022-06-14 17:37:41 +09:00
- **related**, takes parameters : `book`
- **random**
2022-06-15 01:48:12 +09:00
- Example
- https://janda.mod.land/nhentai/get?book=177013
2022-06-14 16:50:19 +09:00
- `/pururin` : pururin api
2022-06-14 17:37:41 +09:00
- **get**, takes parameters : `book`
2022-06-15 01:48:12 +09:00
- **search**, takes parameters : `key`, `?page`, `?sort`
2022-06-14 17:37:41 +09:00
- **random**
2022-06-15 01:48:12 +09:00
- Example
- https://janda.mod.land/pururin/get?book=63373
2022-06-14 16:50:19 +09:00
- `/hentaifox`: hentaifox api
2022-06-14 17:37:41 +09:00
- **get**, takes parameters : `book`
2022-06-15 01:48:12 +09:00
- **search**, takes parameters : `key`, `?page`, `?sort`
2022-06-14 17:37:41 +09:00
- **random**
2022-06-15 01:48:12 +09:00
- Example
- https://janda.mod.land/hentaifox/get?book=97527
2022-06-14 16:50:19 +09:00
- `/asmhentai`: asmhentai api
2022-06-15 01:48:12 +09:00
- **get**, takes parameters : `book`
- **search**, takes parameters : `key`, `?page`
- **random**
- Example
- https://janda.mod.land/hentaifox/get?book=308830
2022-06-14 16:50:19 +09:00
- `/hentai2read`: hentai2read api
2022-06-15 01:48:12 +09:00
- **get**, takes parameters : `book`
- **search**, takes parameters : `key`
- Example
- https://janda.mod.land/hentai2read/get?book=butabako_shotaone_matome_fgo_hen/1
2022-06-14 16:50:19 +09:00
- `/simply-hentai`: simply-hentai api
2022-06-15 01:48:12 +09:00
- **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
2022-06-15 02:02:47 +09:00
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)
2022-06-15 01:48:12 +09:00
## Pronunciation
2022-06-15 02:44:54 +09:00
[`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)