unpzzl is a simple program to view the metadata in a PZZL file and extract the data.
unpzzl v1.1.0
Supported PZZL version: 1
Program version: 1.0
usage:
unpzzl [-i][-s][-q] <FILE>...
options:
-h, --help show help and exit
-v, --version show version and exit
-i, --info info only: do not extract data
-s, --strict strict mode: do not attempt to process invalid files
-q, --quiet quiet: suppress output
-z, --silent silent: suppress most output
To compile, use the build script:
- Windows:
build.ps1 - Linux:
build.sh
Or directly:
$ crystal build --stats --release --no-debug unpzzl.crCompiled with crystal release version 1.5.0 (latest as of 2022/07/08)
unpzzl exit code details:
click to view exit code information
| $? | code | details |
|---|---|---|
| 0 | SUCCESS | no problem |
| 1 | UNKNOWN_ERROR | generic error code |
| 2 | SYSTEM_ERROR | file system error |
| 3 | INCORRECT_USAGE | run unpzzl -h for usage information |
| 4 | MISSING_DATA | couldn't find expected data |
| 5 | INVALID_FILE | warnings are treated as error in strict mode |
| 6 | UNSUPPORTED_VERSION | an update to unpzzl may be required |
| 7 | UNSUPPORTED_FEATURES | an update to unpzzl may be required |
| 8 | FILE_SKIPPED | normal exit code if any file was not processed due to an error |
A PZZL file is a simple wrapper around a data blob, with a .pzzl or .pzl filename extension.
Full PZZL File Format Specifications
current version: 1
- 16 bytes header
- optional metadata block
- arbitrary data blob
click to toggle details visibility
- Magic:
50 5A 5A 4C: ASCII 'PZZL'
- Null byte:
00: always
- Version Number:
00: reserved01: normal
- Features:
00: reserved01: standard02: GPG signed
- Metadata flag:
00: no metadataFF: standard
- Padding:
00 00 00 00 00 00 00 00: if metadata flag is00FF FF FF FF FF FF FF FF: if metadata flag isFF