ZenFS Archives

ZenFS Archive Backends

ZenFS backends for archive files.

This packages adds a few backends:

  • Zip allows you to create a readonly file system from a zip file.
  • Iso allows you to create a readonly file system from a .iso file.

For more information, see the API documentation.

[!IMPORTANT] Please read the ZenFS core documentation!

The easiest way to get started is by looking at these examples

import { configure, fs } from '@zenfs/core';
import { Zip } from '@zenfs/archives';

const res = await fetch('http://example.com/archive.zip');

await configure({
mounts: {
'/mnt/zip': { backend: Zip, data: await res.arrayBuffer() },
},
});

const contents = fs.readFileSync('/mnt/zip/in-archive.txt', 'utf-8');
console.log(contents);
import { configure, fs } from '@zenfs/core';
import { Iso } from '@zenfs/archives';

const res = await fetch('http://example.com/image.iso');

await configure({
mounts: {
'/mnt/iso': { backend: Iso, data: new Uint8Array(await res.arrayBuffer()) },
},
});

const contents = fs.readFileSync('/mnt/iso/in-image.txt', 'utf-8');
console.log(contents);

The Iso implementation uses information on the ISO9660/ECMA119 standards from: