"In the labyrinth of digital scrolls, where every byte carries a tale, CompressKit emerges—a keeper of clarity, a guardian of space. Let it weave its magic, shrinking PDFs without silencing their stories."
- Overview
- Installation
- Usage Guide
- Architecture
- Example Use Cases
- Guides and Resources
- Troubleshooting
- Contributing
- License
CompressKit is an advanced PDF compression toolkit with enterprise features. It provides efficient compression while maintaining document quality and readability.
Key Features:
- Efficient PDF compression for Termux and Linux environments
- Multiple quality levels (low, medium, high, ultra)
- Enterprise licensing system with premium features
- Comprehensive security hardening
- Modular architecture for easy extension
- Two user interfaces: simple CLI and advanced UI
Architecture:
- Modular shell script-based system
- 20+ library modules for specific functionality
- Security-first design with input validation
- Flexible configuration management
- For Termux: Termux app with updated packages
- For Linux: Bash 4.0+, standard Linux utilities
- Required packages:
ghostscript(for PDF rendering and compression)qpdf(for advanced PDF manipulation)imagemagick(for image optimization within PDFs)
For Termux:
pkg install ghostscript qpdf imagemagick
git clone https://github.com/CrisisCore-Systems/CompressKit.git
cd CompressKit
chmod +x compresskit compresskit-pdfFor Debian/Ubuntu:
sudo apt-get install ghostscript qpdf imagemagick
git clone https://github.com/CrisisCore-Systems/CompressKit.git
cd CompressKit
chmod +x compresskit compresskit-pdfNote: Scripts may require shebang modification for non-Termux environments. Change #!/data/data/com.termux/files/usr/bin/bash to #!/bin/bash if needed, or run with bash scriptname.
CompressKit provides two entry points:
Simple Interface (compresskit):
./compresskit <file> [quality]
# Examples:
./compresskit document.pdf # Default quality (medium)
./compresskit document.pdf high # High compressionAdvanced Interface (compresskit-pdf):
- Enhanced UI with progress bars and animations
- Color-coded output
- Interactive features
- Matrix-style header display
- low - Minimal compression, highest quality
- medium - Balanced compression (default)
- high - Maximum compression, good quality
- ultra - Aggressive compression (requires license)
View premium features:
./compresskit --premiumPremium features include:
- Ultra Compression Algorithm - Advanced compression engine
- Batch Processing - Process multiple files simultaneously
- Priority Technical Support - Dedicated support channel
- Custom Compression Profiles - Save and reuse settings
CompressKit uses a modular architecture with clean separation of concerns:
compresskit- Simple CLI interfacecompresskit-pdf- Advanced UI with animations
- Compression:
lib/compress.sh - Configuration:
lib/config.sh,lib/config_manager.sh - UI:
lib/ui.sh,lib/branding.sh - Security:
lib/security_module.sh,lib/secure_utils.sh - Error Handling:
lib/error_handler.sh - Premium Features:
lib/premium.sh,lib/license_verifier.sh - Logging:
lib/logger.sh
See ARCHITECTURE.md for detailed information.
./compresskit my-document.pdf./compresskit --premium./compresskit large-file.pdf highbash compresskit document.pdf mediumPDF Optimization Guide
Master the art of PDF compression with this comprehensive guide covering:
- Understanding PDF structure and components
- Compression techniques and algorithms
- Quality vs file size trade-offs
- Optimization strategies for different document types
- Best practices and common scenarios
- Advanced techniques and troubleshooting
CLI Tools Comparison
Compare CompressKit with other PDF compression tools:
- Feature comparison matrix
- Tool-by-tool analysis (GhostScript, QPDF, PDFtk, etc.)
- Performance benchmarks
- Use case recommendations
- Migration guides
- Cost analysis
- Architecture Guide - Detailed system architecture
- Security Guide - Security implementation and best practices
- Technology Stack - Comprehensive technology stack recommendations and architecture decisions
- Project Timeline - Comprehensive project timeline and milestone planning
- Main README - Project overview and quick start
Explore our technical blog posts in the blog directory:
- Introduction to CompressKit
- Security in Shell Scripts
- Building Modular CLI Apps
- Error Handling Patterns
- Terminal UI Design
- Testing Strategies
- PDF Optimization Deep Dive
"cannot execute: required file not found"
- Scripts have Termux-specific shebangs
- Solution: Run with
bash scriptnameor modify shebang
"branding.conf: No such file or directory"
- Optional configuration file is missing
- This warning can be safely ignored
Dependencies not found
- Install required packages:
ghostscript,qpdf,imagemagick - Verify with:
which gs qpdf convert
License-related errors
- Premium features require a valid license
- Check status with:
./compresskit --premium
Readonly variable warnings
- Occurs when scripts are sourced multiple times
- Safe to ignore, doesn't affect functionality
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
See the main README.md for more details.
This project is licensed under the MIT License. See LICENSE for details.
Developed by CrisisCore-Systems
For more information: