Repository navigation
0.3.0
Adds a local web UI, documentation screenshots and a banner, and publishes the image to Docker Hub as well as GHCR.
Web UI: logscrub serve opens a page at http://127.0.0.1:8080. Paste or drop a log, see every match highlighted by detector, toggle detectors, choose fixed markers or stable tags, and download the cleaned text. It uses the same engine as the CLI, --config and --key-file work as in the CLI, and nothing is stored or logged.
Safe by construction: the server listens on loopback only unless you pass --allow-remote; it checks the Host header (DNS rebinding) and the Origin / Fetch-Metadata / Content-Type of every request (cross-site POSTs); it limits body size (10 MiB) and concurrency; it sends a strict Content-Security-Policy with no CDN and no inline script or style; and log text is inserted with textContent, never as HTML. Verified in a real browser: an HTML/script payload in a log line stays inert, and the page makes no request outside its own origin.
Engine: matches are now reported as byte spans (Observe); applying them to the input reproduces the output exactly, which the tests and the fuzz target check.
Images: ghcr.io/hbenali/logscrub and docker.io/hbenali/logscrub (identical digest, linux/amd64 and arm64, distroless, non-root).
Docs: README and wiki now have screenshots (light and dark) and a banner; the wiki has Configuration and Web UI pages.
Pattern matching cannot find secrets with no recognisable shape; review the output before sharing it.