hitpag 2.0 is a major upgrade to the intelligent command-line compression tool. Building on the core philosophy of automatic recognition and user-friendly interaction, version 2.0 introduces powerful new features including compression level control, multi-threading support, file filtering, performance benchmarking, and support for modern compression formats.
Whether you're compressing large datasets with optimal settings, filtering specific file types, or benchmarking compression performance, hitpag 2.0 provides enterprise-grade functionality while maintaining its signature ease of use.
- Operating System: Linux (tested on Ubuntu 22.04 and Debian 12)
- Compiler: GCC/G++ supporting the C++17 standard
- Build Tool: CMake 3.10 or higher
- Dependencies:
stdc++fs,pthread(C++ filesystem and threading libraries)
-
Update system and install build tools:
sudo apt update sudo apt install -y g++ cmake make
-
Navigate to project directory and build:
cd hitpag mkdir -p build cd build cmake .. make
-
(Optional) Install to system:
sudo make install
Install all supported compression tools:
# Essential compression tools sudo apt install -y tar gzip bzip2 xz-utils zip unzip rar unrar p7zip-full # Modern compression formats (optional) sudo apt install -y lz4 zstd xar
hitpag [options] source_path destination_path
-i: Interactive mode with enhanced format selection-p[password]: Password encryption/decryption-l[level]: Compression level (1-9, format-dependent defaults)-t[threads]: Thread count for parallel processing (auto-detect if not specified)--verbose: Detailed progress and operation information--benchmark: Performance statistics including compression ratios and timing--verify: Archive integrity verification after compression--exclude=PATTERN: Exclude files/directories matching regex pattern--include=PATTERN: Include only files/directories matching regex pattern-h, --help: Display comprehensive help information-v, --version: Show version information- Note: There is a difference between
hitpag xxx/ file.zipandhitpag xxx file.zip, which should not be difficult to understand. The same is true forhitapg file.zip xxx/andhitpag file.zip xxx/.
-
High-performance compression with optimal settings:
hitpag -l9 -t4 --benchmark large_dataset.tar.gz ./data/
Compress with maximum compression level using 4 threads and show performance statistics.
-
Filtered compression with file type selection:
hitpag --include='*.cpp' --include='*.h' --exclude='build/*' source_code.7z ./project/
Compress only C++ source files, excluding build directories.
-
Encrypted compression with verification:
hitpag -pmysecret --verify --verbose confidential.zip ./sensitive_data/
Password-encrypt with integrity verification and detailed output.
-
Modern compression formats:
hitpag -l6 -t8 fast_archive.lz4 ./temp_files/ hitpag -l9 small_archive.zstd ./documents/
Use LZ4 for speed or Zstandard for optimal compression.
-
Batch processing with performance monitoring:
hitpag --benchmark --exclude='*.tmp' --exclude='*.log' backup.tar.xz ./work_folder/
Create compressed backup excluding temporary files with performance analysis.
hitpag 2.0 supports all traditional formats plus modern compression algorithms:
Traditional formats:
tar(uncompressed)tar.gz/tgz(gzip compression)tar.bz2/tbz2(bzip2 compression)tar.xz/txz(xz compression)zip(supports passwords and compression levels)rar(decompression only)7z(supports passwords and compression levels)
Modern formats (new in 2.0):
lz4(ultra-fast compression/decompression)zst/zstd(Facebook's Zstandard - excellent compression/speed balance)xar(macOS archive format)
Automatically detects CPU cores and utilizes parallel processing for supported formats:
hitpag -t8 archive.tar.gz ./large_directory/ # Use 8 threads explicitly hitpag -t archive.tar.gz ./large_directory/ # Auto-detect optimal thread count
Fine-tune compression vs. speed trade-offs:
hitpag -l1 fast.zip ./files/ # Fastest compression hitpag -l6 balanced.7z ./files/ # Balanced (default for most formats) hitpag -l9 smallest.tar.xz ./files/ # Maximum compression
Advanced pattern matching for selective compression:
# Include only specific file types hitpag --include='*.jpg' --include='*.png' photos.zip ./images/ # Exclude temporary and build files hitpag --exclude='*.tmp' --exclude='node_modules/*' --exclude='build/*' clean_backup.tar.gz ./project/ # Complex filtering combinations hitpag --include='src/*' --exclude='*.o' --exclude='*.obj' source_only.7z ./project/
Comprehensive performance analysis:
hitpag --benchmark --verbose optimized.tar.xz ./data/
Outputs:
- Compression time
- Original vs compressed size
- Compression ratio percentage
- Thread utilization information
Enhanced error reporting with detailed diagnostics:
Error: Compression level must be between 1-9: Invalid compression level specifiedError: Thread count must be positive: Invalid thread count parameterError: Required tool not found: lz4: Missing compression utilityFiltering files: included 150, excluded 45: File filtering summaryArchive verification failed: Integrity check unsuccessful
- Multi-threading support for parallel compression/decompression
- Compression level control (1-9) for all supported formats
- File filtering system with regex pattern matching
- Performance benchmarking with detailed statistics
- Archive verification for integrity checking
- Modern compression formats: LZ4, Zstandard, XAR
- Enhanced verbose mode with detailed progress information
- Modular architecture with organized namespaces
- Better error handling with specific error codes
- International message system for easy localization
- Enhanced interactive mode with new format options
- Improved help system with comprehensive examples
- C++17 threading support using
std::thread - Regex-based filtering using
std::regex - Performance monitoring with
std::chrono - Memory-efficient processing for large files
- Cross-platform compatibility improvements
Version 2.0 maintains full backward compatibility with 1.x command syntax. All existing scripts and workflows will continue to work unchanged, while new features can be adopted incrementally.
# 1.x syntax still works hitpag archive.tar.gz ./extracted_dir # Enhanced 2.0 syntax adds powerful options hitpag --benchmark --verbose -l9 -t4 archive.tar.gz ./extracted_dir