Files
zipprine/README.md

116 lines
2.5 KiB
Markdown

# 🗜️ 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
```bash
# 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
```bash
./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
```bash
./ziprine
# Select: Extract archive
# Archive type is auto-detected!
# Choose destination and options
```
### Analyze Archives
```bash
./ziprine
# Select: Analyze archive
# View detailed statistics and file listing
```
## 🎨 Pattern Examples
**Exclude patterns**:
- `*.log` - Exclude all log files
- `node_modules` - Exclude node_modules directory
- `temp/*` - Exclude everything in temp folder
- `.git,__pycache__,*.tmp` - Multiple patterns
**Include patterns**:
- `*.go` - Only Go files
- `src/*,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](https://github.com/charmbracelet/huh)** - Beautiful TUI forms
- **[Lipgloss](https://github.com/charmbracelet/lipgloss)** - Styling and colors
- **Go standard library** - Archive formats
## 📝 License
MIT License
## Things to do
- [ ] Add unit tests