-
-
Notifications
You must be signed in to change notification settings - Fork 77
Home
Rituraj edited this page Aug 10, 2026
·
18 revisions
Rein is an open-source, cross-platform remote input system that transforms any phone, tablet, or browser into a powerful wireless controller for your desktop. Using modern WebRTC-based communication and native platform input drivers, Rein delivers low-latency trackpad, keyboard, clipboard, and live screen sharing entirely over your local network without requiring cloud services or external accounts.
| Section | Description |
|---|---|
| Architecture Overview | End-to-end system design, werift WebRTC architecture, and system data flow |
| Server Architecture | Node/Nitro server architecture, WebRTCManager, and SseTransport log streaming |
| Signaling Architecture | WebSocket signaling (/ws), single RTCPeerConnection, and ICE exchange |
| Input System | Gesture recognition, dual DataChannels, and cross-platform input injection |
| Screen Streaming | GStreamer H.264 pipeline, local UDP relay, and platform capture providers |
| Platform Drivers | Linux (/dev/uinput via Koffi FFI), macOS (CoreGraphics), and Windows drivers |
| Authentication & Security | Authentication flow, token persistence, and local security model |
| Electron Wrapper | Desktop application architecture, single instance lock, and packaging |
| Development Guide | Building, running, testing, and contributing to Rein |
| Configuration Reference | Available configuration options and runtime settings |
| HTTP & DataChannel API | Complete REST, WebSocket (/ws), and DataChannel protocol reference |