A modern, cross-platform remote connection manager with git-friendly YAML configs and 1Password integration.
The Problem: mRemoteNG uses XML configs that are painful to diff, merge, and share with teams. Passwords are awkwardly encrypted per-machine.
The Solution: MremoteGO uses clean YAML configs that work beautifully with git, plus optional 1Password integration for secure team password sharing.
- 🎨 Modern GUI - Clean interface with connection tree, search, and quick actions
- 🔐 Password Encryption - AES-256-GCM encryption at rest with master password
- 🔑 1Password Integration - Store passwords securely using
op://references - 📝 Git-Friendly - YAML configs are easy to diff, merge, and review
- 🖥️ Cross-Platform - Windows, Linux, macOS (AMD64 & ARM64)
- ⚡ Fast - Native GUI with instant connections
- 🚀 Multiple Protocols - SSH, RDP, VNC, HTTP/HTTPS, Telnet
- 📁 Organized - Folders and search filtering
- 🔒 Auto-Login - Password injection for SSH connections
- 💻 CLI & GUI - Run without arguments for GUI, with arguments for CLI mode
Download the latest release for your platform from the Releases page.
# Clone the repository
git clone https://github.com/jaydenthorup/mremotego.git
cd mremotego
# Build (all platforms)
go build -o mremotego ./cmd/mremotego-gui
# Or use platform-specific build scripts
# Windows: .\build-gui.ps1
# Linux/Mac: ./build-gui.sh- Launch
mremotego(ormremotego.exeon Windows) - Optionally set a master password for encryption
- Create your first connection or import from mRemoteNG
That's it! 🎉
Simply run the executable without arguments:
./mremotego # Linux/Mac
.\mremotego.exe # WindowsCreating Connections:
- Click [+] or press
Ctrl+N - Fill in connection details (name, protocol, host, credentials)
- Optionally push password to 1Password
- Click Save
Connecting:
- Double-click a connection in the tree
- Right-click → Connect
- Select and press Enter
Searching:
- Use the search box at the top
- Filter by connection name, host, or protocol
- Results update in real-time
Run with arguments for command-line operations:
# List all connections
mremotego list
# Connect to a specific host
mremotego connect "Production Server"
# Add a new connection
mremotego add --name "New Server" --protocol ssh --host 192.168.1.100
# Export connections
mremotego export --output connections-backup.yaml
# Edit a connection
mremotego edit "Production Server" --host new.example.com
# Delete a connection
mremotego delete "Old Server"version: "1.0"
connections:
- name: Production
type: folder
children:
- name: Web Server
type: connection
protocol: ssh
host: web.prod.example.com
port: 22
username: admin
password: op://DevOps/web-server/password # 1Password reference
description: "Primary web server"
tags:
- production
- web
- name: Database Server
type: connection
protocol: ssh
host: db.prod.example.com
port: 22
username: dbadmin
password: "enc:base64..." # AES-256-GCM encrypted
- name: Development
type: folder
children:
- name: Dev Desktop
type: connection
protocol: rdp
host: dev.example.com
port: 3389
username: developerMremoteGO supports three password storage methods:
-
1Password Integration (Recommended for teams):
- Store passwords securely in 1Password vaults
- Use
op://Vault/Item/fieldreferences in your config - Safe to commit configs to git
- Supports biometric unlock
- See 1Password Setup Guide
-
Encrypted (Recommended for local use):
- AES-256-GCM encryption with PBKDF2 key derivation (100,000 iterations)
- Master password required on startup
- Passwords stored as
enc:base64(salt+nonce+ciphertext) - See Encryption Guide
-
Plain Text (Not recommended):
- For testing or when other methods aren't suitable
- Should not be committed to git
- Use
.gitignoreto excludeconnections.yamlandconfig.yaml
- ✅ Use 1Password for team environments
- ✅ Use encryption for personal configs
- ✅ Add
config.yamlandconnections.yamlto.gitignore - ✅ Use separate configs for different environments
- ✅ Regularly rotate credentials
⚠️ Never commit plain-text passwords to git
- Quick Start Guide - Get started in 5 minutes
- GUI Guide - Complete GUI reference
- Encryption Guide - Password encryption details
- 1Password Setup - Secure password management
- Password Management - Security best practices
- Go 1.23 or later
- For Linux:
gcc,libgl1-mesa-dev,xorg-dev - For GUI builds: Fyne dependencies
# Build GUI + CLI (single executable)
go build -o mremotego ./cmd/mremotego-gui
# Build without console window (Windows only)
go build -ldflags "-H windowsgui" -o mremotego.exe ./cmd/mremotego-gui
# Run tests
go test ./...
# Build for all platforms
./build-all.shmremotego/
├── cmd/
│ ├── mremotego-gui/ # Main application (GUI + CLI)
│ └── encrypt-passwords/ # Password encryption tool
├── internal/
│ ├── config/ # Configuration management
│ ├── crypto/ # Encryption/decryption
│ ├── gui/ # Fyne GUI components
│ ├── launcher/ # Protocol launchers (SSH, RDP, etc.)
│ └── secrets/ # 1Password integration
├── pkg/
│ └── models/ # Data models
└── docs/ # Documentation
Contributions are welcome! Here's how you can help:
- Report Bugs: Open an issue with detailed reproduction steps
- Suggest Features: Describe your use case and proposed solution
- Submit PRs: Fork, create a feature branch, and submit a pull request
- Improve Docs: Help make documentation clearer and more comprehensive
# Fork and clone
git clone https://github.com/yourusername/mremotego.git
cd mremotego
# Create a feature branch
git checkout -b feature/amazing-feature
# Make your changes
# ... code code code ...
# Test your changes
go test ./...
go build -o mremotego ./cmd/mremotego-gui
# Commit and push
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
# Open a Pull Request on GitHubThis project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by mRemoteNG
- Built with Fyne GUI toolkit
- Uses Cobra for CLI
- 1Password integration via 1Password CLI
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Core connection management (SSH, RDP, VNC, HTTP, Telnet)
- GUI with tree view and search
- 1Password integration with special character support
- AES-256-GCM password encryption
- Cross-platform builds (Windows, Linux, macOS ARM64)
- CLI mode for automation
- Nested folder support with unlimited depth
- Import from mRemoteNG XML
- GitHub Actions CI/CD with automated releases
- Improved settings panel with more options
- Bitwarden CLI integration (
bw://references) - LastPass CLI integration (
lpass://references) - HashiCorp Vault integration
- Pass (password-store) integration for Linux
- Connection groups with credential inheritance
- SSH key management and agent forwarding
- Bulk connection operations (edit multiple, duplicate, move)
- Connection history and favorites
- Quick connect with recent connections
- Connection testing (ping, port check)
- Connection templates for quick setup
- Multi-tab connections within GUI
- Dark/light theme toggle
- Drag-and-drop folder/connection reorganization
- Customizable keyboard shortcuts
- Connection icons and colors
- Grid/list view toggle
- Advanced search with filters (protocol, tags, etc.)
- Session recording/logging for audit trails
- Connection activity timestamps
- Failed login attempt tracking
- Security audit reports
- Two-factor authentication for master password
- Plugin system for custom protocols
- Scripting support (pre/post connection commands)
- Port forwarding configuration
- Proxy/jump host support
- VPN integration
- Connection macros/automation
- Windows: Hide console window on launch
- Linux: System tray integration
- macOS: Menu bar app mode
- Cloud sync option (encrypted)
Want to contribute? Pick an item from the roadmap and open an issue or PR!
Made with ❤️ by Jayden Thorup