A browser remote for Countdown that connects directly to the desktop app over WebRTC — NAT hole-punched, peer to peer. No port forwarding, and the timer data never passes through a server.
Deploy the contents of dist/ anywhere on your site.
- The desktop app registers with a signaling server under a peer id derived from its session id.
- You open this page and enter a pairing code:
SESSION.KEY. - The page connects to that peer id and presents the key in a
helloframe. - The desktop app answers
welcome+snapshot, and everything after that flows over the DataChannel.
yarn install
yarn dev # dev server
yarn build # production build into dist/
yarn vitest run # tests
yarn typecheck # vue-tsc --noEmitSTUN only by default, you can add a TURN server via configuration.