A lightweight, cross-platform Remote Desktop connection manager for macOS and Windows. Organize dozens of RDP connections into groups, keep credentials in your OS keychain (never in a database), and launch sessions through your system's native RDP client with clipboard redirection on by default.
- Groups & sub-groups — organize connections in a nested tree, drag-free, built for managing dozens of servers at once
- Live connection status — a green indicator shows which connections are currently active, and clears automatically the moment a session disconnects
- Secure credentials — passwords are stored in the OS keychain (macOS Keychain / Windows Credential Manager), never written to disk in plaintext
- Advanced RDP settings per connection — screen mode & resolution, color depth, multi-monitor, admin/console session, drive/printer/clipboard redirection, audio mode, RD Gateway, certificate trust behavior, connection timeout
- Native client launch — no bundled RDP protocol implementation; connections are handed off to
sdl-freerdp/xfreerdpon macOS andmstscon Windows, so clipboard redirection and performance match what you already trust - Lightweight — built with Tauri (Rust + native webview), not Electron; no bundled Chromium
| Connections & groups | Advanced settings |
|---|---|
![]() |
![]() |
Every push to main builds signed-for-dev installers via GitHub Actions:
- Go to the Actions tab
- Open the latest successful run
- Download
rdp-manager-windows(.msi/.exe) orrdp-manager-macos(.dmg/.app) from the Artifacts section
Builds are unsigned during development, so macOS Gatekeeper and Windows SmartScreen will warn on first launch — this is expected until the app is code-signed for a proper release.
RDP Manager doesn't implement the RDP protocol itself. It's a connection manager: you fill in a profile (host, credentials, display/gateway/advanced settings), and when you hit Launch it hands everything off to your OS's real RDP client:
- macOS:
sdl-freerdp(preferred, no XQuartz needed) orxfreerdp, both from FreeRDP (brew install freerdp) - Windows: the built-in
mstsc.exe
Clipboard redirection, performance, and protocol compatibility are exactly what those clients already provide — RDP Manager just remembers your servers, your settings, and your credentials so you don't have to.
Prerequisites: Rust (stable), Node.js 22+, pnpm.
On macOS, also install a native RDP client: brew install freerdp.
git clone https://github.com/yon3zu/Rdp-Manager.git
cd Rdp-Manager
pnpm install
pnpm tauri dev # run in development
pnpm tauri build # produce a release installer for your OSWindows and macOS installers are also produced automatically by .github/workflows/build.yml on every push to main.
src/ React + TypeScript frontend
components/ sidebar (group tree), connection editor tabs, settings
state/store.ts Zustand store — all app state lives here
api/tauri.ts typed wrappers around Tauri IPC commands
src-tauri/src/ Rust backend
db/ SQLite (rusqlite) — groups & connection profiles
credentials/ OS keychain access (the `keyring` crate)
rdpfile/ generates .rdp file content (Windows / export)
launcher/ spawns the native RDP client per platform
sessions/ tracks active RDP client processes for the live status indicator
commands/ #[tauri::command] functions exposed to the frontend
Tauri 2 (Rust) · React + TypeScript · Zustand · Tailwind CSS · rusqlite · keyring-rs

