A self-hosted web controller for UU Remote. Connect to and control your UU Remote devices from a browser.
Try the public instance at https://uurc.678234.xyz.
It is useful for reviewing the interface and basic flow. UU Remote Web handles SMS login, account credentials, and authenticated UU API requests. Self-hosting is recommended for regular use. Enter SMS codes, sign in, or import credentials only on instances you control or fully trust.
A Cloudflare Worker plus Durable Object is the easiest self-hosted option. The Worker serves the application, forwards UU API requests, and runs the signal gateway. Remote video, audio, and input are still negotiated by the browser over WebRTC. Automatic routing can use LAN or P2P direct connectivity and fall back to UU relay when required. Deploying on Cloudflare does not disable direct connections.
The public landing page is prerendered during the frontend build so its content is present in the initial HTML. Login, device, account, and remote-control routes continue to use the client-side application shell and are excluded from search indexing.
- SMS login
- Login-state import and export
- Device list
- Remote video, audio, input, and clipboard synchronization
- Multi-display selection, connection diagnostics, and recovery
- Partner assistance and takeover control
- Account management
- Node and Cloudflare gateways for UU API and signal traffic
The Cloudflare deployment uses a Worker and Durable Object without Cloudflare Containers. Use the button above for a quick deployment, or deploy from a local checkout:
npm ci
npx wrangler login
npm run deploy:cloudflareSee the Cloudflare deployment guide for requirements, trust boundaries, and direct-connection details.
docker run -d \
--name uurc-web \
-p 8787:8787 \
iola1999/uurc-web:latestOr:
curl -O https://raw.githubusercontent.com/iola1999/uurc-web/main/compose.yml
docker compose up -dThe signal API gives each browser tab an opaque session capability that isolates in-process signal connections. Public deployments still need Cloudflare Access, an authenticated reverse proxy, or another access gateway.
Wisp is disabled by default because the frontend currently uses the local proxy transport. Set ENABLE_WISP=true only when testing the optional WASM curl transport.
Login state is stored in the current browser, while UU API requests pass through the deployment in use. A shared-instance operator can technically observe the requests it proxies. Prefer self-hosting, and remove SMS codes, credentials, tokens, device IDs, room data, and network addresses from public logs and screenshots.
Read SECURITY.md for the full trust model and private reporting process.
npm ci
npm run devnpm test
npm run build
docker build -t iola1999/uurc-web:local .The Cloudflare deployment architecture references AssppWeb, especially its Cloudflare deployment ergonomics and local-gateway relay mindset.