Sonic3
A GUI application Built with Go and the Fyne UI toolkit for file compression, decompression, archiving, and extraction, designed for speed and efficiency.
Install / Use
/learn @JeninSutradhar/Sonic3README
Sonic3
A GUI application Built with Go and the Fyne UI toolkit for file compression, decompression, archiving, and extraction, designed for speed and efficiency.
<p align="center"> <img src="https://github.com/user-attachments/assets/3129879a-d070-4029-b6f1-dd34c1258c60" alt="Screenshot_20241228_102517" width=250> </p>Features
- Multiple Operation Modes:
- Compress: Compress individual files or directories.
- Decompress: Decompress supported compressed files.
- Archive: Create archives (ZIP, TAR.GZ, TAR.XZ, 7Z[fix]) from multiple files and directories.
- Extract: Extract files from supported archives.
- Wide Range of Compression Algorithms:
- Gzip
- Zstandard (Zstd)
- LZ4
- S2 (Snappy)
- No Compression
- Supported Archive Formats:
- ZIP
- TAR.GZ
- TAR.XZ
- (7z - planned for future implementation)
- Encryption: Secure your compressed or archived files with password-based encryption using Argon2 for key derivation and AES-GCM for symmetric encryption.
- Checksum Verification: Calculate and verify file integrity using MD5 or CRC32 checksums.
- Cross-Platform: Runs on Windows, macOS, and Linux.
Screenshots
Getting Started
Prerequisites
- Go (version 1.18 or higher)
Installation
Method 1: Download Pre-built Binaries (Recommended)
Go to the Releases page and download the appropriate executable for your operating system.
Method 2: Build from Source
- Clone the repository:
git clone https://github.com/jeninsutradhar/sonic3.git cd sonic3 - Build the application:
This will create an executable file namedgo build -v ./...archiver(orarchiver.exeon Windows) in the project directory.
Usage
- Run the executable file.
- Select the desired Mode of operation (Compress, Decompress, Archive, Extract).
- Choose the Algorithm for compression (if applicable).
- Select the Archive Format (if you are archiving or extracting).
- Choose the Checksum Algorithm for integrity verification.
- Click the "Select Input File(s)" or "Select Input Folder(s)" button to choose the files or directories you want to process.
- Click the "Select Output Path" or "Select Output Folder" button to specify where the output file or extracted files should be saved.
- Enter a Password if you want to encrypt the output.
- Configure advanced settings like "Compress Directory," "Number of Routines," and algorithm-specific parameters if needed.
- Click the "Start" button to begin the operation.
- A progress bar will show the status of the operation. Logs and completion messages will be displayed in the output area.
Configuration Options
- Mode: The operation to perform (Compress, Decompress, Archive, Extract).
- Algorithm: The compression algorithm to use (for compress and archive modes).
- Archive Format: The format of the archive to create or extract (for archive and extract modes).
- Checksum Algorithm: The algorithm used to calculate and verify file integrity.
- Input: The file(s) or folder(s) to process.
- Output: The destination path for the output file or extracted files.
- Password: A password to encrypt/decrypt the output.
- Compress Directory: (For Compress mode) Check this option to compress an entire directory into a single compressed file.
- Number of Routines: The number of CPU threads to use for parallel processing (may improve performance).
- Zstd Level: The compression level for the Zstandard algorithm (higher levels offer better compression but may take longer).
- Argon2 Memory (KB): The amount of memory (in kilobytes) used by the Argon2 key derivation function. Higher values increase security but require more resources.
- Argon2 Time: The number of iterations used by the Argon2 key derivation function. Higher values increase security but take longer.
- Argon2 Threads: The number of threads used by the Argon2 key derivation function.
Contributing
Contributions are welcome! Please feel free to open issues for bug reports or feature requests, or submit pull requests with your improvements.
License
This project is licensed under the MIT License.
Acknowledgements
- Built using the excellent Fyne UI toolkit.
- Uses the following great Go libraries for compression:
- klauspost/compress for Zstandard and S2.
- pierrec/lz4/v4 for LZ4.
- ulikunitz/xz for XZ.
- Uses golang.org/x/crypto/argon2 for secure password hashing.
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
ui-ux-pro-max-skill
58.5kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
ui-ux-pro-max-skill
58.5kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
