Go bindings for the unarr library, providing decompression support for RAR, TAR, ZIP, and 7z archives.
go-unarr is a Go library that provides bindings for the unarr decompression library, enabling Go applications to handle archive files. It supports extracting, listing, and reading from RAR, TAR, ZIP, and 7z archives, solving the need for native archive processing in Go projects.
Go developers who need to work with compressed archives in their applications, such as those building file management tools, backup systems, or data processing pipelines.
It offers a straightforward, idiomatic Go API for archive operations, leveraging the proven unarr library for reliable decompression without requiring external tools or complex implementations.
Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports RAR, TAR, ZIP, and 7z archives, providing a unified interface for common decompression needs, as highlighted in the README's feature list.
Offers a clean, Go-like interface with simple methods like a.Entry() and a.ReadAll(), making it easy to integrate into Go applications, as shown in the library examples.
Comes with a command-line utility, unarr, for direct archive extraction, which is installable via go install, adding convenience for developers.
Leverages Go tooling for cross-compilation to multiple platforms, ensuring consistent behavior across operating systems, as mentioned in the README.
Relies on the unarr C library, requiring complex setup with build tags like extlib and pkgconfig, which can complicate deployment and increase maintenance overhead.
Lacks support for creating or modifying archives, limiting functionality to read-only operations, which may not suffice for full archive management tasks.
Inherits limitations from the unarr library, such as possible gaps in handling encrypted archives or newer RAR formats, which could affect reliability in edge cases.