Skip to content

tuliocll/YAXUI

Repository files navigation

YAXUI - Yet Another xiso UI

A desktop GUI for converting Xbox ISO files - because using extract-xiso via CLI on a boring Sunday afternoon was getting old.

Runs on Windows (x86 & x64), macOS (x64 & Apple Silicon) and Linux (AppImage).

Screenshot of the YAXUI interface showing a game queue with progress bars and settings options

Download

→ Download the latest release

Windows x64 macOS Linux Electron React

⚠️ This is not a polished, production-ready project. It was built in a single Sunday afternoon as a personal tool to scratch my own itch. Don't expect enterprise-grade code.

What it does

Drop your Xbox .iso files into the queue, set a destination folder, and let it rip. The app handles the conversion job orchestration so you don't have to babysit a terminal.

Key features:

  • Conversion queue - add multiple ISOs and process them in order
  • Sequential or parallel conversion - run jobs one-by-one or in configurable batches
  • Per-game settings - enable/disable individual items and set custom output folders per game
  • Real-time progress - live feedback per job via IPC between the Electron main process and the renderer
  • Stop anytime - cancel the queue mid-run without killing the app

The queue + UI is really the whole point here. The actual ISO extraction heavy lifting is done entirely by extract-xiso - I just built the interface and the job orchestration around it.

Credits

All the hard work of actually extracting Xbox ISOs goes to extract-xiso by the XboxDev team. This project is just a GUI wrapper and a job queue on top of their binary.

Tech Stack

Running locally

Clone the repo and install dependencies:

git clone https://github.com/tuliocll/YAXUI

cd YAXUI

npm install

Start in development mode:

npm start

Package for production:

npm run package

Roadmap / Known Debt

  • Make parallel jobs optional - add a toggle and job count control to the settings modal instead of always running multi-job
  • Per-job custom output paths - allow setting an individual destination folder for each item in the queue, independent of the global output folder
  • Better error handling - right now if extract-xiso fails for a job, it just marks it as "error" and moves on. It would be nice to capture the error message and display it in the UI.
  • Linux - currently only tested on Windows and Mac, but extract-xiso is cross-platform so in theory it should work on other OSes with some tweaks to the file dialogs and process spawning.
  • Migrate to Tauri - Electron is a bit heavy-handed for this use case, and Tauri would allow for a much smaller app size and better performance. This was built in Electron mainly because of familiarity and speed of development, but a Tauri rewrite is on the table if there's enough interest.

License

MIT