37 lines
862 B
Markdown
37 lines
862 B
Markdown
# Selective VPN Web (Foundation)
|
|
|
|
Web prototype foundation for Selective VPN control-plane.
|
|
|
|
## Stack
|
|
- Vite
|
|
- React + TypeScript
|
|
- React Router
|
|
- TanStack Query
|
|
- Zustand
|
|
|
|
## Current scope
|
|
- App shell (navigation + layout).
|
|
- Read-only overview (`/healthz`, `/api/v1/status`, `/api/v1/vpn/status`, `/api/v1/vpn/login-state`).
|
|
- SSE connectivity indicator for `/api/v1/events/stream`.
|
|
- Placeholder pages for upcoming VPN/Routes/DNS/Transport/Trace screens.
|
|
|
|
No mutating controls are enabled at this stage.
|
|
|
|
## Run
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Build
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Environment
|
|
Use `.env.example` as a base:
|
|
- `VITE_API_BASE_URL` — absolute API base URL (optional).
|
|
- `VITE_DEV_PROXY_TARGET` — Vite dev proxy target (default `http://127.0.0.1:8080`).
|
|
|
|
By default, frontend uses same-origin URLs and relies on Vite proxy in dev mode.
|