Termini

Technical specs

Implementation details, authentication matrix, channel capabilities and limits of each session protocol in the Termini desktop app. Every item matches the current implementation; unavailable capabilities are marked as such, with no forward-looking promises.

SSH

The client ships its own SSH stack and does not depend on the system ssh binary; connection, authentication and forwarding all happen in-app and share one device identity with the key store, the session workspace and the ops assistant.

Connection

  • Port 22 by default; connection timeout configurable per device.
  • Protocol-level keepalive at the interval configured per device, sustaining long sessions across NAT and firewalls.
  • Session reuse: multiple panes (terminal / SFTP) for the same device share the underlying connection, avoiding repeated handshakes and logins.

Authentication matrix

  • Public key: OpenSSH-format private keys with passphrase and certificate support; keys are stored in the local key store. PuTTY PPK must be converted to OpenSSH first.
  • Keyboard-interactive: answers the server's interactive challenge flow.
  • Password: static password authentication.
  • SSH agent: uses identities loaded in the system agent; Pageant is also supported on Windows.
  • Methods are tried in the order public key → keyboard-interactive → password and stop at the first success.
  • Limit: GSSAPI authentication is not available yet.

Terminal

  • Terminal type (TERM) customisable per device; size follows the pane in real time.
  • Font and theme adjustable per pane; find does not interrupt the session.

Port forwarding

  • Local forwarding: securely connects a local port to a service inside the target network (-L semantics).
  • Remote forwarding: brings a remote port back to this side for reverse troubleshooting (-R semantics).
  • Dynamic forwarding: opens a local SOCKS5 proxy with traffic egressing through the target host (-D semantics).
  • Forwarding rules are managed independently of terminal sessions, can be started and stopped at any time, and show their state (idle / running / error).

Telnet

An in-house Telnet stack aimed at network devices and legacy systems: full option negotiation plus session adaptation so scripts and the assistant can execute reliably.

Option negotiation

  • BINARY: binary transmission mode.
  • ECHO: echo control (accepts server-side echo).
  • SGA: suppress Go-Ahead for full-duplex interaction.
  • TTYPE: terminal type reporting with a configurable candidate list.
  • NAWS: window size negotiation; pane resizes sync to the device in real time.
  • EOR: end-of-record marker.
  • Negotiation completes during connection setup without waiting for the first data packet.

Session adaptation

  • Login prompt detection: matches username / password prompts automatically for reliable logins by scripts and the assistant.
  • Paging: detects paged device output and pages automatically so long output is not cut off.
  • Configurable line ending (NVT EOL) and command echo verification to cope with vendor differences.

Keepalive and limits

  • Two-layer keepalive: TCP keepalive plus protocol-level NOP heartbeats.
  • Limit: charset negotiation (RFC 2066) is not available yet.

RDP

An in-house RDP stack with a video-grade decode and render pipeline; graphical desktops are organised in the same workspace as terminal sessions.

Security layer and authentication

  • Security layer: auto-negotiate / TLS / NLA.
  • NLA: network-level authentication over CredSSP with Kerberos support.
  • RDSTLS: RDSTLS authentication in redirection scenarios.
  • Azure AD: for AAD-joined hosts, signing in through browser OAuth.
  • Domain account sign-in; self-signed certificates can be trusted explicitly.

Display and input

  • Fixed resolution or follow the window; 16 / 24 / 32-bit colour depth.
  • Frame codec negotiated with the server: H.264 / AVC444 / WebP / PNG / JPEG / RAW.
  • Configurable keyboard layout; input goes over both scancode and Unicode channels with modifier state synced in real time.
  • Full mapping of mouse movement, buttons and wheel; the remote cursor shape follows the render.
  • Configurable performance flags to disable wallpaper, smoothing and other remote effects for fluidity.
  • Full screen: Ctrl+Alt+Pause leaves full screen, Ctrl+Alt+Home shows the connection bar.

Channels

  • Clipboard (CLIPRDR): two-way text, files, HTML and images.
  • Drive redirection (RDPDR): maps local folders into the remote Explorer.
  • Audio (RDPSND): remote audio played back locally.

Session

  • Optional console (admin) session; heartbeat keepalive configured per device.

SFTP

Built on the SSH subsystem, sharing authentication, host trust and the underlying connection with terminal sessions; local and remote are organised as a dual-pane view.

File operations

  • Browse directories, upload and download, new folder / file, rename, delete.
  • Permission changes (chmod), hidden files, copy path.

Transfer management

  • Same-name conflict detection: you confirm skip or overwrite; nothing is overwritten silently.
  • Progress stays in the current pane; tasks can be cancelled at any time.
  • Limit: resumable transfers are not available yet (the resume offset is reserved underneath).

Local shell

  • Local PTY sessions: ConPTY on Windows, the system PTY on macOS / Linux.
  • Windows auto-discovers available terminals: PowerShell, CMD, pwsh, WSL, Git Bash.
  • Terminal settings, find and AI command suggestions share the same experience as remote sessions.

Trust and keepalive

  • Host fingerprints: must be confirmed on first connection; a changed fingerprint raises an alert with reject, trust once or trust permanently.
  • Credential boundary: device passwords, private keys and passphrases stay in local data and are never uploaded with your website account.
  • Keepalive per protocol: SSH / RDP use protocol-level heartbeats, Telnet uses TCP keepalive plus NOP.

System requirements

Desktop

  • WindowsWindows 10 / 11
  • macOSApple Silicon and Intel
  • LinuxMainstream desktop distributions

Session protocols

  • RemoteSSH · Telnet · RDP · SFTP
  • LocalLocal shell (PTY / ConPTY)