Skip to main content

Kali/Linux auto-logging of all terminal sessions using script(1), with optional tmux, logrotate, and rclone sync.

Project description

kautolog

PyPI version

Auto-log everything you see in every terminal tab on Kali/Linux using script(1). Captures prompt, commands, output, ANSI colors, and ncurses apps with optional timing/replay, tmux per-pane logs, logrotate, and rclone cloud sync.

Install

Recommended:

pipx install kautolog
kautolog install

This will:

  • Hook into both ~/.bashrc and ~/.zshrc for Zsh and Bash auto-logging.
  • Install kautolog-replay script into ~/.local/bin.

kautolog install Options

Flag Default Description
--logdir PATH ~/terminal-logs Custom log output directory
--with-tmux False Add autologging to ~/.tmux.conf
--with-logrotate / --no-logrotate True Install user-level logrotate config
--with-sync remote:path (none) Enable rclone sync (e.g. gdrive:kautolog-logs)
--interval N 10 Sync interval in minutes for systemd timer

Replaying logs

To replay a session with timing:

kautolog replay ~/terminal-logs/2025/08/10/kali-33608-203123

To instantly dump the log without delay:

kautolog replay -i ~/terminal-logs/2025/08/10/kali-33608-203123

kautolog replay Options

Flag / Arg Description Notes
<log_base> Path to .log file or base name (no extension) Required
-i Instant dump (no timing) Just prints the .log file
-d <num> Speed divisor (multiplier) -d 2 = 2× faster, -d 10 = 10× faster, -d 0.5 = 2× slower
-m <secs>, --maxdelay <secs> Maximum delay between lines Clamps long pauses (e.g. -m 0.1)
--target <secs> Normalize total replay to target duration Auto-computes divisor; also sets --maxdelay 0.12 if not provided

Log Format

Logs are saved to:

~/terminal-logs/YYYY/MM/DD/hostname-PID-TIMESTAMP.log
~/terminal-logs/YYYY/MM/DD/hostname-PID-TIMESTAMP.timing

If --with-tmux is used, each tmux pane logs independently.

Enabling Automatic Log Cleanup (Optional)

By default, kautolog install places a logrotate config at:

~/.config/logrotate.d/terminal-logs

Most systems do not run logrotate from this location.
To enable automatic log cleanup, copy it to the system logrotate directory:

sudo cp ~/.config/logrotate.d/terminal-logs /etc/logrotate.d/terminal-logs

This will:

  • Rotate logs daily
  • Keep 14 days of logs
  • Compress old logs
  • Prevent unlimited disk usage

Uninstall

kautolog uninstall

Removes all shell hooks and scripts cleanly.

If you installed using pipx:

pipx uninstall kautolog

License

The scripts and documentation in this project are released under the MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kautolog-1.1.14.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kautolog-1.1.14-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file kautolog-1.1.14.tar.gz.

File metadata

  • Download URL: kautolog-1.1.14.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for kautolog-1.1.14.tar.gz
Algorithm Hash digest
SHA256 3094dc46b448070d58a05b5b00bf791d8285654ba420b1cdc2469676ee8f459e
MD5 bff31017d8eb879412b37c9cd73ed830
BLAKE2b-256 06f32b339beb85a3e5da3bceb5aa7ff4a08408329a0cf6ee2098daf156874983

See more details on using hashes here.

Provenance

The following attestation bundles were made for kautolog-1.1.14.tar.gz:

Publisher: publish.yml on marksowell/kautolog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kautolog-1.1.14-py3-none-any.whl.

File metadata

  • Download URL: kautolog-1.1.14-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for kautolog-1.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff89791bf26d43527efed621411f4b96154a2e8d633b8a660a84978a5b4ec54
MD5 3cef7e787194dcf6fdb8fec041213e20
BLAKE2b-256 a8c13de4ed4197d004c201c4625ba98656ef650fda3362419a6606653ecfaf51

See more details on using hashes here.

Provenance

The following attestation bundles were made for kautolog-1.1.14-py3-none-any.whl:

Publisher: publish.yml on marksowell/kautolog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page