0xCodez/DuoDesk
Productivity & UtilitiesLinks Mac, Windows, Linux and Android devices over local Wi-Fi, USB or Bluetooth to share mouse, keyboard, screens, files, clipboard, notifications, calls and camera.
What it does
DuoDesk makes several computers and an Android phone behave like one desk. A pointer and keyboard can cross screen edges between machines, one computer can extend onto another as a real virtual display, and a remote computer's apps can open in their own windows. Files, clipboard entries, notifications, camera feeds and even phone calls and texts are shared over a direct local link.
The project is a fork of TwinDesk with an Aurora redesign, built as an Electron app plus a native helper per platform; the Android app is Kotlin, and the computers drive the phone through adb and scrcpy's server (10). It targets people with mixed Mac/Windows/Linux setups or who want their phone integrated into desktop work, and it is free under GPL-3.0 with no account, telemetry or cloud relay (64).
Quick start
- Download DuoDesk for each computer and, if wanted, the Android app from the releases page — macOS 13+, Windows 10/11 x64 or ARM64, Linux x86_64 AppImage/.deb, and Android (61).
- Open it on both devices. They discover each other on the same network, over Bluetooth, or over a USB cable for a phone.
- Pair once by comparing a code; on USB, click Allow. After that they reconnect by themselves.
- Turn on the features you want, each behind its own tab and switch (7).
On first launch macOS and Windows warn because the builds are not code-signed: on macOS, open System Settings › Privacy & Security and choose Open Anyway; on Windows, keep the download and run the installer (33). For the phone's screen, apps and camera in windows, DuoDesk walks through enabling Android wireless debugging once; files, clipboard, calls and photos work without it (22).
Use constraints
- Pairing is direct: devices must be reachable on the same Wi-Fi, over Bluetooth LE, a USB cable, Wi-Fi Direct or a phone hotspot. Nothing goes through a cloud relay. Only an update check contacts GitHub and can be turned off (64).
- Every feature is off on a fresh install and loads only when switched on; updates keep settings (38).
- Screen capture and input sharing require OS permissions: Screen Recording, Accessibility and Input Monitoring on macOS; firewall rules on Windows; on Wayland, evdev/uinput access via the Setup screen. Linux has differences by session: Extend uses Mutter on GNOME Wayland, a spare X11 output otherwise (not available on NVIDIA's driver), and copying this computer's apps to the other side needs an Xorg session (8).
- The full Android app adds notification access, SMS permissions and an Accessibility service; the computers install it over wireless debugging. Xiaomi/Redmi/POCO also need USB debugging (Security settings) for touch and keyboard input (9).
- Building from source needs Node.js 18+, plus platform toolchains (Xcode command-line tools, .NET Framework compiler, or Linux X11 dev packages). A Nix flake and NixOS module are provided (24).
HotRepo's take
DuoDesk entered HotRepo's new-project board on 2026-11-01 with 38 stars gained over a roughly three-hour window and 143 stars in total, alongside 29 forks (1). The repository has no recorded GitHub all-language daily rank. What stands out in the project itself is the connection layer: the same app runs on every platform, and the TLS session can move between Wi-Fi, USB, Bluetooth LE and on-demand Wi-Fi Direct without the user choosing (6). That is a more demanding design than the usual notification-and-file-drop phone bridge, which is also why first-run permission setup is the main hurdle.
Written by AI from the project's README, updated . The project's own docs are the source of truth.