Home › Playgrounds › Remote range access

Open a 50 GB archive with the memory of its central directory

openZipRange() (1.1) never fetches: you inject a ByteRangeSource — { size, read(offset, length) } — and the engine asks for exactly the bytes a read needs: one tail window, the central directory, then the local header and payload of the entry you ask for. Every limit and cross-check of openZip() applies. Below, the source counts its reads so you can see the arithmetic.

1 · A dropped file, read by ranges

Drop a large .zip (a JAR, a dataset, a game asset bundle). The source is Blob.slice() — the file is not loaded into memory — and the counter shows how little of it the inventory needs.

Drop a .zip here (the bigger, the better)
or click to choose a file — read by ranges, never uploaded, never fully loaded

2 · A URL served with HTTP Range

Any URL that answers HEAD with a Content-Length, honours Range (status 206) and allows this origin through CORS — object storage with a public bucket, a CDN, GitHub Pages. The source is fetch with a Range: bytes=… header.