How fuatatik/macos-ssh-manager works
SSH Manager is a native macOS menu-bar app for managing saved SSH connections and opening them in a terminal. The principal workflow is: launch the app, choose or create a connection from the menu, save connection details, then launch an SSH session using password or key authentication. Connection editing and deletion are additional management stages. The excerpts show menu-bar setup, terminal-launch fallbacks, forms, and connection-list UI; storage details and some action wiring are documented in the README but not fully visible in the sampled source.
Main entry points: SSHManager.swift App delegate · main.swift App entry
Components 15
App lifecycle
- App entry
main.swift - App delegate
SSHManager.swift
Connection management
- Menu bar
SSHManager.swift - Connection form
SSHManager.swift - Key file picker
SSHManager.swift - Connection manager
SSHManager.swift - Connection data
SSHManager.swift
Connection storage
- Connections JSON
SSH launch
- Terminal launcher
SSHManager.swift - SSH command
SSHManager.swift
Other components
- User
- macOS Terminal
- iTerm2
- SSH server
- sshpass
Connections 18
- User → App entry: launches
- App entry → App delegate: sets delegate
- User → Menu bar: chooses action
- App delegate → Menu bar: creates
- Menu bar → App delegate: dispatches actions
- App delegate → Connection form: opens
- App delegate → Connection manager: opens
- Connection form → Key file picker: selects key
- Connection form → Connection data: collects details
- Connection manager → Connection data: displays and edits
- App delegate → Connections JSON: loads and saves
- Connections JSON → App delegate: returns saved data
- App delegate → Terminal launcher: starts connection
- Terminal launcher → SSH command: prepares
- Terminal launcher → macOS Terminal: opens session
- Terminal launcher → iTerm2: tries fallback
- SSH command → SSH server: connects to
- Terminal launcher → sshpass: uses for passwords