Seamless keyboard, mouse, and clipboard sharing between Windows and macOS over LAN/Wi-Fi.
Sync is a desktop app for sharing one keyboard and mouse across multiple nearby computers, as if they were one setup:
- one keyboard and mouse across machines
- text clipboard synchronization
- edge-based screen handoff
- secure pairing and trusted peer persistence
Designed for dual-computer workflows (for example: Windows desktop + MacBook side-by-side).
- Tauri-based cross-platform desktop application
- Host/client roles with pairing code flow
- Local identity and trusted peer store
- TLS-backed network session commands
- Clipboard text sync with loop prevention
- Configurable edge handoff logic and emergency release
- Runtime heartbeat and network status reporting
This repository is a strong reference implementation and active foundation.
For production-grade behavior, continue hardening low-level global input capture/injection and run full multi-device validation matrix.
- Node.js 20+
- Rust stable toolchain (
rustup,cargo,rustc) - Tauri OS prerequisites
npm install
npm run buildcd apps/desktop/src-tauri
cargo checkBuild installers from the repo root:
npm install
npm run tauri:buildArtifacts are written under apps/desktop/src-tauri/target/release/bundle/.
See docs/distribution.md for platform notes, icons, and signing.
npm run dev -w apps/desktopFor full desktop runtime with hot reload:
cd apps/desktop
npm run tauri:devapps/desktop- React frontend + Tauri appapps/desktop/src-tauri- Rust core runtime, networking, platform adaptersshared/proto- shared message schemadocs- architecture, threat model, setup, validation, troubleshooting
docs/architecture.mddocs/threat-model.mddocs/setup.mddocs/validation-matrix.mddocs/troubleshooting.mddocs/distribution.md
Repository: github.com/robintrepte/sync
- CI on
main:.github/workflows/ci.yml - Releases: Windows MSI + NSIS installers are built in
.github/workflows/release.ymlwhen you push a tag likev0.1.0(seedocs/distribution.md). They are not stored in git on purpose.
Enable Actions in the repo settings if workflows are disabled.
MIT - see LICENSE.
