v0.1/infrastructure #51

Merged
lamacchinadesiderante merged 3 commits from v0.1/infrastructure into main 2024-04-27 19:31:43 +00:00
1 changed files with 48 additions and 22 deletions
Showing only changes of commit c4351cf65d - Show all commits

View File

@ -1,36 +1,62 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). # Proxy Raye
## Getting Started 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!
First, run the development server: ## 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:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
``` ```
docker-compose up -d
```
And head browser to `localhost:8069`.
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 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`.
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. ### 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.
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. Using a VPN can avoid such issue.
## Learn More # Modify
If you want to edit the project you can start development mode by opening root folder via console and running:
To learn more about Next.js, take a look at the following resources: ```
npm install
npm run dev
```
The project uses following tech stack:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. - NextJS 14 (w/App router)
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - Typescript
- Redux
- Pico CSS with Sass
- Next/Intl
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! It scrapes data server-side and return treated data to the frontend to be rendered.
# Deploy
## Deploy on Vercel ## Vercel
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 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.
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 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.