Skip to main content

Archae explodes archives.

Project description

Archae

Archae Logo of a spider exploring a sarcophagus

PyPI Supported Python Versions pre-commit.ci status Test Documentation Status PyPI - License

Archae explodes archives.

Installation

Archae is available on PyPI. Install with uv or your package manager of choice:

uv tool install archae

Documentation

Check out the Archae documentation for the User's Guide and CLI Reference.

Usage

Running archae --help or python -m archae --help shows a list of all of the available options and arguments:

archae --help

 Usage: archae [OPTIONS] ARCHIVE_PATH

 Archae explodes archives.

╭─ Arguments ──────────────────────────────────────────────────────────────────────────╮
│ *  ARCHIVE_PATH  FILE  Archive to examine [required]                                 │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --max_total_size_bytes        FILESIZE               Maximum total extraction size   │
│                                                      before failing, default 100G    │
│                                                      [default: 107374182400]         │
│ --max_archive_size_bytes      FILESIZE               Maximum individual archive      │
│                                                      extraction size before failing, │
│                                                      default 10G [default:           │
│                                                      10737418240]                    │
│ --min_archive_ratio           FLOAT RANGE [0<=x<=1]  Minimum allowed compression     │
│                                                      ratio for an archive. A         │
│                                                      floating-point value between    │
│                                                      0.0 and 1.0, inclusive. Default │
│                                                      is 0.005 [default: 0.005]       │
│ --version                 -v                         Show the version and exit.      │
│ --help                    -h                         Show this message and exit.     │
╰──────────────────────────────────────────────────────────────────────────────────────╯

Features

  • Uses 7z/peazip/unar (not 7za/7zr) to try to extract archives
  • No substantial limit on the number of archive layers
  • Identifies file types via libmagic
  • Basic archive bomb protections

TODOs

  • Protect against/detect archive bombs (malicious disk usage)
  • Improve archive type detection
  • Separate between extractable and non-extractable archive types
  • Protect against/detect depth attacks (excessively nested archives)
  • Detect password-protected archives
  • Allow supplying archive passwords by hash
  • Add custom magic to detect obscure archive formats

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archae-2026.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

archae-2026.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file archae-2026.1.0.tar.gz.

File metadata

  • Download URL: archae-2026.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for archae-2026.1.0.tar.gz
Algorithm Hash digest
SHA256 10b2a31aab7bb80dd632b3d8149366d719b8749164eeebfd22ca3ae061cedc00
MD5 6bbe4d3603fd9ea3a52b37017915b891
BLAKE2b-256 cae07778fc3325428ea3871daf88caab0ebbe17cef091a75457eac9d85852caa

See more details on using hashes here.

File details

Details for the file archae-2026.1.0-py3-none-any.whl.

File metadata

  • Download URL: archae-2026.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for archae-2026.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 897c24e0e751800f0ef40593d96f1bfc2ce4f4d92be297f905850e62267650f9
MD5 4c45f5a4706d875a2069983b6d28ecd8
BLAKE2b-256 2f36252b4883813df24d84c2fe2f6b74cc54a5495d3c255baada92a273e30feb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page