poka.sh

Docs

PAR2

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Par2 Recovery Preview.

At a glance

Purpose A Parchive 2 recovery file: packets describing a set of files and recovery blocks that can rebuild damaged parts of them.
Extensions .par2
Poka parser poka-par2
Viewer poka-tree-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-par2/src/main.rs (299 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.par2, read by no test. Covers .par2. The tree walks the packets and shows the slice size, files protected, recovery blocks, total recovery size, creator and recovery set ID, lists the protected files from their file-description packets, and gives a packet histogram. Judgement: B4: the recovery set is described, but the protected files are not checked.

What Poka does not read

  • The protected files are not verified against their hashes (they are not available in the sandbox)
  • Recovery slices are counted, not checked
  • Packet MD5s are not verified
  • Only the first 300 files are listed

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • rust-par2 (candidate; MIT OR Apache-2.0; Rust; https://docs.rs/crate/rust-par2/latest) — Parses index and volume .par2 packets, verifies and repairs; v0.1.3 seen; docs.rs lists repo as AusAgentSmith-org/rust-par2 (text label differs, check).
  • par2rs (reference; GPL-3.0-only; Rust; https://github.com/mjc/par2rs) — copyleft; par2cmdline-compatible implementation; packet parsing via binrw; copyleft.
  • par2-rs (rarpar) (reference; GPL-3.0-or-later; Rust; https://docs.rs/crate/par2-rs/latest) — copyleft; Verification and repair, all packet types; default crypto backend needs a C toolchain; copyleft.
  • omnizip-par2 (candidate; MIT OR Apache-2.0; Rust; https://github.com/omnizip/omnizip-rs) — PAR2 parity archives — packets, MD5/CRC64 slice verification, Reed-Solomon recovery over GF(2^16) on omnizip-archive-core; v0.21.117, updated 2026-09-24; matched on lib.rs, not tested

Sources

  • parsers/poka-par2/src/main.rs
  • parsers/poka-par2/plugin.json