Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

udf-http-range-proxy

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.

Usage

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.bin

Python 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.

Tests

python -m unittest discover -s tests -v
ruff check .
ruff format --check .

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages