xar unarchiver (.xar, .pkg, .xip)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Crystal 99.0%
Other 1.0%
20 1 0

Clone this repository

https://tangled.org/codero.be/czar https://tangled.org/did:plc:bq3efckee7w6nzihxsji7jf3/czar
git@knot.josieco.de:codero.be/czar git@knot.josieco.de:did:plc:bq3efckee7w6nzihxsji7jf3/czar

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

czar#

clean-room implementation of a XAR unarchiver

status#

  • Header
    • Magic
    • Header size
    • Version
    • TOC length (compressed)
    • TOC length (uncompressed)
    • Checksum algorithm
      • None
      • SHA1
      • MD5
  • TOC
    • Extraction
    • Parsing
    • Checksum validation
  • Heap
    • Extraction
      • gzip/zlib
      • bzip2
    • Checksum validation
  • File Metadata

current features#

  • archive info
  • file listing
  • checksum validation
  • decompression

usage#

Usage: czar [options] <xar_file>
Options:
  --strict      Fail extraction if any checksum validation fails
  --no-extract  Only validate checksums, don't extract files
  --help, -h    Show this help message

Files are extracted to ./<xar_file>.extracted/

examples#

# Extract archive with checksum validation
./czar archive.xar

# Validate checksums only (no extraction)
./czar --no-extract archive.xar

# Strict mode - fail if any checksum is invalid
./czar --strict archive.xar

This project, initially authored by Mara Robin Broda in 2018, is licensed under the GNU Lesser General Public License v3.0