github calpa/urusai v1.1.0

8 hours ago

What's New

Features

  • Concurrent crawling — Multiply noise output with configurable concurrent workers (default: 3). Shared state protected by mutex. ([#10])
  • Graceful shutdown — SIGINT/SIGTERM propagates through all goroutines via context.Context. In-flight HTTP requests are cancelled cleanly. ([#8])
  • SSRF protection — Blocks requests to loopback, RFC1918, link-local, and IPv6 ULA addresses. Redirects limited to 5 hops. ([#13])

Bug Fixes

  • Recursive crawl → iterative loop — Eliminates stack overflow risk from unbounded recursion in browseFromLinks with max_depth: 25. ([#7])
  • Config validation — Invalid config (empty root URLs, invalid sleep range) now fails fast with descriptive error messages. ([#9])
  • Timeout flag override — CLI --timeout no longer silently overrides config when unset. ([#9])
  • Response body truncation — Single Read(buf) replaced with io.ReadAll(io.LimitReader) to capture full response up to 1 MB. ([#12])
  • Regex recompilationregexp.MustCompile moved to package-level vars — compiled once, not on every call. ([#12])

Miscellaneous

  • Code quality sweep — Migrated to math/rand/v2, blacklist O(n) → O(1) via map, updated user agents to 2025-era, added --version flag with ldflags injection. ([#11])
  • Module import paths — Fixed to use github.com/calpa/urusai consistently.

Install

# macOS (Apple Silicon)
curl -sL https://github.com/calpa/urusai/releases/download/v1.1.0/urusai-macos-arm64.tar.gz | tar xz

# macOS (Intel)
curl -sL https://github.com/calpa/urusai/releases/download/v1.1.0/urusai-macos-amd64.tar.gz | tar xz

# Linux
curl -sL https://github.com/calpa/urusai/releases/download/v1.1.0/urusai-linux-amd64.tar.gz | tar xz

Full Changelog: v1.0.3...v1.1.0

Don't miss a new urusai release

NewReleases is sending notifications on new releases.