Versions in this module Expand all Collapse all v1 v1.0.3 Sep 5, 2025 v1.0.2 Sep 5, 2025 v1.0.1 Aug 29, 2025 v1.0.0 Aug 29, 2025 Changes in this version + func CreateSSHMenuActions(selectedDevices []string, parent fyne.Window, app fyne.App) []*fyne.MenuItem + func OpenMultipleTabbedTerminals(connections []*SSHConnection) error + func OpenMultipleTerminals(connections []*SSHConnection, parentWindow fyne.Window) error + func ProbeSSHAuthMethods(host string, port int) ([]string, error) + func ShowCredentialsDialog(parent fyne.Window, callback func(SSHCredentials, bool)) + func TestConnection(host string, port int, timeout time.Duration) error + type ConnectionConfig struct + Host string + Password string + Port int + PrivateKey []byte + Timeout time.Duration + Username string + func NewConnectionConfig(host string, port int, username, password string) ConnectionConfig + func NewConnectionConfigForMikroTik(host, username, password string) ConnectionConfig + func NewConnectionConfigWithKey(host, username string, privateKey []byte) ConnectionConfig + type ConnectionProgress struct + Connected int + Failed int + Progress *widget.ProgressBar + Status *widget.Label + Total int + func ShowConnectionProgress(parent fyne.Window, deviceCount int) *ConnectionProgress + func (cp *ConnectionProgress) UpdateProgress(connected, failed int, currentHost string) + type ConnectionResult struct + Connection *SSHConnection + Error error + Host string + type SSHConnection struct + Client *ssh.Client + Config ConnectionConfig + Connected bool + Error error + Session *ssh.Session + func ConnectToMultipleDevices(devices []string, credentials SSHCredentials, parent fyne.Window) ([]*SSHConnection, error) + func NewSSHConnection(config ConnectionConfig) *SSHConnection + func (conn *SSHConnection) Close() error + func (conn *SSHConnection) Connect() error + func (conn *SSHConnection) ConnectWithAllMethods() error + func (conn *SSHConnection) CreateSession() (*ssh.Session, error) + func (conn *SSHConnection) IsConnected() bool + func (conn *SSHConnection) RunCommand(command string) (string, error) + type SSHCredentials struct + Password string + PrivateKey []byte + UseKey bool + Username string + type SSHManager struct + func NewSSHManager() *SSHManager + func (manager *SSHManager) CloseAll() error + func (manager *SSHManager) ConnectMultiple(configs []ConnectionConfig) <-chan ConnectionResult + func (manager *SSHManager) GetConnection(host string) (*SSHConnection, bool) + func (manager *SSHManager) ListConnections() []string + type SSHMultiTerminal struct + func (smt *SSHMultiTerminal) Close() error + func (smt *SSHMultiTerminal) CreateStandaloneWindow(title string) (fyne.Window, fyne.App) + func (smt *SSHMultiTerminal) GetConnectedHosts() []string + func (smt *SSHMultiTerminal) GetSessionCount() int + func (smt *SSHMultiTerminal) GetWidget() *terminal.Terminal + type SSHMultiTerminalState struct + type TerminalManager struct + func NewTerminalManager() *TerminalManager + func (tm *TerminalManager) CloseAllTerminals() error + func (tm *TerminalManager) CloseTerminal(host string) error + func (tm *TerminalManager) CreateMultiTerminalWidget(connections []*SSHConnection) (*terminal.Terminal, *SSHMultiTerminal, error) + func (tm *TerminalManager) CreateMultiTerminalWindow(connections []*SSHConnection, title string) error + func (tm *TerminalManager) CreateTerminalWidget(conn *SSHConnection, title string) (*TerminalWidget, error) + func (tm *TerminalManager) GetTerminal(host string) (*TerminalWidget, bool) + func (tm *TerminalManager) ListTerminals() []string + func (tm *TerminalManager) MultiTerminalWindow(connections []*SSHConnection, title string) error + func (tm *TerminalManager) NewSSHMultiTerminal(connections []*SSHConnection) (*SSHMultiTerminal, error) + type TerminalWidget struct + App fyne.App + Connection *SSHConnection + Session *ssh.Session + StdinPipe io.WriteCloser + StdoutPipe io.Reader + Terminal *terminal.Terminal + Window fyne.Window + func (tw *TerminalWidget) Close() error + func (tw *TerminalWidget) ShowTerminal() + func (tw *TerminalWidget) ShowTerminalWindow()