Repository navigation
v0.3.0
First public release.
Added
- Terminal UI built on ratatui: disk list with type/size/bus, details pane for the selected disk (name, number, bus, partition style, partitions and letters), header showing version and elevation status (
● admin), and a footer with the key map.↑↓/jkselect,rrescans,?shows help,qquits. - Format (
f) — clean, partition (GPT or MBR), format and assign a drive letter using one of five presets: Windows (NTFS/GPT), macOS (exFAT/GPT), Linux (real ext4 created through WSL 2, GPT), PlayStation 5 (exFAT/MBR) and Universal (FAT32 ≤ 32 GB, exFAT above, MBR). - Quick erase (
e) — destroys the partition table; takes seconds. - Secure erase — zero-fills every sector through raw
\\.\PhysicalDriveNwrites, with live speed and ETA, cancellable from the progress dialog. - Write image (
i) — dd-style sector writer for.iso/.img/.raw/.bin/.wicfiles, for creating bootable USB media; cancellable. - Non-interactive listing —
diskutility --list/-lprints the disk table without starting the TUI;--version/-Vprints the version and build stamp. - Self-update — the TUI shows a banner when a newer GitHub release exists;
diskutility --updatedownloads and installs it. - One-line installer —
install.ps1(irm …/install.ps1 | iex) downloads the latest release, and the repo ships a winget manifest underpackaging/winget. - Session log — every PowerShell script the app runs, its full stdout/stderr and exit code, and each operation step are timestamped into
diskutility.lognext to the executable (falling back to%TEMP%). Presscanywhere — including inside a failed-operation dialog — to copy the whole session log to the clipboard. - Write-protected drive handling — the prep step clears the read-only attribute with
Set-Disk, retries withdiskpart attributes disk clear readonly, and fails with a clear message if the enclosure has a hardware lock.
Security
- The Windows system/boot disk is refused by default, both in the UI and inside every worker script.
- The disk hosting the running executable is refused by default.
- Every destructive action requires typing the disk number in a confirmation dialog.
- Writes require an elevated (administrator) terminal; without it the app is read-only.
- Safety override (
u) — protections can be disabled for the session by typingUNLOCKin a warning dialog. The header turns red with a⛨ PROTECTIONS OFFbadge, and acting on a protected disk then requires typingDESTROY <disk number>. Pressuagain to re-lock.