Skip to content

SagarMaheshwary/reqlog-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reqlog UI

A lightweight web UI for reqlog — search and trace logs directly from your browser.

It’s designed for small teams that want quick visibility into logs without SSH access.

reqlog-ui is a lightweight web UI intended for internal use within trusted environments (e.g. behind VPN).

Features

  • Search logs from browser (same power as reqlog CLI)
  • Live log streaming via SSE
  • API key-based authentication
  • Minimal setup (single binary)
  • Built with Go — lightweight and fast
  • Concurrency limits for safe multi-user usage

Installation

Go Install

go install github.com/sagarmaheshwary/reqlog-ui/cmd/reqlog-ui@latest

macOS / Linux

curl -sSL https://raw.githubusercontent.com/sagarmaheshwary/reqlog-ui/master/install.sh | bash
  • Auto-detects OS/arch
  • Installs latest version
  • Installs to /usr/local/bin

Verify:

reqlog-ui --version

Windows

Download from: https://github.com/sagarmaheshwary/reqlog-ui/releases

Then:

  • unzip
  • add to PATH

Verify:

reqlog-ui --version

Usage

1. Start the server

HTTP_AUTH_API_KEY=your-secret-key \
REQLOG_BINARY_PATH=/usr/local/bin/reqlog \
reqlog-ui

Generate a secure API key using:

openssl rand -hex 32

2. Open in browser

http://localhost:4000

3. Authenticate

  • Enter your API key
  • Start searching logs

How it works

Browser → reqlog-ui → reqlog CLI → log files/containers
  • reqlog-ui does not process logs itself
  • all filtering/searching is handled by reqlog
  • UI simply provides a browser interface

Configuration

Variable Description Default
HTTP_AUTH_API_KEY API key required to access the UI required
HTTP_SERVER_URL Address the server listens on localhost:4000
REQLOG_BINARY_PATH Path to reqlog binary reqlog
REQLOG_EXECUTION_TIMEOUT Max time allowed for log search execution 15m
HTTP_STREAM_TOKEN_EXPIRY Expiry for SSE stream tokens 30s
REQLOG_MAX_LINES Max number of log lines returned per search 5000
REQLOG_SEARCH_CONCURRENCY Max concurrent search requests 5
REQLOG_STREAM_CONCURRENCY Max concurrent live stream connections 5
ENV_FILE .env path .env
DISABLE_PRETTY_LOGS disable pretty logs and output raw JSON 0

See .env.example for all available environment variables.

Concurrency limits help prevent resource exhaustion when multiple users are searching or streaming logs simultaneously.
When limits are exceeded, search requests return HTTP 429 and stream requests emit an SSE error event.

Security Notes

  • API key is required for all operations
  • API key is stored in browser SessionStorage after login (session-only, not persistent storage)
  • SSE uses short-lived tokens for streaming due to token being passed in the querystring
  • Input validation is applied before executing CLI commands

⚠️ Intended for internal use within trusted environments (e.g. behind VPN). This tool does not provide enterprise-grade authentication, authorization, or audit capabilities. Do not expose it publicly without additional protections (e.g. reverse proxy auth, HTTPS, IP restrictions).

Version Compatibility

reqlog-ui reqlog
v0.2.0 v0.2.2

Ensure compatible versions for correct behavior.

Contributing

Contributions, issues, and suggestions are welcome.

License

MIT License

About

A lightweight web UI for reqlog — search and trace logs directly from your browser.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors