Modularize durable truth, bound always-loaded instructions, and keep domain-document size checks advisory. Local cross-platform repository hygiene checks pass; GitHub-hosted steps were not started because of the account billing state.
1.6 KiB
Screener
Screener is a private, low-latency screen-sharing tool for one game player and up to 20 authenticated friends. Web Viewers need no installation. Media is automatic and P2P-first, with bounded Browser relay and one dedicated LiveKit SFU/UDP fallback rather than an always-SFU conference topology.
Project memory is the compact product map. Current status owns the exact source and production state; this README intentionally does not mirror release details.
Local Development
Node.js 24 and npm 11 are required.
npm ci
npm run dev
Open http://localhost:8787. The development server listens on 0.0.0.0, so a
phone on the same LAN may use http://<computer-lan-ip>:8787. Screen capture
must remain on localhost or HTTPS. Set PUBLIC_BASE_URL and
ALLOWED_ORIGINS when generated invitations need a different LAN origin.
Production requires an independent visible-ASCII SITE_ACCESS_PASSWORD; local
development and tests may leave it empty. Cross-network setup is documented in
self-hosting and
configuration reference. Never commit real
credentials.
Run complete automated validation with:
npm run check