Skip to content

GoblinRules/SilentWitness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SilentWitness

License: Non-Commercial Platform: Windows Built with: Rust

A Windows screen-recording and keystroke-logging suite for consensual monitoring (self-auditing, documented testing, supervised devices).

v0.2 rewrite — Rust, single self-contained .exe. The previous Python 3.12 + portable-Python + PyInstaller stack has been replaced with a native Rust application. The legacy Python code is preserved under legacy/ for reference; all new work lives in rust/.


Quick start

  1. Download silentwitness.exe from the Releases page, or build it yourself (see below).
  2. Place ffmpeg.exe and ffprobe.exe on your PATH, or drop them at ffmpeg\bin\ffmpeg.exe next to silentwitness.exe.
  3. Run it:
    .\silentwitness.exe            # tray + recorder
    .\silentwitness.exe monitor    # open the recordings/status window
    .\silentwitness.exe config     # graphical config editor
    .\silentwitness.exe doctor     # verify install

The first run writes a default config.toml to %LOCALAPPDATA%\SilentWitness\config.toml — edit it via silentwitness config or by hand.

Features

  • Single self-contained .exe — no Python, no installer, no virtualenv.
  • Always-visible tray icon that changes colour while recording.
  • Modern egui GUI — DPI-aware status monitor with a live recordings list, and a schema-validated config editor.
  • Automatic start / stop based on GetLastInputInfo idle time.
  • Optional keystroke logging alongside video (Ctrl+V paste content is captured; printable/control keys are serialised with timestamps).
  • Daily-rotated structured logs via tracing.
  • Start Menu shortcut + HKCU\Run autostart installer (silentwitness install --autostart).

Screenshots

Legacy UI screenshots (still representative — same layout, new widgets):

  • Monitor status
  • Config recording tab
  • Recordings list

Build from source

Requires Rust 1.78+ and the MSVC toolchain on Windows.

cd rust
cargo build --release
# or, for a packaged release including LICENSE and README:
.\build.ps1 -Zip

The resulting rust\target\release\silentwitness.exe is fully self-contained (minus the FFmpeg sidecar). CI builds are produced by .github/workflows/release.yml on every tag starting with v.

Configuration

See rust/README.md for the full TOML schema. Anything you could set in the old config.ini has an equivalent key.

Ethics & legal

This tool is not stealth software and must not be used as such. Before deploying:

  • Only install on devices you own or administer.
  • Notify every user whose keystrokes or screen will be recorded.
  • Comply with local wiretap / privacy / workplace monitoring law.
  • Store recordings on encrypted volumes.

Contributions that add anti-detection, process-hiding, or silent-install features will be rejected.

License

Non-commercial use only — see LICENSE.md.

Legacy Python version

The original Python suite (portable Python 3.12 + pyinstaller + PowerShell setup scripts) lives in legacy/. It is no longer maintained but remains runnable for anyone mid-migration.

About

This is a Windows-based screen recording and keylogging suite that combines FFmpeg for video capture with Python scripts for automation and monitoring

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages