finds.dev

tobi/clarity

Web interface for the grep and tail -f unix tools. Useful for real-time log analysis. Remotely related to splunk

View on GitHub

★ 802Rubyupdated Jul 2018

// the take

Clarity is a small Ruby web UI from 2009 that wraps grep and tail -f so you can search and live-tail server logs from a browser instead of SSHing in. It's built for ops/support staff who need ad-hoc log search across a server farm without shell access, not for teams wanting a real log aggregation pipeline.

Uses EventMachine so tailing and grep output stream to the browser in real time instead of polling, and closing the browser tab kills the underlying grep/tail process rather than leaking it. The command builders (grep_command_builder.rb, tail_command_builder.rb) are isolated and have dedicated tests, so the shell-invocation logic is at least unit-tested in isolation. Zero-config install for a simple use case: point it at a log directory and get search across all files matching a glob.

The README states outright that it passes URL parameters straight into a shell command, which is arbitrary remote code execution if this is reachable from anything but localhost — the only mitigation offered is HTTP basic auth, which doesn't stop a MITM or a leaked credential. There's no TLS, no log rotation awareness beyond a file mask, and no aggregation across hosts — it's one process per server, so 'real-time log analysis' means opening N browser tabs for N machines. Last commit is 2018 against EventMachine and old gem dependencies (eventmachine_httpserver), so it likely needs patching to even install on a current Ruby, and there's been no security hardening in the 8+ years since the shell-injection warning was written. This is a tool to run on a trusted internal network behind a VPN, full stop — not something to expose even with the built-in auth.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
802
Forks
62
Language
Ruby
Last commit
29 Jul 2018

// nearby

If clarity isn't quite it.

All repos →