Feature Request: SSH Typescript Recording Support
Summary
Please expose guacd's typescript-path, typescript-name, create-typescript-path, and recording-include-keys parameters for SSH connections, so that rustguac can pass them through to guacd to enable text-based session recording (typescript) and keystroke logging.
Background
guacd natively supports two types of SSH session recording:
- Graphical recording (Guacamole protocol dump) — already supported and working well in rustguac via the built-in playback UI.
- Typescript recording — writes the full raw terminal output to a plain text file (compatible with the standard Unix
script command and replayable with scriptreplay). Keystroke logging can additionally be enabled via recording-include-keys on graphical recordings, making them parseable by guaclog.
Currently rustguac does not forward these parameters to guacd, so neither typescript recording nor keystroke logging in graphical recordings is available.
Use Case
For audit and compliance purposes (e.g. accessing network switches or other infrastructure devices), it is often required to have a human-readable, searchable text log of what occurred during a session — not just a graphical recording. A typescript produces exactly this: a plain text file of the full terminal output that can be stored, searched, and reviewed without any special tooling.
Requested Parameters
| guacd parameter |
Description |
typescript-path |
Directory to write typescript files to |
typescript-name |
Base filename for the typescript (supports variable substitution) |
create-typescript-path |
Automatically create the directory if it does not exist |
recording-include-keys |
Include keystroke events in graphical recordings (enables guaclog output) |
Suggested Implementation
A global default in config.toml (e.g. under a [recording] section), applied to all SSH sessions:
[recording]
typescript_path = "/opt/rustguac/data/typescripts"
typescript_name = "${GUAC_USERNAME}-${GUAC_DATE}-${GUAC_TIME}"
create_typescript_path = true
include_keys = true
References
Feature Request: SSH Typescript Recording Support
Summary
Please expose guacd's
typescript-path,typescript-name,create-typescript-path, andrecording-include-keysparameters for SSH connections, so that rustguac can pass them through to guacd to enable text-based session recording (typescript) and keystroke logging.Background
guacd natively supports two types of SSH session recording:
scriptcommand and replayable withscriptreplay). Keystroke logging can additionally be enabled viarecording-include-keyson graphical recordings, making them parseable byguaclog.Currently rustguac does not forward these parameters to guacd, so neither typescript recording nor keystroke logging in graphical recordings is available.
Use Case
For audit and compliance purposes (e.g. accessing network switches or other infrastructure devices), it is often required to have a human-readable, searchable text log of what occurred during a session — not just a graphical recording. A typescript produces exactly this: a plain text file of the full terminal output that can be stored, searched, and reviewed without any special tooling.
Requested Parameters
typescript-pathtypescript-namecreate-typescript-pathrecording-include-keysguaclogoutput)Suggested Implementation
A global default in
config.toml(e.g. under a[recording]section), applied to all SSH sessions:References