ca02226745015f53c4e16bbbb5d3ad4cd6dc3b90
🗜️ Zipprine - TUI zipping tool
A simple and clean TUI application for managing archives/
✨ Features
📦 Compression
- Multiple formats: ZIP, TAR, TAR.GZ, GZIP
- Compression levels: Fast, Balanced, Best
- Smart filtering: Include/exclude patterns with wildcards
- Integrity verification: SHA256 checksums and validation
📂 Extraction
- Auto-detection: Automatically detects archive type by magic bytes
- Safe extraction: Optional overwrite protection
- Permission preservation: Keep original file permissions
- Progress tracking: Real-time extraction feedback
🔍 Analysis
- Detailed statistics: File count, sizes, compression ratios
- File listing: View contents without extraction
- Checksum verification: SHA256 integrity checks
- Format detection: Magic byte analysis
🚀 Installation
# Clone the repository
git clone https://github.com/bereck-work/ziporine.git
cd zipprine
# Install dependencies
go mod download
# Build
go build -o zipprine ./cmd/ziprine
# Run
./ziprine
📖 Usage
Simply run ziprine and follow the interactive prompts!
Compress Files
./ziprine
# Select: Compress files/folders
# Enter source path: /path/to/folder
# Choose format: ZIP, TAR.GZ, TAR, or GZIP
# Set compression level and filters
Extract Archives
./ziprine
# Select: Extract archive
# Archive type is auto-detected!
# Choose destination and options
Analyze Archives
./ziprine
# Select: Analyze archive
# View detailed statistics and file listing
🎨 Pattern Examples
Exclude patterns:
*.log- Exclude all log filesnode_modules- Exclude node_modules directorytemp/*- Exclude everything in temp folder.git,__pycache__,*.tmp- Multiple patterns
Include patterns:
*.go- Only Go filessrc/*,docs/*- Only src and docs folders*.md,*.txt- Only markdown and text files
🏗️ Project Structure
ziprine/
├── cmd/ziprine/ # Main application entry
├── internal/
│ ├── archiver/ # Archive operations
│ ├── ui/ # TUI components
│ └── models/ # Data structures
└── pkg/fileutil/ # Utility functions
🛠️ Technologies
- Charm Bracelet Huh - Beautiful TUI forms
- Lipgloss - Styling and colors
- Go standard library - Archive formats
📝 License
MIT License
Things to do
- Add unit tests
Description
Languages
Go
92.6%
Makefile
7.2%
Dockerfile
0.2%