You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Blazing fast file hunter. 10x faster than find + rg on huge directories.
Install
# Go install
go install github.com/ripkitten-co/filehound@latest
# Or download binary from releases
curl -sSL https://raw.githubusercontent.com/ripkitten-co/filehound/main/install.sh | sh
Quick Start
# Hunt secrets by regex + entropy
filehound scan . --regex "(?i)(key|pass|secret|token)" --entropy 6.0
# Find large files modified in last 24 hours
filehound scan /logs --size ">100MB" --modified "<24h" --output json
# Find all Go files
filehound scan . --ext .go
# Batch rename with hash
filehound rename ./photos --glob "*.jpg" --pattern "img_{{sha1:8}}{{ext}}" --dry-run
# Find duplicate files
filehound hash. --duplicates
# Scan working tree (current files)
filehound scan . --git-mode working --ext .go
# Scan full git history for secrets
filehound scan . --git-mode full --regex "api_key|secret|token"# Scan specific branch
filehound scan . --git-mode full --git-branch main --regex "password"# Scan commits since date
filehound scan . --git-mode full --git-since 2024-01-01 --ext .env
Benchmarks
Tested on Intel i9-13900F, Windows 11, SSD.
Operation
100 files
1000 files
Scan
166 µs
1.0 ms
Extension match
51 ns
-
Size filter
0.14 ns
-
Glob match
72 ns
-
Performance Tips
More workers for larger directories: --workers 16
Exclude directories you don't need: --exclude "dist,build,vendor"
Use filters early to reduce I/O: --ext .go --size ">1KB" before --regex
JSON output is faster than table for scripting: --output json
Why Go?
Performance: Native binary, no runtime overhead
Cross-platform: Single binary for Linux, macOS, Windows