awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ouch-org avatar

ouch-org/ouch

0
View on GitHub↗
3,391 星标·119 分支·Rust·other·3 次浏览crates.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 历史

ouch-org/ouch 的 Star 历史图表ouch-org/ouch 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

ouch-org/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.

ouch-org/ouch 的主要功能有哪些?

ouch-org/ouch 的主要功能包括: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。

ouch-org/ouch 有哪些开源替代品?

ouch-org/ouch 的开源替代品包括: 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…

Ouch 的开源替代方案

相似的开源项目,按与 Ouch 的功能重合度排序。
  • you-dont-need/you-dont-need-guiyou-dont-need 的头像

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

    5,821在 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
    在 GitHub 上查看↗5,821
  • pkolaczk/fclonespkolaczk 的头像

    pkolaczk/fclones

    2,633在 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
    在 GitHub 上查看↗2,633
  • sharkdp/hexylsharkdp 的头像

    sharkdp/hexyl

    9,971在 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
    在 GitHub 上查看↗9,971
  • mholt/archivermholt 的头像

    mholt/archiver

    4,467在 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
    在 GitHub 上查看↗4,467
  • 查看 Ouch 的所有 30 个替代方案→