A lightweight, minimal Electron application designed to keep a local database of FreeRDP (xfreerdp/wlfreerdp) connections along with their specific command-line parameters.
Managing multiple remote servers often becomes a hassle when each machine requires a distinct set of FreeRDP flags—such as custom display dimensions, dynamic resizing, shared folders, clipboard toggles, or specific security certificates.
Remembering or re-typing complex terminal commands like /dynamic-resolution /drive:Shared,/path +rfx +clipboard for every distinct host gets tiresome fast. FreeRDP Host Manager solves this by offering a clean, single-column dashboard where you can store, edit, parse, and launch your FreeRDP hosts with a single click.
- Local & Lightweight: Stores host profiles locally in a portable JSON file (
hosts-db.json) inside your user data directory. Zero heavy bundling or bloated frameworks. - Custom RDP Binary Path: Switch easily between
xfreerdp,wlfreerdp, or point directly to a custom binary path (e.g.,/usr/bin/xfreerdp). - In-Line Editing: Easily update host IPs, labels, or parameter strings directly within the card list.
- One-Click Launch: Directly spawns the native FreeRDP child process in detached mode.
This repository contains only the application source code and does not bundle the Electron runtime. To run it, you will need Node.js and Electron installed on your system, as well as FreeRDP.
Install FreeRDP, electron, and nodejs using your system package manager:
- Ubuntu / Debian:
sudo apt install freerdp2-x11 nodejs electron
sudo apt install freerdp2-wayland nodejs electron
- Arch Linux
sudo pacman -S freerdp nodejs electron
git clone https://gitlab.com/prd0000/rdp-manager.git
Go to where you download the files, then run electron.
electron /path/to/your/rdp-manager
Or create a desktop file to run it
[Desktop Entry]
Name=FreeRDP Host Manager
Comment=Manage and launch custom FreeRDP connections
Exec=electron /path/to/your/rdp-manager
Icon=/path/to/your/rdp-manager/icon.svg
Terminal=false
Type=Application
Categories=Utility;Network;
Make sure to replace the path with your own folder.
