53 lines
1.3 KiB
Markdown
53 lines
1.3 KiB
Markdown
# UNLOZE Fast Download Wrapper
|
|
|
|
This project serves as the backend and static file frontend for UNLOZE's FastDL browser. It provides an API that lists downloadable game content stored in Cloudflare R2 and serves a Vue-based UI for navigating that content.
|
|
|
|
## 🧩 Features
|
|
|
|
- 🔍 API endpoint to list R2 bucket contents (folders & files)
|
|
- 🌐 Serves a single-page application (SPA) built in Vue
|
|
- ⚡ Fast performance using Express.js
|
|
- 📁 Automatically filters and returns only valid downloadable files
|
|
- 🛡️ CORS support for secure frontend/backend separation
|
|
|
|
## 📦 Tech Stack
|
|
|
|
- **Node.js / Express**
|
|
- **Vue 3** (compiled to static `dist/`)
|
|
- **@aws-sdk/client-s3** for Cloudflare R2 integration
|
|
- **dotenv** for environment config
|
|
- **PM2** recommended for production hosting
|
|
|
|
## 🚀 Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js v18+
|
|
- Access to a Cloudflare R2 bucket
|
|
- Git
|
|
|
|
### Install & Run
|
|
|
|
1. Clone the repository:
|
|
|
|
```bash
|
|
git clone https://git.unloze.com/UNLOZE/unloze-wrapper.git
|
|
cd unloze-wrapper
|
|
|
|
npm install
|
|
|
|
.env file
|
|
VITE_API_BASE_URL=<api-end-point>
|
|
VITE_DOWNLOAD_BASE_URL=<download-end-point>
|
|
|
|
R2_ENDPOINT=https://<your-r2-endpoint>
|
|
R2_ACCESS_KEY=<your-access-key>
|
|
R2_SECRET_KEY=<your-secret-key>
|
|
R2_BUCKET=<your-bucket-name>
|
|
PORT=3000
|
|
|
|
npm run build
|
|
|
|
node server.js
|
|
# Or using PM2:
|
|
pm2 start server.js --name unloze-wrapper |