AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing zip-rs/zip2 in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewzip A zip library for rust which supports reading and writing of simple ZIP files. Currently hosted at . The current implementation is based on PKWARE's APPNOTE.TXT v6.3.9 Supported compression formats: | Formats | Reading | Writing | | ----------------------------------- | ------- | ------- | | Stored (i.e. none) | ✅ | ✅ | | Implode, Shrink, Reduce | ✅ | | | Deflate | ✅ | ✅ | | | ✅ | | | | ✅ | ✅ | | | ✅ | ✅ | | | ✅ | | | | ✅ | ✅ | | | ✅ | ✅ | | AES encryption | ✅ | ✅ | | (deprecated encryption) | ✅ | ✅ | Currently unsupported zip extensions: • Multi-disk Features The features available are: • : Enables decryption of files which were encrypted with AES. Supports AE-1 and AE-2 methods. • : Enables compressing and decompressing an unspecified implementation (that may change in future versions) of the deflate compression algorithm, which is the default for zip files. Supports compression quality 1..=264. • : Combine this with any feature flag that enables a back-end, to support deflate compression at quality 1..=9. • : Enables deflating files with the library (used when compression quality is 10..=264). This is the most effective implementation available, but also among the slowest. If isn't also enabled, only compression will be supported and not decompression. • : Enables the deflate64 compression algorithm. Only decompression is supported. • : Enables the compression algorithm. Only decompression is supported. • : Enables the compression algorithm. • : Enables the compression algorithm. • : Enables features using the time crate. • : Enables converting last-modified to and from . • : Enables converting last-modified to and from . • : Enables returning timestamps stored in the NTFS extra field as . • : Enables the compression algorithm. • : Enables the compression algorithm. By default , , , , , , , and are enabled. Library usage Reading: • Writing: • - to create a new archive • - to write in stream mode Examples See the examples directory for: • How to write a file to a zip. • How to write a directory of files to a zip (using walkdir). • How to extract a zip file. • How to extract a single file from a zip. • How to read a zip from the standard input. • How to append a directory to an existing archive Wasm This library can work in a Wasm environment but you may need to disable certain features (which are using non-rust library). Here is an example below MSRV Our current Minimum Supported Rust Version is **1.88**. When adding features, we will follow these guidelines: • We will always support a minor Rust version that has been stable for at least 6 months. • Any change to the MSRV will be accompanied with a **minor** version bump. License Licensed under the MIT License. Some files in the "tests/data" subdirectory of this repository are under other licenses; see files named for details. Fuzzing Fuzzing support is through . To install : To start fuzzing zip extraction: To start fuzzing zip creation: Fuzzing stdio The read and write fuzzers can also receive input over stdin for one-off validation. Note here that the fuzzers can be configured to build in support for DEFLATE, or not: The zip creation fuzzer will try to print out a description of the kind of input it translated the input bytes into: The zip creation fuzzer uses to convert bytes over stdin to random inputs, so it can be triggered with other sources of random input: