Unloze Fast Download Wrapper
public | ||
src | ||
.gitignore | ||
index.html | ||
package.json | ||
README.md | ||
server.js | ||
tsconfig.app.json | ||
tsconfig.json | ||
tsconfig.node.json | ||
tsconfig.tsbuildinfo | ||
vite.config.ts |
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
- Clone the repository:
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