Links Mac, Windows, Linux and Android devices over local Wi-Fi, USB or Bluetooth to share mouse, keyboard, screens, files, clipboard, notifications, calls and camera.

149
31
JavaScript
GPL-3.0
1 day old

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

  1. 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).
  2. Open it on both devices. They discover each other on the same network, over Bluetooth, or over a USB cable for a phone.
  3. Pair once by comparing a code; on USB, click Allow. After that they reconnect by themselves.
  4. 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.