RemminaMac — SSH / RDP Client for macOS

RemminaMac Icon

Remmina-inspired connection manager for macOS, native Swift + SwiftUI.

Platform Language UI

Remmina-style layout: profile list with search + groups on the left, connection tabs on the right, status bar at the bottom.

Contents

Features

  • GUI in Remmina layout (Views/ContentView.swift):
    • Sidebar: group picker, search, profile list, double-click = connect
    • Detail: tabbed open sessions, connection details, status bar
    • Toolbar: New / Edit / Duplicate / Connect / Quick-Connect / SSH keys / Info
  • Load / save / duplicate / delete profiles
    • JSON in ~/Library/Application Support/RemminaMac/profiles.json
    • Validation + trimming in the editor, copyable error reports
  • Protocols: SSH, SFTP, RDP, VNC (Models/ConnectionProfile.swift)
  • Full interactive terminal per tab (SwiftTerm emulator, Dracula themed): cursor addressing, colors, scrollback, Tab completion, arrows, Ctrl+C, full-screen apps (vim/htop). Real PTY + controlling terminal via ctty-run.
  • Host-key fingerprint popup (accept/decline, MITM warning on change), shared ~/.ssh/known_hosts with Terminal.app
  • SSH key management (Views/SSHKeysView.swift): import from ~/.ssh, file picker, ssh-keygen wrapper (ed25519)
  • Passwords/passphrases in macOS Keychain only, never in JSON
  • Auto-login via sshpass (if installed) or interactive prompt
  • TCP pre-check with plain-language diagnostics before connecting
  • RDP via FreeRDP (xfreerdp) or Microsoft Remote Desktop fallback
  • VNC via vnc:// scheme
  • About sheet with contributor + repository link

Layout

+-------------------------------------------------------------+
| Toolbar: [+][Edit][Copy][Key][i] | [▶ Connect][⚡Quick]     |
+------+-------------------------------+--------------------+
| Group    | Tab: Webserver | Office-PC | ... | Detail       |
| Search   +-------------------------------+                  |
| - Webserver  | Full terminal (SwiftTerm)  |                  |
| - Office-PC  | Connection details (cmd)   |                  |
| - Fileserver +-------------------------------+                  |
+------+-------------------------------+--------------------+
| Statusbar: ● Ready ... N profiles · M sessions               |
+-------------------------------------------------------------+

Quick start

cd RemminaMac
swift build
swift run RemminaMac
# In Xcode:
open Package.swift
# Target RemminaMac → My Mac → Run

SSH keys & security

  • Private key paths live in sshkeys.json, passphrases in Keychain only.
  • Service name: RemminaMac, accounts: profile-<UUID>, sshkey-<UUID>.
  • Keychain access: Security/KeychainHelper.swift.
  • No secrets are committed to the repo (see .gitignore).
  • Passwords reach ssh via SSHPASS env (with sshpass) or the interactive terminal prompt — never via command line or logs.

RDP / VNC on macOS

  • Optional: brew install freerdp
  • With FreeRDP: xfreerdp /v:HOST:PORT /u:USER [/size:WxH | /f]
  • Without: rdc:// → Microsoft Remote Desktop (install from App Store)
  • VNC: open vnc://host:port

Profile format

[
  {
    "id": "UUID",
    "name": "Webserver",
    "protocol": "SSH",
    "host": "192.168.1.10",
    "port": 22,
    "username": "admin",
    "group": "Server",
    "colorTag": "blue",
    "resolution": "Automatic",
    "sshKeyID": null,
    "passwordAccount": "profile-UUID",
    "extraArgs": "",
    "lastConnected": null
  }
]

Release binaries

Prebuilt binaries on Git releases (dist/ is built locally, never committed):

./scripts/build-release.sh 0.7.0
./scripts/build-app.sh 0.7.0        # RemminaMac.app for /Applications
./scripts/build-dmg.sh 0.7.0        # DMG with drag-and-drop to Applications
# → dist/RemminaMac-<version>-macos-arm64.zip + .sha256
# → dist/RemminaMac-<version>-macos-arm64.dmg + .sha256
ls dist/

Details: docs/INSTALL.md, docs/RELEASING.md.

Roadmap

  • Embedded full terminal (SwiftTerm) — done in 0.7.0
  • Embedded RDP (FreeRDP bridge) instead of external process
  • Integrated SFTP browser
  • Export/Import buttons in the GUI
  • Tray / favorites / folder badges like Remmina

License

MIT — see LICENSE.

S
Description
Remmina-inspirierter SSH/RDP-Client fuer macOS (SwiftUI)
Readme MIT
1.2 MiB
v0.7.0
Latest
2026-09-22 08:19:26 +00:00
Languages
Swift 92.1%
Shell 6%
C 1.9%