Welcome to the official documentation for Aether Pack (APACK) - a modern binary container format library for Java, designed for efficient storage, streaming access, and data integrity.
APACK is a high-performance archive format that provides:
- Chunked Storage - Large files are split into manageable chunks for streaming and random access
- Compression - Optional ZSTD or LZ4 compression with configurable levels
- Encryption - AES-256-GCM or ChaCha20-Poly1305 authenticated encryption
- Error Correction - Optional Reed-Solomon error correction for data recovery
- Integrity Verification - Per-chunk checksums (CRC32 or XXH3-64)
- Custom Metadata - Arbitrary key-value attributes per entry
- Random Access - O(1) entry lookup via table of contents
- Getting Started Guide - Installation and first steps
- Core Concepts - Understanding APACK fundamentals
- Architecture Overview - System design and module structure
- Format Overview - High-level format structure
- File Header - 64-byte file header specification
- Entry Header - Variable-size entry metadata
- Chunk Format - 24-byte chunk headers and data
- Trailer & TOC - Table of contents for random access
- Encryption Block - Key derivation and encryption metadata
- Attributes - Custom key-value attribute encoding
- Constants Reference - Magic numbers, IDs, and flags
- API Overview - Design philosophy and thread safety
- AetherPackReader - Reading archives
- AetherPackWriter - Creating archives
- ApackConfiguration - Configuration options
- Entry & EntryMetadata - Working with entries
- ChunkProcessor - Data transformation pipeline
- CLI Overview - Installation and global options
- create - Create archives
- extract - Extract files from archives
- list - List archive contents
- info - Display archive information
- verify - Verify archive integrity
- Compression Overview - Algorithm comparison
- ZSTD - Zstandard compression
- LZ4 - LZ4 compression
- Encryption Overview - Security concepts
- AES-256-GCM - AES encryption
- ChaCha20-Poly1305 - ChaCha20 encryption
- Key Derivation - Argon2id and PBKDF2
- Security Considerations - Best practices
- ECC Overview - Error correction concepts
- Reed-Solomon - Implementation details
- Error Handling - Exception hierarchy and recovery
- Performance Tuning - Optimization guide
- SPI Extensions - Creating custom providers
- FAQ - Frequently asked questions
| Component | Version |
|---|---|
| APACK Format | 1.0.0 |
| Library | 0.1.0 |
| Java | 17+ |
aether-pack/
├── aether-pack-core/ # Core format, I/O, SPI interfaces
├── aether-pack-compression/ # ZSTD and LZ4 providers
├── aether-pack-crypto/ # AES-GCM, ChaCha20, Argon2id, PBKDF2
└── aether-pack-cli/ # Command-line tools
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-core</artifactId>
<version>0.1.0</version>
</dependency>
<!-- Optional: Compression support -->
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-compression</artifactId>
<version>0.1.0</version>
</dependency>
<!-- Optional: Encryption support -->
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-crypto</artifactId>
<version>0.1.0</version>
</dependency>APACK is released under the MIT License.
Copyright (c) 2025 Splatgames.de Software and Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
Contributions are welcome! Please see the project repository for contribution guidelines.
This documentation covers APACK version 0.1.0