Windows Remote Desktop manager with an Active Directory-style tree UI, DPAPI-encrypted credentials, and a custom frameless window.
License: GNU General Public License v2.0 (GPL-2.0) Version: 1.2.0
- Console tree — organise servers into sites with expand/collapse and context menus
- Secure credentials — DPAPI via
electron.safeStorage(same as Chrome/VS Code/1Password). Encrypted per-machine and per-user. Never exported. - RDP launch — injects credentials via
cmdkey, launchesmstsc.exe, auto-cleans up - Server panel — sortable table, search filter, detail pane
- Export as XML — human-readable config backup (no credentials)
- Export as Server List — plain
.txtfile usable on any machine without the app - Import — accepts XML (v1.1+) or legacy JSON
- Light and dark themes, persisted across restarts
- Portable ZIP or NSIS installer
Only prerequisite: Node.js 18+ — nothing else needed.
- Extract the source ZIP anywhere (local drive recommended)
- Double-click
BUILD.bat
Output appears in release\:
| File | Description |
|---|---|
RDP Manager Setup 1.2.0.exe |
Full NSIS installer |
RDP Manager-1.2.0-win.zip |
Portable, no install required |
build.log |
Full build log — upload here if something fails |
Human-readable backup of all sites and servers. Can be imported on another machine running RDP Manager. Credentials are never included.
A .txt file listing every site and server with hostname, port, username,
description, and last-connected date. Useful as a reference on machines
where the app is not installed.
| What | How |
|---|---|
| Credential encryption | electron.safeStorage → Windows DPAPI |
| Storage | %APPDATA%\rdp-manager\credentials.json (hex ciphertext) |
| Decryptable by | Same Windows user on same machine only |
| Exported? | Never — both export formats strip all credentials |
| In-memory lifetime | Decrypted only during mstsc.exe launch, then discarded |
| Injection method | cmdkey /add → mstsc → cmdkey /delete (8 s cleanup) |
| File | Path |
|---|---|
| Config | %APPDATA%\rdp-manager\rdp-manager-config.json |
| Credentials | %APPDATA%\rdp-manager\credentials.json |
src/
main/
index.ts Electron main process, BrowserWindow
preload.ts Context bridge (window.electronAPI)
handlers/
configHandlers.ts Load/save/export(XML+TXT)/import config
credentialHandlers.ts DPAPI encrypt/decrypt via safeStorage
rdpHandlers.ts RDP file generation, mstsc.exe launch
renderer/
App.tsx Root component, modal orchestration
store/AppContext.tsx Global state (useReducer + auto-save effect)
components/ TitleBar, Toolbar, SiteTree, ServerPanel,
StatusBar, ToastContainer, modals/
styles/global.css CSS variables, light + dark themes
shared/
types.ts Shared TypeScript interfaces + IPC constants
installer/
setup.nsi Custom NSIS script (advanced use)
assets/
icon.ico Multi-resolution icon (16/32/48/256 px)
BUILD.bat One-click build — double-click to run
npm install
npm run devStarts the webpack dev server (port 3000) and Electron with hot reload.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
See LICENSE.txt or https://www.gnu.org/licenses/gpl-2.0.txt.