Lightning fast image flashing tool
Find a file
2024-10-15 15:48:11 -05:00
.vscode Update readme 2024-10-15 15:34:14 -05:00
src Changed sync message for clarity 2024-10-15 15:48:11 -05:00
.gitignore Add gitignore 2024-10-15 15:45:48 -05:00
Cargo.lock Update readme 2024-10-15 15:34:14 -05:00
Cargo.toml Update readme 2024-10-15 15:34:14 -05:00
README.md Update readme 2024-10-15 15:34:14 -05:00

Zap - Lightning Fast CLI Image Flasher

Zap is a command-line interface (CLI) tool designed for quick and efficient ISO image flashing. It offers both interactive and command-line modes, making it versatile for various use cases.

Features

  • Interactive mode for guided operation
  • Support for predefined operating systems
  • Custom ISO file flashing
  • Dry run option for testing without disk writes
  • Quiet mode for integration with GUI applications

Usage

Zap can be used in several ways:

Basic Usage

zap [OPTIONS]

Interactive Mode

zap -i

Flashing a Custom ISO

zap -f path/to/your/file.iso -t /dev/sdX

Using a Predefined OS

zap -o Oreon -t /dev/sdX

Options

  • -i, --interactive: Enable interactive mode (ignores all other arguments)
  • -d, --dry-run: Perform a dry run without modifying anything on disk
  • -q, --quiet: Don't log to stdout (useful for GUI applications)
  • -o, --os <OS>: Use one of the predefined operating systems
  • -f, --file <FILE>: Path to the ISO file
  • -t, --target <TARGET>: Specify the drive/partition to write the ISO to

Supported Operating Systems

Currently, Zap supports the following predefined operating systems:

  • Oreon

More operating systems will be added in future updates.

Error Handling

Zap includes robust error handling to prevent common mistakes:

  • OS and File arguments cannot be used simultaneously
  • Drive argument is required when a file is chosen
  • Only ISO files are accepted
  • The specified ISO file must exist
  • Drive argument is required when no OS or file is chosen

Contributing

We welcome contributions! Feel free to submit pull requests or open issues on our project repository.

License

This project is licensed under the GNU Affero General Public License (AGPL). See the LICENSE file for details.