Add Phase 5 enhancements: security, i18n, analysis, backup, notifications
- Database v8 migration: tags, pinned, avg_startup_ms columns - Security scanning with CVE matching and batch scan - Bundled library extraction and vulnerability reports - Desktop notification system for security alerts - Backup/restore system for AppImage configurations - i18n framework with gettext support - Runtime analysis and Wayland compatibility detection - AppStream metadata and Flatpak-style build support - File watcher module for live directory monitoring - Preferences panel with GSettings integration - CLI interface for headless operation - Detail view: tabbed layout with ViewSwitcher in title bar, health score, sandbox controls, changelog links - Library view: sort dropdown, context menu enhancements - Dashboard: system status, disk usage, launch history - Security report page with scan and export - Packaging: meson build, PKGBUILD, metainfo
This commit is contained in:
100
README.md
Normal file
100
README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Driftwood
|
||||
|
||||
A modern GTK4/libadwaita AppImage manager for GNOME desktops.
|
||||
|
||||
Driftwood discovers, inspects, integrates, updates, and audits AppImage files
|
||||
with a clean GNOME-native interface built for the Wayland era.
|
||||
|
||||
## Features
|
||||
|
||||
- **Library management** - Scan directories to discover AppImages, view them in
|
||||
grid or list mode with status badges for FUSE, Wayland, and update status
|
||||
- **Desktop integration** - Create .desktop files and install icons with one click
|
||||
- **FUSE and Wayland detection** - Automatically detect compatibility and suggest
|
||||
launch methods (direct, extract-and-run, or sandboxed)
|
||||
- **Update checking** - Read embedded update information (GitHub Releases, GitLab,
|
||||
zsync) and check for newer versions
|
||||
- **Security scanning** - Extract bundled shared libraries and check them against
|
||||
the OSV.dev vulnerability database
|
||||
- **Duplicate detection** - Find AppImages that are different versions of the same
|
||||
app or identical files in different locations
|
||||
- **Disk footprint analysis** - Discover config, data, and cache files associated
|
||||
with each AppImage
|
||||
- **Sandboxing** - Optional Firejail sandbox support per-app
|
||||
- **Orphan cleanup** - Detect and remove .desktop files for AppImages that no
|
||||
longer exist
|
||||
- **CLI interface** - Full command-line access to all core features
|
||||
|
||||
## Requirements
|
||||
|
||||
- GTK 4.16+
|
||||
- libadwaita 1.6+
|
||||
- SQLite 3
|
||||
- gettext
|
||||
|
||||
Optional:
|
||||
- firejail (for sandboxed launches)
|
||||
- fuse2/fuse3 (for AppImage FUSE mounting)
|
||||
- appimageupdate (for delta updates)
|
||||
|
||||
## Building from source
|
||||
|
||||
```sh
|
||||
# Development build (uses cargo directly)
|
||||
cargo build
|
||||
cargo run
|
||||
|
||||
# System installation (uses meson)
|
||||
meson setup build --prefix=/usr
|
||||
meson compile -C build
|
||||
sudo meson install -C build
|
||||
```
|
||||
|
||||
## CLI usage
|
||||
|
||||
```sh
|
||||
# Scan configured directories for AppImages
|
||||
driftwood scan
|
||||
|
||||
# List all known AppImages
|
||||
driftwood list
|
||||
driftwood list --format json
|
||||
|
||||
# Inspect a specific AppImage
|
||||
driftwood inspect ~/Applications/Firefox.AppImage
|
||||
|
||||
# Integrate into desktop menu
|
||||
driftwood integrate ~/Applications/Firefox.AppImage
|
||||
|
||||
# Check for updates
|
||||
driftwood check-updates
|
||||
|
||||
# Run a security scan
|
||||
driftwood security
|
||||
driftwood security ~/Applications/Firefox.AppImage
|
||||
|
||||
# Launch with tracking
|
||||
driftwood launch ~/Applications/Firefox.AppImage
|
||||
driftwood launch --sandbox ~/Applications/Firefox.AppImage
|
||||
|
||||
# Find duplicates
|
||||
driftwood duplicates
|
||||
|
||||
# Show disk footprint
|
||||
driftwood footprint ~/Applications/Firefox.AppImage
|
||||
|
||||
# System status
|
||||
driftwood status
|
||||
|
||||
# Clean orphaned entries
|
||||
driftwood clean-orphans
|
||||
```
|
||||
|
||||
## Packaging
|
||||
|
||||
- **Flatpak**: See `build-aux/app.driftwood.Driftwood.json`
|
||||
- **Arch Linux (AUR)**: See `packaging/PKGBUILD`
|
||||
|
||||
## License
|
||||
|
||||
GPL-3.0-or-later
|
||||
Reference in New Issue
Block a user