90 lines
2.5 KiB
Markdown
90 lines
2.5 KiB
Markdown
# Proxy Raye
|
|
|
|
Proxy Raye is an alternative front-end for adult websites. Watch videos on a clean UI without tracking and without annoying ads popping up from everywhere!
|
|
|
|
## Currently supported platforms:
|
|
|
|
- XVideos
|
|
- XNXX
|
|
- (...more coming soon!)
|
|
|
|
## 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.
|
|
|
|
## Docker
|
|
|
|
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`.
|
|
|
|
### Caching
|
|
|
|
Starting from version `0.3.0` caching is enabled by default inside `docker-compose.yaml`.
|
|
|
|
A base Redis image will be added to the network.
|
|
|
|
However, Proxy Raye can still work without Redis by setting `ENABLE_REDIS=false` under `environment:`.
|
|
|
|
## Node.js
|
|
|
|
You can also run project outside Docker via npm (tested with NodeJS `20.11` and above).
|
|
|
|
You can run the project by opening root folder via console and running:
|
|
|
|
```
|
|
npm install
|
|
npm run build
|
|
npm run start
|
|
```
|
|
|
|
And head browser to `localhost:3000`.
|
|
|
|
|
|
### (optional) Enable caching
|
|
|
|
If you want to enable caching, please rename `.env.example` to `.env` file inside root folder. Inside `.env` file you will find following variables:
|
|
|
|
```
|
|
ENABLE_REDIS=true
|
|
REDIS_URL='redis://127.0.0.1:6379'
|
|
```
|
|
These values assume a basic Redis instance running on local machine. If your local setup is different, or your Redis instance is somewhere else, please change `REDIS_URL` accordingly.
|
|
|
|
|
|
# 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 for *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. |