7 releases (4 breaking)
| new 0.5.0 | Mar 31, 2026 |
|---|---|
| 0.4.0 | Dec 28, 2025 |
| 0.3.0 | Dec 1, 2024 |
| 0.2.2 | Dec 1, 2024 |
| 0.1.2 | Nov 14, 2024 |
#454 in Images
170KB
4K
SLoC
🗜️ Squishy
A convenient wrapper around the backhand library for reading and extracting files from SquashFS filesystems.
Features
- Extract AppImage resources:
- Icon files (PNG/SVG)
- Desktop entries
- AppStream metadata
- Flexible output options
Installation
From crates.io
cargo install squishy-cli
From source
git clone https://github.com/pkgforge/squishy-rs
cd squishy-rs
cargo install --path squishy-cli
Usage
The CLI tool provides convenient commands for working with AppImage files.
Basic Commands
# Extract icon from an AppImage
squishy appimage path/to/app.AppImage --icon
# Extract desktop file
squishy appimage path/to/app.AppImage --desktop
# Extract AppStream metadata
squishy appimage path/to/app.AppImage --appstream
# Extract and save files to a specific directory
squishy appimage path/to/app.AppImage --icon --write /output/path
# Extract multiple resources at once
squishy appimage path/to/app.AppImage --icon --desktop --appstream --write
# Filter path by query
squishy appimage path/to/app.AppImage --filter "squishy" --icon --desktop --appstream --write
# Provide custom offset (it'd be calculated automatically if not provided)
# Appimage offset can be read using `path/to/app.AppImage --appimage-offset`
squishy appimage path/to/app.AppImage --offset 128128 --icon --desktop --appstream --write
# The default output file has same name as the provided file.
# Use --original-name to save as the same file name found inside SquashFS
squishy appimage path/to/app.AppImage --icon --write --original-name
# Extract contents of squashfs to a specific directory
squishy unsquashfs path/to/app.AppImage -w /output/path
Command Options
--offset: Custom offset (i.e. the size of ELF)--filter: Filter the files using provided query--icon: Extract application icon--desktop: Extract desktop entry file--appstream: Extract AppStream metadata--write: Write files to disk (optional path argument)
License
This project is licensed under the [MIT] License - see the LICENSE file for details.
Dependencies
~19MB
~288K SLoC