Vispra is a modern HTML5 client for Xpra built with SolidJS and TypeScript. It connects to an Xpra server over WebSocket and renders remote application windows directly in the browser.
- Node.js 20+
- npm
- Docker
npm installVispra connects to an Xpra server over WebSocket. For local development, make sure you have an Xpra server running and reachable at:
ws://localhost:10000
If your server runs elsewhere, update the connection settings in src/main.tsx.
Run:
npm run devOpen the local Vite URL shown in the terminal, usually:
http://localhost:5173
The current development setup auto-connects to:
ws://localhost:10000
This is defined in src/main.tsx. If your Xpra server runs on a different host, port, or uses TLS, update the connection settings there.
Run these commands inside vispra:
npm run dev
npm run build
npm run preview
npm run test
npm run test:run
npm run test:integration
npm run typecheckIntegration tests expect a real Xpra server on ws://localhost:10000.
Start the Docker server first, then run:
XPRA_TEST_URL=ws://localhost:10000 npm run test:integrationnpm run buildThe production output is generated in dist/.
- The frontend currently assumes a local Xpra server for development.
- Audio support requires browser support and a running Xpra server with audio enabled.
- If port
10000is already in use, map the container to another port and updatesrc/main.tsxaccordingly.
MIT