# `OpenrelikWorkerCommon`
[🔗](https://github.com/hacktobeer/openrelik-worker-common-elixir/blob/v0.1.0/lib/openrelik_worker_common.ex#L15)

Elixir port of Python's `openrelik_worker_common` library.

Provides shared helper modules for OpenRelik forensic workers:
* `OpenrelikWorkerCommon.DataTypes` (`data_types.py`) - Standard OpenRelik data types (`diskimage:qcow`, `diskimage:raw`, `binary`).
* `OpenrelikWorkerCommon.TaskUtils` (`task_utils.py`) - Task input resolution (`get_input_files/3`), Base64/JSON result encoding (`create_task_result/1..7`), and glob-based file filtering (`filter_compatible_files/2`).
* `OpenrelikWorkerCommon.FileUtils` (`file_utils.py`) - `OutputFile` struct, `create_output_file/2`, `count_file_lines/1`, `build_file_tree/2`, `delete_file_tree/1`, `get_relative_path/1`, and `is_disk_image/1`.
* `OpenrelikWorkerCommon.Reporting` (`reporting.py`) - `Report`, `MarkdownDocument`, `MarkdownDocumentSection`, `MarkdownTable`, `MarkdownFormatter`, `Priority`, and `serialize_file_report/3`.
* `OpenrelikWorkerCommon.ArchiveUtils` (`archive_utils.py`) - Archive extraction via `tar` and `7z` (`extract_archive/3..7`).
* `OpenrelikWorkerCommon.PasswordUtils` (`password_utils.py`) - Password hash cracking via `hashcat` and `john` (`bruteforce_password_hashes/4..7`).
* `OpenrelikWorkerCommon.MountUtils` (`mount_utils.py`) - `BlockDevice` mapping and mounting for raw, QCOW2/3, and EWF (`.E01`/`.EX01`) forensic disk images with Redis NBD device locking.

# `bruteforce_password_hashes`

# `build_file_tree`

# `count_file_lines`

# `create_output_file`

# `create_task_result`

# `delete_file_tree`

# `encode_dict_to_base64`

# `extract_archive`

# `filter_compatible_files`

# `get_input_files`

# `get_relative_path`

# `is_disk_image`

# `serialize_file_report`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
