v1.3.0 - Forensic Toolkit & Core Enhancements
This is the biggest release yet. Hypoxia now generates forensic manifests with SHA-256 hashing, maintains a chain-of-custody log for every action, and can resume interrupted collections from exactly where they stopped - no wasted time, no duplicates, no data loss.
Project Structure
- Package Restructure: Reorganized the project from flat files into a proper Python package layout (
hypoxia/with__init__.py,__main__.py,cli.py,utils.py,colors.py,forensic.py). Both./hypoxia.pyandpython -m hypoxiaare supported.
CI/CD
- GitHub Actions CI: Added a workflow that runs on every push and PR, verifying both entry points (
./hypoxia.py --helpandpython -m hypoxia --help) across Python 3.11, 3.12, and 3.13.
New Features
- Forensic Manifest: Every collection task now auto-generates a
manifest.jsoncontaining SHA-256 hash, original path, destination path, file size, modification timestamp, copy timestamp, and an overall manifest checksum for integrity verification. --hashFlag: Choose your hashing algorithm (sha256,sha512,md5) or disable hashing entirely with--hash nonefor maximum speed.- Chain of Custody Log: Append-only
forensic.logwith timestamped entries for every action — file copied, file skipped (with reason), errors, session start/end, and a summary. Every write is flushed immediately to survive crashes. - Checkpoint/Resume (
--resume): If Hypoxia crashes, loses power, or the media dies mid-task, feed the forensic log back with--resume <log_file>. Hypoxia continues from exactly where it stopped, verifying previously copied files by path and hash. Unlikersync, which re-scans the entire tree, Hypoxia jumps straight to the last unfinished file. --excludeFlag: Exclude directories from scan by name (e.g.,--exclude "windows,program files,.git"). Matching is case-insensitive and works at any depth.--zipFlag: Compress the output folder into a.ziparchive after collection is complete. The archive includes the forensic manifest and log.
Documentation
- Updated README: Added all new features to Key Features, Use Cases, and Command-Line Options table. Updated the terminal screenshot. Improved image alt text for search engine discoverability.
- CI Badge: Added a CI status badge to the README header.
