.dockerignore |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
.env.schema |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
.eslintignore |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
.eslintrc.json |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
.github |
ci: sunset workflows for node 14.x, use 16 instead (#7) |
2023-04-20T02:40:00+07:00 | |
.gitignore |
docs: add documentation and update endpoint list |
2023-04-18T14:36:25+07:00 | |
CLOSING_REMARKS.md |
docs(CLOSING_REMARKS): add Alternative-links url (#6) |
2023-04-20T02:29:18+07:00 | |
CODE_OF_CONDUCT.md |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
CONTRIBUTING.md |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
Dockerfile |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
LICENSE |
docs: add documentation and update endpoint list |
2023-04-18T14:36:25+07:00 | |
README.md |
ci: sunset workflows for node 14.x, use 16 instead (#7) |
2023-04-20T02:40:00+07:00 | |
SECURITY.md |
ci: tdd ci: tdd |
2023-04-18T11:36:31+07:00 | |
fly.toml |
ci: add separate testing cases for each site ci: add separate testing cases for each site |
2023-04-18T13:13:28+07:00 | |
package.json |
fix(removeHtmlTagWithoutSpace): proper multiple tags slicing (#5) * removeHtmlTagWithoutSpace * pre release |
2023-04-20T02:14:52+07:00 | |
src |
ci: sunset workflows for node 14.x, use 16 instead (#7) |
2023-04-20T02:40:00+07:00 | |
test |
ci: sunset workflows for node 14.x, use 16 instead (#7) |
2023-04-20T02:40:00+07:00 | |
tsconfig.json |
docs: add documentation and update endpoint list |
2023-04-18T14:36:25+07:00 |
Lustpress stand for Lust and Express, rebuild from Jandapress with completely different approach.
The motivation of this project is to bring you an actionable data related to pornhub and other adult videos with gather, similar design pattern, endpoint bindings and consistent structure in mind.
Playground •
Contributing •
Report Issues
Even official API is exists, they were lack and bad behavior, every single site has own structure and different way to interacts with.
Instead making lot of abstraction and enumerating them manually, You can rely on lustpress to make less of pain. The current state is FREE to use, all anonymous usage is allowed no authentication and CORS enabled.
Don't make it long, make it short, all processed through single rest
Features availability that Lustpress has
Site | Status | Get | Search | Random | Related |
---|---|---|---|---|---|
pornhub |
Yes |
Yes |
Yes |
Yes |
|
xnxx |
Yes |
Yes |
Yes |
Yes |
|
redtube |
Yes |
Yes |
Yes |
Yes |
|
xvideos |
Yes |
Yes |
Yes |
Yes |
|
xhamster |
Yes |
Yes |
Yes |
Yes |
|
youporn |
Yes |
Yes |
Yes |
Yes |
To handle several requests from each website, You will also need Redis for persistent caching, free tier is available on Redis Labs, You can also choose another adapters as we using keyv Key-value storage with support for multiple backends. When you choosing your own adapter, all data must be stored with <Buffer>
type.
Rename .env.schema
to .env
and fill the value with your own
# railway, fly.dev, heroku, vercel or any free service
RAILWAY = sinkaroid
# default port
PORT = 3000
# backend storage, default is redis, if not set it will consume memory storage
REDIS_URL = redis://default:somenicepassword@redis-666.c10.us-east-6-6.ec666.cloud.redislabs.com:1337
# ttl expire cache (in X hour)
EXPIRE_CACHE = 1
# you must identify your origin, if not set it will use default
USER_AGENT = "lustpress/1.6.1 Node.js/16.9.1"
docker pull ghcr.io/sinkaroid/lustpress:latest
docker run -p 3000:3000 -d ghcr.io/sinkaroid/lustpress:latest
docker run -d \
--name=lustpress \
-p 3000:3000 \
-e REDIS_URL='redis://default:somenicepassword@redis-666.c10.us-east-6-6.ec666.cloud.redislabs.com:1337' \
-e EXPIRE_CACHE='1' \
-e USER_AGENT='lustpress/1.6.1 Node.js/16.9.1' \
ghcr.io/sinkaroid/lustpress:latest
git clone https://github.com/sinkaroid/lustpress.git
npm install / yarn install
npm run start:prod
npm run start:dev
Lustpress testing
npm run start:prod
npm run start:dev
npm run test
To running other tests, you can see object scripts in file
package.json
https://sinkaroid.github.io/lustpress
These parameter?
: means is optional
/
: index page
The missing piece of pornhub.com - https://sinkaroid.github.io/lustpress/#api-pornhub
/pornhub
: pornhub api
id
key
, ?page
, ?sort
id
The missing piece of xnxx.com - https://sinkaroid.github.io/lustpress/#api-xnxx
/xnxx
: xnxx api
id
key
, ?page
, and TBDid
The missing piece of redtube.com - https://sinkaroid.github.io/lustpress/#api-redtube
/redtube
: redtube api
id
key
, ?page
, and TBDid
The missing piece of xvideos.com - https://sinkaroid.github.io/lustpress/#api-xvideos
/xvideos
: xvideos api
id
key
, ?page
, and TBDid
The missing piece of xhamster.com - https://sinkaroid.github.io/lustpress/#api-xhamster
/xhamster
: xhamster api
id
key
, ?page
, and TBDid
The missing piece of youporn.com - https://sinkaroid.github.io/lustpress/#api-youporn
/youporn
: youporn api
id
key
, ?page
, and TBDid
The missing piece of javhd.com - TBA
/javhd
: javhd api
"success": true,
or "success": false,
HTTP/1.1 200 OK
HTTP/1.1 400 Bad Request
HTTP/1.1 500 Fail to get data
Q: The website response is slow
That's unfortunate, This repository was opensource already, You can host and deploy Lustpress 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.
en_US
• /lʌstˈprɛs/ — "lust" stand for this project and "press" for express.
Seamlessly integrate with the languages you love, simplified the usage, and intelisense definitions on your IDEs
I thank you to all the Scathach's supporter who made this project exists :gajah_ngecrot:
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.
MIT License Copyright (c) 2022 sinkaroid. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
RESTful and experimental API for PornHub and other porn sites
1
1
0