{"id":29583780,"url":"https://github.com/kamionn/zippypack","last_synced_at":"2025-10-11T13:17:32.184Z","repository":{"id":304638413,"uuid":"1019421206","full_name":"Kamionn/zippypack","owner":"Kamionn","description":"🚀 Modern Rust compression tool with block-level deduplication and zstd compression. Superior ratios vs WinRAR/7-Zip with real-time progress and system   image format.","archived":false,"fork":false,"pushed_at":"2025-07-14T10:39:53.000Z","size":6057,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T04:51:47.025Z","etag":null,"topics":["archiver","backup-tool","cli-tool","compression","cross-platform","data-compression","deduplication","file-archiver","file-compression","performance","rust","zippypack","zstd"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kamionn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-14T09:50:48.000Z","updated_at":"2025-07-15T08:17:55.000Z","dependencies_parsed_at":"2025-07-14T12:39:52.245Z","dependency_job_id":"0a4a5d17-c0fa-4353-908c-9607e6cef798","html_url":"https://github.com/Kamionn/zippypack","commit_stats":null,"previous_names":["kamionn/zippypack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kamionn/zippypack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kamionn%2Fzippypack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kamionn%2Fzippypack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kamionn%2Fzippypack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kamionn%2Fzippypack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kamionn","download_url":"https://codeload.github.com/Kamionn/zippypack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kamionn%2Fzippypack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007315,"owners_count":26084280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archiver","backup-tool","cli-tool","compression","cross-platform","data-compression","deduplication","file-archiver","file-compression","performance","rust","zippypack","zstd"],"created_at":"2025-07-19T23:38:53.244Z","updated_at":"2025-10-11T13:17:32.156Z","avatar_url":"https://github.com/Kamionn.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZippyPack\r\n\r\n**ZippyPack** is an advanced Rust compression tool that leverages Zstandard algorithm with block-level deduplication and system image format for superior compression ratios.\r\n\r\n## 🚀 Features\r\n\r\n- **Zstd Compression**: Modern Zstandard algorithm for optimal speed/ratio balance\r\n- **Block Deduplication**: Store identical data blocks only once (64KB chunks)\r\n- **System Image Format**: Complete folder snapshots with instant access\r\n- **Context-Aware Compression**: File-type specific optimizations\r\n- **Real-time Progress**: Detailed progress with speed and ETA\r\n- **Cross-platform**: Compatible with Linux, macOS, and Windows\r\n\r\n## 📊 Performance\r\n\r\nOn a dataset of 505 source code files:\r\n- **Compression Ratio**: 95.67% (5.1 MB → 222 KB)\r\n- **Comparison**: 6% gap with WinRAR, 12% better than 7-Zip\r\n- **Speed**: ~0.2 MB/s with maximum compression\r\n\r\n## 📁 Project Structure\r\n\r\n```\r\nzippypack/\r\n├── src/                    # Main source code\r\n│   ├── main.rs            # CLI interface\r\n│   ├── lib.rs             # Public library\r\n│   ├── compress.rs        # Traditional compression\r\n│   ├── decompress.rs      # Decompression\r\n│   ├── image.rs           # Image system with deduplication\r\n│   ├── profile.rs         # Compression profiles\r\n│   └── error.rs           # Error handling\r\n├── examples/              # Usage examples\r\n├── tools/                 # Development utilities\r\n├── docs/                  # Technical documentation\r\n└── README.md             # This file\r\n```\r\n\r\n## 🔧 Installation\r\n\r\n```bash\r\ngit clone https://github.com/kamionn/zippypack.git\r\ncd zippypack\r\ncargo build --release\r\n```\r\n\r\n## 📖 Usage\r\n\r\n### Classic Compression (.zpp)\r\n```bash\r\n# Compress a folder\r\ncargo run --release -- compress --input folder/ --output archive.zpp --level 22\r\n\r\n# Decompress an archive\r\ncargo run --release -- decompress --input archive.zpp --output restored_folder/\r\n```\r\n\r\n### System Image (.zpak)\r\n```bash\r\n# Create system image with deduplication\r\ncargo run --release -- create-image --input project/ --output backup.zpak --level 22\r\n\r\n# Extract system image\r\ncargo run --release -- extract-image --input backup.zpak --output restored_project/\r\n```\r\n\r\n### Advanced Options\r\n```bash\r\n# Compression with custom threads\r\ncargo run --release -- compress --input src/ --output code.zpp --threads 8 --level 15\r\n\r\n# Solid mode for better compression\r\ncargo run --release -- compress --input data/ --output data.zpp --solid --level 22\r\n```\r\n\r\n## 🏗️ Architecture\r\n\r\n### Core Modules\r\n- **`compress.rs`**: Traditional compression with type detection\r\n- **`decompress.rs`**: Decompression with integrity validation\r\n- **`image.rs`**: Image system with block-level deduplication\r\n- **`profile.rs`**: File-type compression profiles\r\n- **`error.rs`**: Typed error handling\r\n\r\n### Archive Format (.zpak)\r\n1. **Header**: Version, metadata, statistics\r\n2. **Block Index**: Hash and position of each unique block\r\n3. **Compressed Data**: Deduplicated zstd blocks\r\n4. **File Metadata**: Directory tree and block references\r\n\r\n## 🧪 Testing\r\n\r\n```bash\r\n# Unit tests (in modules)\r\ncargo test\r\n\r\n# Verbose tests\r\ncargo test -- --nocapture\r\n\r\n# Usage example\r\ncargo run --bin basic_usage\r\n```\r\n\r\n## 📈 Advantages vs Competition\r\n\r\n| Feature | ZippyPack | WinRAR | 7-Zip |\r\n|---------|-----------|--------|-------|\r\n| Deduplication | ✅ | ❌ | ❌ |\r\n| Instant Access | ✅ | ❌ | ❌ |\r\n| Real-time Progress | ✅ | ❌ | ❌ |\r\n| Modern Format | ✅ | ❌ | ❌ |\r\n| Cross-platform | ✅ | ❌ | ✅ |\r\n\r\n## 🔬 Optimal Use Cases\r\n\r\n- **Development Projects**: node_modules, target/, build/\r\n- **Incremental Backups**: Massive deduplication benefits\r\n- **Game Assets**: Similar textures and models\r\n- **Documentation Archives**: Files with repetitive patterns\r\n\r\n## 🛣️ Roadmap\r\n\r\n- [ ] Incremental compression\r\n- [ ] FUSE mounting for direct access\r\n- [ ] Graphical interface\r\n- [ ] CI/CD integration\r\n- [ ] Optimized cloud synchronization\r\n\r\n## 🤝 Contributing\r\n\r\nContributions are welcome! Check out the [issues](https://github.com/kamionn/zippypack/issues) for ongoing tasks.\r\n\r\n## 📄 License\r\n\r\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\r\n\r\n## 🏆 Benchmarks\r\n\r\n```bash\r\n# Generate test files\r\nrustc tools/generate_test_files.rs \u0026\u0026 ./generate_test_files\r\n\r\n# Test compression\r\ncargo run --release -- create-image --input test_files --output benchmark.zpak --level 22\r\n\r\n# Compare with other tools\r\n# WinRAR: 268 KB\r\n# 7-Zip: 324 KB  \r\n# ZippyPack: 284 KB\r\n```\r\n\r\n## 🌍 Translations\r\n\r\n- [Français (French)](README_FR.md)\r\n\r\n---\r\n\r\n**ZippyPack**: Because every byte counts. 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamionn%2Fzippypack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamionn%2Fzippypack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamionn%2Fzippypack/lists"}