Archae explodes archives.
Project description
Archae
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10b2a31aab7bb80dd632b3d8149366d719b8749164eeebfd22ca3ae061cedc00
|
|
| MD5 |
6bbe4d3603fd9ea3a52b37017915b891
|
|
| BLAKE2b-256 |
cae07778fc3325428ea3871daf88caab0ebbe17cef091a75457eac9d85852caa
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
897c24e0e751800f0ef40593d96f1bfc2ce4f4d92be297f905850e62267650f9
|
|
| MD5 |
4c45f5a4706d875a2069983b6d28ecd8
|
|
| BLAKE2b-256 |
2f36252b4883813df24d84c2fe2f6b74cc54a5495d3c255baada92a273e30feb
|