udf-http-range-proxy exposes one file stored inside a remote UDF image as a small
localhost HTTP endpoint with byte-range support.
It is intended for large HTTP-hosted ISO/UDF images where a consumer needs random access to one embedded file without downloading the complete image first. The program reads only bounded UDF metadata into memory. Payload bytes are fetched from the upstream object with HTTP Range requests and streamed to the local client.
udf-http-range-proxy IMAGE_URL PATH [--bind ADDRESS] [--port PORT]
The selected localhost port is printed to stdout after the UDF path has been resolved.
Diagnostic metadata is printed to stderr. The local directory contains one file using the
basename of PATH.
Example:
udf-http-range-proxy \
https://example.invalid/archive.iso \
path/to/large-file.binPython 3.10 or newer is required.
The upstream server must support HTTP byte ranges and return exact Content-Range and
Content-Length headers. The current implementation supports the UDF structures needed by
ordinary ISO/UDF images using type-1 partition maps and short or long allocation
descriptors. Unsupported or malformed structures fail closed.
python -m unittest discover -s tests -v
ruff check .
ruff format --check .