| Crates.io | formatted-index-macro |
| lib.rs | formatted-index-macro |
| version | 1.0.0 |
| created_at | 2025-05-06 06:26:52.949775+00 |
| updated_at | 2025-05-06 06:26:52.949775+00 |
| description | A small macro that can generate 1-based string indexes for enum variants |
| homepage | |
| repository | https://github.com/h33333333/xray |
| max_upload_size | |
| id | 1661929 |
| size | 43,999 |

A blazing fast Docker (or any OCI-compliant) image layer inspector!
Xray helps developers understand and optimize container images by visualizing layers and their contents using a minimalistic but powerful UI with performance in mind.

xray values your CPU cyclesThis is essentially a beta release at this point, so don't hesitate to open an issue if you find any bugs while using it 🍀
⚠️ Requires the nightly compiler
# If Rust nightly wasn't installed before
$ rustup toolchain install nightly
$ cargo +nightly install --locked xray
Everyone who had to work with container images before knows about the dive tool created by @wagoodman. It's a great tool, but it doesn't work that well for bigger images, especially the ones that are 5 GB or more in size.
Xray fixes this problem by carefully managing available resources and applying a set of small but important optimizations. All these things make Xray far more responsive when used with large images, while still providing the core functionality and being easy to use.
$ xray --help
Usage: xray [OPTIONS] <IMAGE>
Arguments:
<IMAGE>
Options:
-p, --config-path <CONFIG_PATH>
-h, --help Print help
-V, --version Print version
To inspect a Docker image stored as a tarred repository use:
xray <PATH_TO_IMAGE_TAR>
💡 You can always use the help popup available by pressing
/to get the contextualized help for the currently active pane.
| Key Sequence | Action |
|---|---|
1 |
select the "Image Information" pane |
2 |
select the "Layer Information" pane |
3 |
select the "Layers" pane |
4 |
select the "Layer Changes" pane |
Left, h |
scroll the current entry left (if supported by pane) |
Down, j |
select the next entry in the current pane |
Up, k |
select the previous entry in the current pane |
Right, l |
scroll the current entry right (if supported by pane) |
Tab |
cycle through the panes: next pane |
Shift-Tab |
cycle through the panes: previous pane |
q |
exit the app |
| Key Sequence | Action |
|---|---|
Enter, Space |
toggle the selected directory (inside the "Layer Changes" pane) |
Ctrl-f |
open the filter popup (inside the "Layer Changes" pane) |
y |
copy the currently selected value to the clipboard (if supported by pane) |
/ |
open/close the help popup |
This section contains additional good-to-have things that I plan to add besides fixing everything in the Limitations section.
Xray is distributed under the GNU General Public License version 3. See COPYING for full details.