Secure. Fast. Professional.
A enterprise-grade remote connection management solution built entirely in Rust.
Hermes is a professional remote connection manager designed for IT teams and system administrators who need secure, fast, and reliable access to remote systems.
Built with 100% Rust using Tauri 2.x and Dioxus, Hermes delivers native performance with enterprise-level security.
- Zero JavaScript — Pure Rust frontend and backend
- Military-grade Encryption — AES-256-GCM with Argon2id key derivation
- Native Performance — No Electron, no overhead
- Secure by Default — Credentials encrypted at rest, vault-protected
| Feature | Description |
|---|---|
| Multi-Protocol | SSH, RDP, Serial, Telnet, VNC support |
| Folder Organization | Hierarchical folder structure for connection management |
| Quick Search | Instant search across all connections |
| Favorites | Pin frequently-accessed systems |
| Tags & Notes | Custom annotations for easy filtering |
| Startup Commands | Auto-execute scripts on connection |
| Feature | Description |
|---|---|
| Native Emulation | Built-in terminal using termwiz (VT100/xterm compatible) |
| Multi-Session | Run multiple terminal sessions simultaneously |
| Session Tabs | Easy switching between active sessions |
| Search | Find text in terminal output |
| Resize | Dynamic terminal resizing |
| Feature | Description |
|---|---|
| SFTP Browser | Visual file browser with breadcrumb navigation |
| Drag & Drop | Upload files by dragging into the window |
| Batch Operations | Upload/download multiple files |
| File Management | Create, rename, delete files and folders |
| Feature | Description |
|---|---|
| Credential Vault | Encrypted storage for passwords and SSH keys |
| AES-256-GCM | Industry-standard encryption |
| Argon2id | Memory-hard key derivation (OWASP compliant) |
| Zeroization | Secure memory cleanup for sensitive data |
| Vault Lock | Manual lock/unlock with master password |
| Feature | Description |
|---|---|
| SSH Tunnels | Local, remote, and SOCKS5 proxy support |
| Tunnel Management | Create, monitor, and stop tunnels |
| Session Binding | Tunnels linked to SSH sessions |
┌─────────────────────────────────────────────────────────────┐
│ Hermes Architecture │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ Dioxus UI │ │ Rust Backend │ │
│ │ (Frontend) │◄──►│ │ │
│ │ │ │ ┌─────────────────────────┐ │ │
│ │ • Pages │ │ │ SSH/SFTP Engine │ │ │
│ │ • Components │ │ │ (ssh2-rs) │ │ │
│ │ • State │ │ └─────────────────────────┘ │ │
│ │ • Router │ │ ┌─────────────────────────┐ │ │
│ │ │ │ │ Terminal Emulator │ │ │
│ └─────────────────┘ │ │ (termwiz) │ │ │
│ │ └─────────────────────────┘ │ │
│ │ ┌─────────────────────────┐ │ │
│ │ │ Security Layer │ │ │
│ │ │ (AES-256 + Argon2id) │ │ │
│ │ └─────────────────────────┘ │ │
│ │ ┌─────────────────────────┐ │ │
│ │ │ SQLite Database │ │ │
│ │ │ (rusqlite) │ │ │
│ │ └─────────────────────────┘ │ │
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
| Layer | Technology |
|---|---|
| Frontend | Dioxus 0.6 (Rust) |
| Backend | Tauri 2.x (Rust) |
| Terminal | termwiz (WezTerm) |
| SSH/SFTP | ssh2-rs (libssh2) |
| Encryption | AES-256-GCM, Argon2id |
| Database | SQLite (rusqlite) |
| Build | Cargo, GitHub Actions |
Download the latest release from GitHub Releases.
| Format | Description |
|---|---|
HermesSetup.exe |
Windows installer (recommended) |
Hermes.msi |
Windows MSI package |
Hermes-portable.zip |
Portable version (no install) |
Prerequisites:
- Rust 1.75+ (
rustup install stable) - Windows: Visual Studio Build Tools 2022
# Clone
git clone https://github.com/thichcode/rust-remotemanager.git
cd rust-remotemanager
# Build
cargo build --release
# Run
cargo run --release- Launch Hermes from Start Menu or portable folder
- Create a Connection — Click "+" and enter SSH details
- Connect — Double-click the connection card
- Manage Files — Click the folder icon to open SFTP browser
| Shortcut | Action |
|---|---|
Ctrl+N |
New connection |
Ctrl+F |
Search connections |
Ctrl+T |
New terminal tab |
Ctrl+W |
Close current tab |
Ctrl+Shift+C |
Copy selection |
Ctrl+Shift+V |
Paste |
- Go to Settings → Security
- Set a master password
- Store credentials securely
- Credentials are encrypted before storage
Windows: %APPDATA%\com.hermes.remote-manager\hermes.db
Windows: %APPDATA%\com.hermes.remote-manager\logs\hermes.log.{date}
All settings are stored in the database and can be managed via the UI.
src-tauri/
├── src/
│ ├── commands/ # Tauri IPC handlers
│ ├── storage/ # SQLite database layer
│ ├── ssh/ # SSH/SFTP/Tunnel engine
│ ├── security/ # Encryption & vault
│ └── ui/ # Dioxus UI
│ ├── pages/ # Application pages
│ ├── components/ # Reusable components
│ ├── state.rs # Global state management
│ └── services/ # Business logic
├── Cargo.toml
└── tauri.conf.json
# Development
cargo run # Run in debug mode
cargo run --release # Run in release mode
# Build
cargo build # Build debug
cargo build --release # Build release
# Test
cargo test # Run all tests
cargo test -- --nocapture # Run with output
# Release
.\scripts\release.ps1 -Version "X.Y.Z"GitHub Actions automatically:
- Builds on push to
main - Creates release on tag push (
v*) - Generates changelog from commits
- Uploads installers and portable builds
| Algorithm | Purpose |
|---|---|
| AES-256-GCM | Data encryption |
| Argon2id | Key derivation (OWASP params) |
| HKDF-SHA256 | Sub-key derivation |
| SHA-256 | Hashing |
- Credentials encrypted at rest
- Master password never stored (only derived key)
- Secure memory zeroization
- No network calls except SSH/SFTP
- Local-only operation (no telemetry)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
- Follow Rust standard style (
cargo fmt) - Run clippy before commit (
cargo clippy) - Add tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with ❤️ in Rust