Ouch is a command-line archive utility designed for compressing and decompressing files across multiple formats, including zip, tar, 7z, and zstd. It functions as a secure archive processor that sanitizes metadata to prevent path traversal attacks and terminal injection during extraction.
The tool features a chain compression pipeline that allows for the sequential application of multiple compression algorithms by parsing chains of file extensions in a filename. It also includes a dedicated accessibility mode that optimizes terminal output for screen readers and text-to-speech technologies by reducing verbosity and stripping non-essential details.
Broad capabilities cover archive management, including content listing, password protection, and multi-threaded compression to increase data throughput. The utility handles extraction through configurable output directories, conflict resolution renaming, and the ability to exclude hidden files or those matching gitignore patterns.
Runtime behavior and resource limits, such as decompressed output size limits, can be managed via environment variables.