Це репозиторій з вихідним кодом RDM Manager remote connection manager. Готовий продукт деплоїться в: https://github.com/ajjs1ajjs/RDM Офіційний сайт: https://ajjs1ajjs.github.io/RDM/
Легкий, швидкий та безпечний менеджер віддалених підключень для SRE та DevOps інженерів. Побудований на базі Tauri v2, Rust, React та SQLite.
- SSH-підключення (Linux): вбудований термінал на базі
xterm.jsіз автоматичною підгонкою розміру сітки, що працює через системний PTY на Rust. Автозаповнення паролів/парольних фраз та робота з тимчасовими файлами приватних ключів (які безслідно видаляються з диска відразу після закриття сесії). - RDP-підключення (Windows): вбудовані у вкладки додатку RDP-сесії на базі нативного клієнта
mstsc. Завдяки Win32 reparenting та маніпулюванню стилями вікон, сесія інтегрується безпосередньо у вікно RDM Manager (як у Devolutions RDM) та підтримує плавне масштабування (smart sizing) при зміні розмірів вкладки чи приховуванні бічного сайдбара. - SFTP: вбудований файл-менеджер для передачі файлів поверх SSH.
- Сейф облікових записів (Credential Vault): безпечне зберігання логінів, паролів та SSH-ключів із AES-256-GCM шифруванням.
- Командна палітра (Ctrl+P / Ctrl+K): швидкий пошук та підключення до будь-якого сервера без миші.
- Групування та теги: ієрархічне дерево папок (наприклад,
Production/Linux) та швидке фільтрування за смарт-тегами. - Бекап та відновлення: експорт та перевірка сумісності (через sentinel-хеш) при імпорті бази даних
rdm.dbдля уникнення втрати даних. - Імпорт з Devolutions RDM: парсер CSV-таблиць для міграції всіх налаштувань та облікових записів в один клік.
- Безпека буфера обміну: автоматичне очищення буфера обміну через 15 секунд після копіювання паролів для запобігання витоку.
- Автоматичне оновлення: перевірка нових версій і установка безпосередньо всередині програми з прогрес-баром.
| Платформа | SSH / SFTP | Credential Vault | RDP | CI збірка |
|---|---|---|---|---|
| Windows | ✅ | ✅ (Credential Manager) | ✅ | ✅ (NSIS/MSI/portable) |
| Linux (Ubuntu/Debian) | ✅ | ✅ (Secret Service / GNOME Keyring) | ❌ | ✅ (AppImage/DEB) |
| macOS (Intel x64) | ✅ | ✅ (Keychain) | ❌ | ✅ (DMG) |
| macOS (Apple Silicon M1–M4) | ✅ | ✅ (Keychain) | ❌ | ✅ (DMG) |
RDP-сесії (вбудований mstsc, Win32 reparenting) працюють лише на Windows.
Виберіть на сторінці релізів:
| Платформа | Файл | Опис |
|---|---|---|
| 🪟 Windows | RDM-Manager-<ver>-setup.exe |
Універсальний інсталятор (NSIS) — встановлення в %LOCALAPPDATA%, ярлик у меню «Пуск», коректне видалення. |
| 🪟 Windows | RDM-Manager-<ver>-portable.zip |
Портативна версія — розпакуйте і запустіть rdm-manager.exe. |
| 🪟 Windows | RDM-Manager-<ver>-setup.msi |
MSI-інсталятор для GPO/SCCM корпоративного розгортання. |
| 🐧 Linux (Ubuntu/Debian) | RDM-Manager-<ver>-linux.AppImage |
Universal Linux binary — chmod +x і запуск. |
| 🐧 Linux (Ubuntu/Debian) | RDM-Manager-<ver>-linux.deb |
DEB пакет для apt install. |
| 🍎 macOS (Intel x64) | RDM-Manager-<ver>-macos-x64.dmg |
DMG образ для macOS 13+ на Intel. |
| 🍎 macOS (Apple Silicon M1–M4) | RDM-Manager-<ver>-macos-arm64.dmg |
Нативний DMG для Apple Silicon (M1/M2/M3/M4). |
Авто-оновлення: Після встановлення програма перевіряє наявність нових версій і пропонує оновитися всередині інтерфейсу з прогрес-баром (Windows/Linux/macOS).
- KEK (Key Encryption Key): Випадковий 256-бітний ключ шифрування генерується локально (OS CSPRNG) і зберігається в системному сховищі ключів ОС (OS keyring) — Windows Credential Manager або macOS Keychain. У базі даних зберігається лише маркер використання сховища, а не сам ключ. Існуючі сейфи, створені з Windows DPAPI, автоматично мігруються в ключове сховище при першому запуску.
- AES-256-GCM: Облікові дані шифруються за допомогою симетричного алгоритму AES-256-GCM із випадковим 12-байтовим nonce.
- Безпека пам'яті: Ключ дешифрування тримається виключно в оперативній пам'яті бекенду Rust та миттєво занулюється (zeroized) при виході або блокуванні сейфа.
- Sentinel: Контрольний рядок (
rdm-auth-sentinel) використовується для перевірки цілісності ключа. База даних не зберігає жодного пароля у відкритому вигляді. - Бекапи: Експорт/імпорт бази захищаються окремим паролем (PBKDF2-HMAC-SHA256) — це єдиний шлях перенесення даних між машинами (ключ у сховищі ОС прив'язаний до локального користувача).
- Core: Tauri v2, Rust
- Frontend: React (TypeScript), CSS
- Database: SQLite (через
rusqliteзbundledзбіркою) - Crypto: PBKDF2-HMAC-SHA256, AES-256-GCM
- PTY & Terminal:
portable-pty(ConPTY),xterm.js+fit-addon - Utilities:
rfd(Rust File Dialogs),csv
Для збірки необхідні встановлені:
- Node.js (v20+)
- Rust & Cargo (v1.75+)
- C++ Build Tools (компілятор MSVC або MinGW на Windows)
Встановіть залежності та запустіть Tauri-сервер:
npm install
npm run tauri devДля створення оптимізованого .exe файлу та інсталяторів (.msi та setup .exe через NSIS):
npm run tauri buildГотові файли збірки будуть знаходитись у каталозі src-tauri/target/release/bundle/.
Локальний файл бази даних зберігається за шляхом:
C:\Users\<Ваш_Користувач>\AppData\Roaming\com.admin.rdm-manager\rdm.db
Увага: файл бази прив'язаний до поточного користувача через системне сховище ключів ОС (keyring). Копіювання файлу працює як бекап на тій самій машині, але для перенесення/синхронізації між пристроями використовуйте Експорт/Імпорт резервної копії (Settings → Backup & Restore) — він захищається паролем і не залежить від локального сховища ключів.

