proxyraye-nextjs/README.md

62 lines
2.1 KiB
Markdown

# Proxy Raye
Proxy Raye is an alternative front-end for **XVideos** and (soon) other adult sites. Watch videos on a clean UI without annoying ads popping up from everywhere!
## Working demos
Vercel hosted demo can be found [here](https://proxyraye.vercel.app).
Self-hosted demo can be found [here](https://proxyraye.copyriot.xyz).
# Quickstart
You can run the project on local by cloning the repo.
Project requires no configuration.
You can run it via Docker with docker-compose by opening root folder via console and running:
```
docker-compose up -d
```
And head browser to `localhost:8069`.
Or you can run it outside Docker via npm (tested with NodeJS `20.11`) by opening root folder via console and running:
```
npm install
npm run build
npm run start
```
And head browser to `localhost:3000`.
### WARNING:
Proxy Raye tries to avoid ip blacklisting by setting random human-request-like headers at every call. But in the long run (after several hours of continuous requests) XVideos might **temporarily blacklist** your IP address. When this happen, it will stop returning HD videos from pages. Only low quality (SD) will be shown.
Using a VPN can avoid such issue.
# Modify
If you want to edit the project you can start development mode by opening root folder via console and running:
```
npm install
npm run dev
```
The project uses following tech stack:
- NextJS 14 (w/App router)
- Typescript
- Redux
- Pico CSS with Sass
- Next/Intl
It scrapes data server-side and return treated data to the frontend to be rendered.
# Deploy
## Vercel
You can deploy the app on Vercel by cloning this repo on your GitHub/Gitlab and making it private. Than create a new Vercel account and import it there. Vercel deploy doesn't need particular configuration.
Due to Vercel's *serverless* nature (which makes every request to XVideos and other platforms come from a different IP) it becomes very hard to *Web Application Firewalls* to ban addresses effectively.
## Self-host
You can self host the project on your local server via docker-compose and reverse-proxy exposed port to nginx.