awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ouch-org avatar

ouch-org/ouch

0
View on GitHub↗
3,391 stars·119 forks·Rust·other·8 viewscrates.io/crates/ouch↗

Ouch

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.

Features

  • File Compression - Bundles and compresses files into a wide range of industry-standard archive formats including tar, zip, and zstd.
  • Multi-Format Archive Management - Provides a unified terminal interface for compressing and extracting files across various archive formats with automatic detection.
  • Terminal Archive Commands - Provides a terminal interface for creating, extracting, and inspecting archives with automatic format detection.
  • Multi-Format Archive Extraction Commands - Extracts contents from various compressed formats by automatically detecting the archive type.
  • Secure Metadata Sanitization - Implements metadata sanitization to protect against path traversal and terminal injection attacks during archive extraction.
  • Layered Compression - Applies multiple compression algorithms sequentially by chaining file extensions to achieve layered data reduction.
  • Sequential Compression Pipelines - Processes data through a chain of compression algorithms by parsing multiple file extensions in the output filename.
  • Secure Extraction Sanitization - Sanitizes archive metadata during extraction to prevent path traversal attacks and terminal injection.
  • Archive Format Identification - Automatically selects the correct compression or decompression backend by matching file extensions.
  • Format Dispatch - Matches file extensions to specific backend modules to determine the correct compression or decompression algorithm.
  • Archive Input Sanitizers - Sanitizes archive filenames, comments, and symlink targets before processing to prevent injection and traversal attacks.
  • Filename Sanitizers - Cleans filenames and symlink targets before processing to prevent path traversal and terminal injection attacks.
  • Archive Metadata Sanitizers - Cleans filenames and symlink targets from archives to prevent path traversal and terminal injection attacks during extraction.
  • Archive Format Plugins - Uses a backend-agnostic plugin architecture where each archive format is handled by a separate module.
  • Sequential Compression Pipelines - Implements a chain compression pipeline that applies multiple algorithms sequentially based on filename extensions.
  • Log Formatting - Formats log messages for text-to-speech compatibility and reduces verbosity during large operations.
  • Archive Content Listers - Provides a way to list the internal files and directory structure of an archive without extracting them.
  • Multithreaded - Uses multi-threaded processing to accelerate the compression and decompression of archives across multiple CPU cores.
  • Compression Level Tuning - Allows users to adjust compression levels using speed-based flags to balance performance and file size.
  • Archive Extraction Commands - Enables unpacking archives into the current directory, a new folder, or a specific custom path.
  • Password-Protected Archives - Provides the ability to create and manage password-protected archives for secure file storage.
  • File Exclusion Patterns - Excludes hidden files and patterns defined in .gitignore from the compression process.
  • Multi-Threaded Compression Engines - Distributes compression workloads across multiple CPU cores to increase data throughput.
  • Archive Encryption - Encrypts and decrypts archives using password protection to secure files for storage or transfer.
  • Accessibility Modes - Provides a dedicated mode that simplifies terminal output for users relying on screen readers.
  • Screen Reader Optimizations - Optimizes command results for screen readers by stripping non-essential details for improved clarity.
  • Terminal Accessibility Tools - Provides simplified command output and screen reader optimizations for users relying on assistive technologies.
  • System Utilities - CLI tool for painless compression.

Star history

Star history chart for ouch-org/ouchStar history chart for ouch-org/ouch

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Ouch

Similar open-source projects, ranked by how many features they share with Ouch.
  • you-dont-need/you-dont-need-guiyou-dont-need avatar

    you-dont-need/You-Dont-Need-GUI

    5,821View on GitHub↗

    You-Dont-Need-GUI is a curated reference of terminal commands that replace common graphical interface operations with equivalent shell one-liners. It maps everyday GUI actions—file management, archive handling, system monitoring, and network diagnostics—to standard POSIX utilities like find, grep, and awk, all composed as self-contained shell pipelines. The project distinguishes itself by requiring no external dependencies or installations; every solution runs with built-in shell commands and coreutils. Its documentation follows Unix man-page conventions, presenting each command with a

    clicommandcommand-line
    View on GitHub↗5,821
  • pkolaczk/fclonespkolaczk avatar

    pkolaczk/fclones

    2,633View on GitHub↗

    fclones is a command-line tool designed to locate identical files across a filesystem by comparing file sizes and cryptographic hashes. It functions as a parallel filesystem scanner and a deduplication utility that identifies duplicate files to reclaim disk space. The tool distinguishes itself through a persistent hash cache system that stores hashes and metadata on disk to accelerate repeated scans. It employs a multi-phase scanning process and device-aware parallel I/O, which adjusts thread pools based on whether the storage is an SSD or HDD to maximize throughput. Beyond discovery, the pr

    Rust
    View on GitHub↗2,633
  • sharkdp/hexylsharkdp avatar

    sharkdp/hexyl

    9,971View on GitHub↗

    Hexyl is a colored hex dump utility and binary data viewer for the terminal. It allows for the inspection of binary files by rendering contents as a colored hex dump to distinguish between different byte categories, such as printable text, whitespace, and null bytes. The tool includes a C-style hex exporter that transforms binary data into C include files for direct integration into source code. It supports visual layout customization through configurable panels and borders, as well as the ability to define colors for byte categories and offsets using terminal colors or RGB hex codes via envi

    Rustbinary-datacommand-linehexadecimal
    View on GitHub↗9,971
  • mholt/archivermholt avatar

    mholt/archiver

    4,467View on GitHub↗

    Archiver is a multi-format archive library and command-line tool for creating, extracting, and managing compressed archives. It provides a unified interface for working with formats including gzip, bzip2, zip, tar, rar, 7zip, and zstandard, and can automatically detect archive formats by inspecting binary byte headers rather than relying solely on file extensions. The library uses interface-based abstractions and a multi-format codec registry to support format-agnostic operations, while its stream-based compression pipeline processes archive data continuously without loading entire archives i

    Go7ziparchivesbrotli
    View on GitHub↗4,467
See all 30 alternatives to Ouch→

Frequently asked questions

What does ouch-org/ouch do?

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.

What are the main features of ouch-org/ouch?

The main features of ouch-org/ouch are: File Compression, Multi-Format Archive Management, Terminal Archive Commands, Multi-Format Archive Extraction Commands, Secure Metadata Sanitization, Layered Compression, Sequential Compression Pipelines, Secure Extraction Sanitization.

What are some open-source alternatives to ouch-org/ouch?

Open-source alternatives to ouch-org/ouch include: you-dont-need/you-dont-need-gui — You-Dont-Need-GUI is a curated reference of terminal commands that replace common graphical interface operations with… pkolaczk/fclones — fclones is a command-line tool designed to locate identical files across a filesystem by comparing file sizes and… sharkdp/hexyl — Hexyl is a colored hex dump utility and binary data viewer for the terminal. It allows for the inspection of binary… mholt/archiver — Archiver is a multi-format archive library and command-line tool for creating, extracting, and managing compressed… facebook/zstd — Zstandard is a lossless data compression library and archive format designed for high compression ratios and fast… squizlabs/php_codesniffer — PHP_CodeSniffer is a static analysis tool, coding standard linter, and command-line validator for PHP. It scans files…