poka.sh

Docs

ISO

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.

Iso Preview.

At a glance

Purpose An ISO 9660 optical-disc image: the file system of a CD or DVD, with Joliet or Rock Ridge extensions.
Extensions .iso
Poka parser poka-iso
Viewer poka-table-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: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-26: read parsers/poka-iso/src/main.rs (967 lines) and plugin.json. 21 unit tests (tree walk limits, loops, multi-extent files, the declared-size check) and corpus tests over netboot.xyz.iso, including a_corpus_iso_counts_the_entries_pycdlib_counts, which compares the whole-tree count with an independent reader. Covers .iso. The table lists the root directory (name, file or directory, size) with Joliet (UTF-16, surrogate pairs included) or Rock Ridge names, read by its own code since #527 (no ISO 9660 crate); the whole tree is walked for file and directory counts; the volume's declared size is checked against the file. Judgement: B4: the image is listed and counted, but only the root folder is listed and no file is extracted.

What Poka does not read

  • Only the root directory is listed; subdirectories are counted, not shown
  • File contents are not extracted or shown
  • Volume descriptor fields (volume label, system and publisher identifiers, dates) are not shown
  • El Torito boot records and UDF file systems (DVD and Blu-ray) are not read
  • Only the first 500 root entries are listed; the tree walk stops at 200,000 entries

Libraries

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

  • iso9660_simple (reference; MIT; Rust) — Used until #527: it pulled in the MPL-2.0 ucs2 crate and panicked on Joliet names outside ASCII; poka-iso now reads the descriptors and directory records itself.
  • cdfs (candidate; MIT OR Apache-2.0; Rust; https://docs.rs/cdfs) — Userland ISO 9660 reader with SUSP/Rock Ridge entries; Joliet support not stated; repo is git.sr.ht/~az1/iso9660-rs; has a fuser dependency, check it builds for wasm.
  • libarchive (candidate; BSD-2-Clause; C; https://github.com/libarchive/libarchive) — Reads ISO9660 images with optional Rock Ridge and Joliet; licence is 2-clause BSD-style per COPYING.
  • pycdlib (candidate; LGPL-2.1; Python; https://github.com/clalancette/pycdlib) — Pure-Python library to read/write ISOs; supports Joliet, Rock Ridge, El Torito and UDF per README.
  • DiscUtils (candidate; MIT; C#/.NET; https://github.com/DiscUtils/DiscUtils) — Managed .NET library with CDReader for ISO images, also UDF, FAT, NTFS and VHD/VMDK.

Sources

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