Releases: TMHSDigital/subenum
Releases · TMHSDigital/subenum
v0.5.0 — Interactive TUI
What's new in v0.5.0
Added
- Interactive Terminal UI (-tui flag) — form-based config screen and live-scrolling results view built with Bubble Tea. No CLI arguments required to launch.
- \make tui\ Makefile target for one-command TUI launch.
- \internal/scan\ package — extracted scan engine (\scan.Run) with a typed \Event\ channel, reusable by both the CLI and TUI.
- Session persistence — last-used form values saved to ~/.config/subenum/last.json\ and restored on next launch or after pressing
\ (new scan).
Changed
- CLI scan loop in \main.go\ now delegates to \scan.Run()\ instead of containing the worker pool inline.
- External dependencies added: \github.com/charmbracelet/bubbletea\ and \github.com/charmbracelet/bubbles\ (TUI only; the CLI path retains zero external dependencies).
- TUI form field order: Simulate toggle promoted to field 3 (was field 8); Hit Rate row is hidden when Simulate is OFF.
- TUI now shows a blinking cursor inside the active text input.
- Pressing
\ on the scan results screen returns to the form with last-used values pre-filled.
TUI keyboard reference
| Key | Action |
|---|---|
| \ ab\ / \shift+tab\ / \↑↓\ | Navigate fields |
| \space\ | Toggle Simulate / Force |
| \ctrl+r\ | Start scan |
| \ctrl+c\ | Abort scan / quit form |
| \ | |
| \ | New scan — restores last values |
| \q\ | Quit after scan completes |
v0.4.0
What's Changed
Added
- Wildcard DNS detection with double-probe confirmation; exits by default, continue with
-force - Wordlist deduplication (duplicates removed before scanning, count reported in verbose mode)
-attemptsflag replacing-retries(deprecated, still accepted with warning)-forceflag to override wildcard detection and scan anyway
Changed
- Refactored into
internal/dns,internal/output,internal/wordlistpackages - Progress, verbose, and diagnostic output moved to stderr (stdout is now pipe-clean)
- Module path updated to
github.com/TMHSDigital/subenum - Docker build updated to include
internal/packages - golangci-lint config migrated to v2 format
Fixed
- Progress ticker no longer corrupts piped stdout output
-retriessemantics clarified via rename to-attempts- CRLF line endings normalized;
.gitattributesenforces LF for Go source going forward
Full changelog: https://github.com/TMHSDigital/subenum/blob/main/CHANGELOG.md