An open-source remote desktop that connects without server setup
Connect Windows, macOS, Linux and Android devices by device ID with no sign-up; by default, someone on the other device must accept each connection. This beta focuses on fixing the everyday friction of controlling a PC from your phone.
Installers for Windows, macOS, Linux and Android. Install Kitedesk on both the device you control from and the device you want to control.
For Windows 10/11 (x64). The installer is not code-signed yet, so SmartScreen may show a warning. Install guide
One DMG for Apple Silicon and Intel. It is not notarized by Apple yet; if the first launch is blocked, open System Settings → Privacy & Security and choose Open Anyway. Install guide
x86_64 only. Requires glibc 2.39 or later (Ubuntu 24.04+, Debian 13+), and the AppImage needs FUSE 2 (Ubuntu 24.04: sudo apt install libfuse2t64). On an Android tablet, get the Android APK instead. Install guide
APK for arm64 devices, distributed outside app stores, so allow installs from unknown sources. Older 32-bit devices need the armv7 APK below. Install Kitedesk on the PC you want to control, too. Install guide
The iOS app is in preparation. Open this page on the PC you want to control and download it there.
Linux ARM builds are not published yet. See the published files below.
Linux (x86_64) and Android tablets need different files. Pick the one for your device below.
ChromeOS builds are not published yet. See the published files below.
If the download does not start, open this page in another browser from the KakaoTalk menu (⋮).
Install on both devices, request a connection by ID, and accept it on the other device
- Install Kitedesk on the PC you want to control.
- Install it on your Android phone or another PC, too.
- Enter the device ID shown on the main screen of the device you want to control to request a connection, then accept it in the prompt on that device. If password access is turned on in that device's settings, you can also connect with its one-time password.
No server address or key to enter: a fresh install registers with the default connection server. If a first-launch warning appears, see the install guide.
Fixing what gets in the way when you control a PC from your phone
Control a PC running Kitedesk (desktop apps for Windows, macOS and Linux) from an Android phone. Real-world use has been confirmed with Windows PCs, and a Mac must allow Screen Recording and Accessibility.
Pick a monitor, or see them all
Pick one monitor of the remote PC by its number, or choose "All monitors" (the grid icon) to see every monitor on one screen (when the remote PC has two or more monitors). When both sides run 1.4.13-1 or later, this view now uses each monitor's scaling (DPI) reported by a Windows PC to draw the layout in the operating system's logical coordinates. Confirmation on real monitors is still in progress.
Zoom that survives the keyboard
We improved zoom being reset when the soft keyboard opens and closes, and if the keyboard covers the point you last tapped, the view moves to show it. We also fixed pasted text that starts with the digit 1 losing its first character and shifting later typing by one position. Confirmation on a real foldable is still pending.
Window switching in one tap
The session menu in the Android app sends the right window-switch shortcut (Alt+Tab / Cmd+Tab) and "Show all windows" (Win+Tab on Windows, Ctrl+Up on macOS) for the remote OS in one tap.
Sessions as tabs
The Android app keeps up to five remote sessions open as tabs. On wide screens whose shortest side is at least 600 dp (such as tablets and unfolded foldables), it shows two sessions side by side, and tabs that are not visible stop decoding video.
Some of these improvements are still being checked on real devices. Try them and tell us how they work. Beta tester program
The everyday basics, refined first
Put the toolbar on any edge
In the desktop app, move the remote toolbar to the top, right, bottom or left edge with a button or Ctrl+Shift+F12 (Cmd+Shift+F12 on macOS); the position is remembered per remote device.
File transfers you can follow
In the Android app, the file-transfer screen shows progress, the file count and the amount transferred, and cancelling stops both the transfer in progress and the queued ones. 1.4.13-1 does not request all-files access, so browsing phone storage for files to send may be limited; use another app's Share menu to send phone files to Kitedesk. You can resume interrupted transfers from the mobile transfer list, and file names are normalized to Unicode NFC so Korean file names created on macOS no longer split into separate jamo.
A shell without the screen
The Android app includes an SSH terminal for shell access without screen sharing. In testing, password and public-key login worked, UTF-8 Korean output displayed correctly, and the same session kept working after briefly (3 seconds in the test) switching to the home screen. SSH private keys and saved connection profiles (including passwords) are encrypted with a key protected by the Android Keystore and kept only in the app's secure storage. On first connection Kitedesk shows the server's host-key fingerprint and saves it once you trust it; if the fingerprint later changes, the connection is refused. From the Android app you can also open a remote terminal on a desktop device: with default settings someone at that device must accept the connection, and it will not open if that device has the terminal permission turned off or is set to view-only.
A reason when the screen does not arrive
If a desktop device (Windows, macOS or Linux, 1.4.11-7 or later) cannot start screen capture, Kitedesk shows the reason it reported (no display, capture setup failed, macOS screen-recording permission missing, and so on) with a Reconnect button. If no reason is known, it shows what to check after 15 seconds.
New version notices
Kitedesk checks the official release channel when it starts and re-checks periodically while it stays open, showing a card on desktop or a banner on mobile when a new version is available. In 1.4.13-1 an app left open can take close to 12 hours to notice a new version; restarting the app checks right away.
Address book sync
Sign in with email and password or with Google to sync your address book (aliases, tags) across signed-in devices, with each device's online status shown.
File transfers in the Android app (1.4.13-1), sharing files from other Android apps, resuming transfers, address book sync and the reason shown when the screen does not arrive are still being checked on real devices.
Korean input is being improved. Tell us how it works with your OS and input method. Beta tester program
How connections work, and how they are encrypted
Your deviceAndroid phone or tablet, or a PC
Kitedesk default connection serverID registration · connection brokering · relay
Controlled devicePC (Windows, macOS, Linux)
Set the address and public key of your own compatible hbbs/hbbr server, and Kitedesk uses that server instead of the default one.
During the beta, the default connection server has no availability, speed or capacity guarantee (no SLA).
Default connection server
A fresh install registers with the default connection server, with no server address or key to enter. To broker connections, the default connection server stores information such as device IDs, public keys and IP addresses.
Relay route when signed in
When you sign in and have not set your own server, "Use Kitedesk Relay" is on by default, so remote sessions you start from this device are routed through the Kitedesk relay. You can turn it off with that one switch, and the choice is kept on this device when you sign in again.
Your own server
You can point Kitedesk at your own compatible hbbs/hbbr server with its address and public key. It takes precedence over the default, and Kitedesk does not send its service lease to it.
Session encryption
With default settings, connections are encrypted using libsodium (NaCl): a fresh session key is wrapped with the other device's Curve25519 public key, and session data is then encrypted with XSalsa20-Poly1305. If encryption cannot be verified, Kitedesk warns you and asks whether to continue before connecting.
Android permissions and data
The Android app excludes its internal app data, which holds the device ID, keys and access password, from Google cloud backup and device-to-device transfer. It has no feature that bypasses secure screens (FLAG_SECURE) or the lock screen, and before remote-input accessibility is enabled it explains the purpose, the data involved and how to turn it off, and asks for consent.
Connection approval and background service
With default settings, each connection must be accepted on the controlled device, and password access is something you turn on yourself in settings. On Linux, the deb and rpm packages turn on and start a background service when installed.
Codecs
Public builds since 1.4.10-7 (every installer currently available) use only the VP8, VP9 and AV1 video codecs and do not include H.264/H.265 implementations or hardware codecs.
Your account data
The web account portal (Korean) lets you download your data as JSON, sign out every browser session on the site at once, and delete your account (deletion requires a web session signed in within the last 15 minutes). This does not sign out the Kitedesk apps installed on your devices.
Beta testers wanted
We are looking for people who will use Kitedesk for real and tell us about it through a survey or bug reports. What we learn goes into preparing the official launch.
- Reward
- Selected participants who meet the conditions receive one year of Pro after the official launch, counted from the launch date. The reward cannot be transferred.
- What we ask
- Real use, plus a survey or bug reports. Reviews and promotional posts are not a condition, and we never ask for positive reviews.
- Size
- 30 people for 4 weeks by default. This may change depending on how the program runs.
- Who can join
- Planned for people aged 19 or older who live in the Republic of Korea. The final eligibility criteria and the selection method are set in the beta tester terms (Korean) before recruiting opens.
- Not decided yet
- Pro features, pricing and the launch date are not decided yet. Payments are not open.
- If you post a review
- Beta applicants and participants have a material connection with Kitedesk: participants who meet the conditions are offered one free year of Kitedesk Pro after launch. If you post a review or recommendation, disclose this in the title or at the start of your post, even before you receive the reward.
Beta tester recruitment is in preparation. The application link will appear here when it opens.
The beta program is currently run in Korean.
Program details (Korean)Beta tester terms (Korean)Application data (Korean)
Not available yet
- iOS app (in preparation)
- Windows code signing and Apple notarization
- App store distribution
- Korean input (being improved)
Get the right file for your device
Download directly from the official site. Each installer is published with its SHA-256 checksum, so compare before installing.
v1.4.13-2 · published · Release page for this version (Korean)
Other packages 1
Other packages 1
Requirements by platform
- Windows
- An MSI installer and a portable EXE that runs without installing. For Windows 10/11 (x64); not code-signed yet, so SmartScreen may show a warning.
- macOS
- One DMG for Apple Silicon and Intel. Not notarized by Apple yet: if the first launch is blocked, open System Settings → Privacy & Security and choose Open Anyway. After an update you may need to allow screen recording again.
- Linux
- AppImage (recommended), deb, rpm, Flatpak and tar.gz, x86_64 only. The deb, rpm, AppImage and tar.gz packages require glibc 2.39 or later (Ubuntu 24.04+, Debian 13+), and the AppImage needs FUSE 2 (Ubuntu 24.04:
sudo apt install libfuse2t64). The deb and rpm packages turn on and start a background service when installed. The Flatpak is an experimental file that has not been confirmed to run, so it is not recommended. - Android
- arm64 (recommended) and armv7 APKs, distributed outside app stores, so installing requires allowing unknown sources.
- iOS
- In preparation.
Full corresponding source (AGPL-3.0-only) and third-party notices for the same version
Source code archive (8.0 MB)AGPL-3.0Third-party noticesInstall guide and warningsSource and licenses (Korean)All releases (Korean)
Kitedesk at a glance
- What
- An open-source (AGPL-3.0-only) remote desktop for Windows, macOS, Linux and Android that connects without any server setup. It is a beta focused on fixing the everyday friction of controlling a PC from your phone.
- Platforms
- Windows (x64) · macOS (Apple Silicon and Intel) · Linux (x86_64) · Android (arm64, armv7) · iOS in preparation
- Price
- Current public builds are free to download and use. Payments are not open, and paid plan details and pricing have not been published.
- License
- GNU AGPL-3.0-only, with the complete corresponding source published alongside every version whose installers can be downloaded.
- Latest version
- v1.4.13-2 (published )
- Release history
- 28 versions since
- Status
- Beta: features and behavior may change without notice, and there may be bugs.
Recent releases
| Version | Published | Files | Details |
|---|---|---|---|
| v1.4.13-2 | 10 files · with source | View v1.4.13-2 | |
| v1.4.13-1 | 10 files · with source | View v1.4.13-1 | |
| v1.4.11-14 | 10 files · with source | View v1.4.11-14 |
Frequently asked questions
Is Kitedesk free?
Current public builds are free to download and use. Payments are not open, and paid plan details and pricing have not been published.
Do I need an account?
No. You request a connection by device ID, and it connects once someone on the other device accepts it. You sign in for account features such as address book sync.
Why do I see a warning when installing?
The Windows installer is not code-signed yet, so SmartScreen may warn, and the macOS app is not notarized by Apple yet, so the first launch may be blocked. Compare the published SHA-256 with your download before installing. The install guide has the steps for each OS.
Is there an app for iPhone or iPad?
The iOS app is in preparation. For now you can control a PC from an Android phone or tablet.
Does Korean input work?
Korean input is being improved. Tell us your OS and input method so we can fix what breaks.
Try it, then tell us what gets in the way
Install Kitedesk on the device you control from and on the device you want to control, then request a connection by ID and accept it on the other device. Send what bothered you through the beta survey or a bug report.