An open API service indexing awesome lists of open source software.

https://github.com/emmercm/dolphin-tool-js

🐬 dolphin-tool binaries and wrapper for Node.js.
https://github.com/emmercm/dolphin-tool-js

dolphin dolphin-tool gcz isos roms rvz wia

Last synced: 4 months ago
JSON representation

🐬 dolphin-tool binaries and wrapper for Node.js.

Awesome Lists containing this project

README

          

🐬 dolphin-tool

Pre-compiled binaries and Node.js wrapper for Dolphin's dolphin-tool.


npm: version
npm: downloads
GitHub: stars
license

## Supported platforms

| OS | Architectures |
|---------|-------------------------------------------------------------|
| Windows |


  • x64

  • arm64

|
| macOS |

  • arm64 (Apple Silicon)

  • x64 (Intel)

|
| Linux |

  • x64

  • arm v7

  • arm64 v8

|

## Running

You can easily run the `dolphin-tool` binary for your OS from the command line like this:

```shell
npx dolphin-tool [command] [options..]
```

Examples:

```shell
npx dolphin-tool --help
npx dolphin-tool header -i Image.rvz
npx dolphin-tool verify -i Image.rvz -a md5
```

## Installation

```shell
npm install --save dolphin-tool
```

## Usage

```javascript
import dolphinTool from 'dolphin-tool';

/**
* Create images
*/
await dolphinTool.convert({
inputFilename: 'image.iso',
outputFilename: 'image.rvz',
containerFormat: ContainerFormat.RVZ,
blockSize: 131_072,
compressionMethod: CompressionMethodWiaRvz.ZSTD,
compressionLevel: 5,
});
console.log(await dolphinTool.header({ inputFilename: 'image.rvz' }));
// { blockSize: 131072, compressionMethod: 'zstd', compressionLevel: 5, ... }

/**
* Verify images
*/
const digests = await dolphinTool.verify({
inputFilename: 'image.gcz',
digestAlgorithm: DigestAlgorithm.MD5,
});
console.log(digests.md5);
// 0d6e1901...

/**
* Extract files
*/
const files = await dolphinTool.listFiles({
inputFilename: 'image.wia',
});
console.log(files);
// [ ... ]
await dolphinTool.extract({
inputFilename: 'image.wia',
outputFolder: './'
});
```

## License

[Dolphin](https://github.com/dolphin-emu/dolphin) itself is licensed under the GPLv2 license but is ["overall...compatible with the GPLv3 license"](https://github.com/dolphin-emu/dolphin/blob/master/COPYING).