sshmitm.plugins.ssh.terminallogs module

class sshmitm.plugins.ssh.terminallogs.AsciinemLogFormat(logdir, prefix='session', width=80, height=24)

Bases: TerminalLogFormat

Asciinema v2 format recording (single JSONL .cast file).

Playback: asciinema play session_<ts>.cast

Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

  • width (int, default: 80)

  • height (int, default: 24)

__init__(logdir, prefix='session', width=80, height=24)
Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

  • width (int, default: 80)

  • height (int, default: 24)

close()
Return type:

None

stderr(buffer)
Parameters:

buffer (bytes)

Return type:

None

stdin(buffer)
Parameters:

buffer (bytes)

Return type:

None

stdout(buffer)
Parameters:

buffer (bytes)

Return type:

None

class sshmitm.plugins.ssh.terminallogs.ScriptLogFormat(logdir, prefix='session')

Bases: TerminalLogFormat

Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

__init__(logdir, prefix='session')
Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

close()
Return type:

None

stderr(buffer)
Parameters:

buffer (bytes)

Return type:

None

stdin(buffer)
Parameters:

buffer (bytes)

Return type:

None

stdout(buffer)
Parameters:

buffer (bytes)

Return type:

None

write_timingfile(text)
Parameters:

text (bytes)

Return type:

None

class sshmitm.plugins.ssh.terminallogs.TerminalLogFormat(logdir, prefix='session')

Bases: ABC

Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

__init__(logdir, prefix='session')
Parameters:
  • logdir (str | PathLike[str])

  • prefix (str, default: 'session')

abstractmethod close()
Return type:

None

get_subdirectory()
Return type:

Path

abstractmethod stderr(buffer)
Parameters:

buffer (bytes)

Return type:

None

abstractmethod stdin(buffer)
Parameters:

buffer (bytes)

Return type:

None

abstractmethod stdout(buffer)
Parameters:

buffer (bytes)

Return type:

None