Spaces:
Sleeping
Sleeping
File size: 1,921 Bytes
423c2fb 8ac85ba 423c2fb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # Unstable β Password-Protected Web Proxy
## Overview
"Unstable" is a password-protected web proxy browser app with a dark void.radio.fm-inspired aesthetic (Space Grotesk font). Built as a pnpm monorepo.
- **Password**: `ripmoonlight`
- **Session key**: `unstable_auth`
## Architecture
### Artifacts
- `artifacts/app` β React + Vite frontend (multi-tab proxy browser UI)
- `artifacts/api-server` β Express API server (bare server, static proxy assets)
### Proxy Stack
- **Proxy engine**: Ultraviolet (UV) β pre-built dist files copied to `artifacts/app/public/`
- **Bare server**: `@nebula-services/bare-server-node` mounted at `/api/bare/`
- **Bare transport module**: `@mercuryworkshop/bare-as-module3` served from `/api/baremod/`
- **Bare-mux transport**: `@mercuryworkshop/bare-mux` (npm dep in React app)
- **Baremux worker**: `artifacts/app/public/baremux/worker.js` (SharedWorker)
- **Service worker**: `/uv.sw.js` (scope `/`)
- **UV prefix**: `/service/`
### Key Files
- `artifacts/app/src/App.tsx` β tab browser UI, password screen, proxy setup
- `artifacts/app/public/uv.config.js` β UV configuration (prefix `/service/`)
- `artifacts/app/index.html` β loads uv.bundle.js and uv.config.js as plain scripts
- `artifacts/api-server/src/app.ts` β bare server, baremod static, CORS
- `artifacts/api-server/src/index.ts` β HTTP server + WebSocket upgrade for bare
### Important Constraints
- Do NOT run npm/pnpm install inside `/home/runner/workspace/Ultraviolet/`
- Never install `@titaniumnetwork-dev/*` packages
## Stack
- **Monorepo tool**: pnpm workspaces
- **Node.js version**: 24
- **Package manager**: pnpm
- **TypeScript version**: 5.9
- **API framework**: Express 5
- **Build**: esbuild (ESM bundle for api-server)
## Key Commands
- `pnpm --filter @workspace/api-server run dev` β run API server (port 8080)
- `pnpm --filter @workspace/app run dev` β run React app (Vite)
|