master
appimage-manager
Install, update, and manage AppImages from GitHub, GitLab, Gitea, or direct URLs.
Install
go install git.quad4.io/Quad4-Software/appimage-manager/cmd/appimage-manager@latest
Or build from source:
task build:release
Commands
appimage-manager install <url> [name] # Install from repo or direct URL
appimage-manager uninstall <name> # Remove an installed app
appimage-manager update [name] # Update app(s) to latest (parallel when no name)
appimage-manager list # List installed apps
appimage-manager info <name> # Show app details and versions
appimage-manager rollback <name> [ver] # Switch to a previous version
appimage-manager run <name> [args] # Run app (alias: launch)
appimage-manager prune [name] # Remove old versions beyond keep-versions
appimage-manager verify [name] # Verify integrity of installed AppImages
appimage-manager export # Export installed apps for backup
appimage-manager import [file] # Import and install from export file or stdin
appimage-manager doctor # Check config, PATH, and symlinks
appimage-manager status [name] # Check update availability
appimage-manager search [query] # Search GitHub for AppImage repos
appimage-manager sources [add|remove] # Manage source list
Install options: --version v1.2.3 for a specific release, --checksum SHA256 to require a checksum.
Features
- Providers: GitHub, GitLab, Gitea, direct AppImage URLs (HTTPS or SSH)
- Downloads: HTTP range requests, 4 concurrent workers for files over 2MB, resume interrupted downloads
- Progress: Percent, speed, and ETA during download
- Integrity: Local SHA256, optional upstream checksum,
--strict-integrity,--no-integrity - Version retention:
--keep-versions N(default 3) - Elevation: PolicyKit (pkexec) when needed;
--no-elevateto disable - Desktop:
--desktopcreates .desktop files in ~/.local/share/applications - Config:
~/.config/appimage-manager/config.json(arch, state_dir, bin_dir, etc.) - Caching: Release metadata cached for 30 minutes
Options
| Flag | Env | Default |
|---|---|---|
--arch |
APPIMAGE_MANAGER_ARCH |
x86_64 |
--state-dir |
APPIMAGE_MANAGER_STATE_DIR |
~/.local/share/appimage-manager |
--bin-dir |
APPIMAGE_MANAGER_BIN_DIR |
/usr/local/bin |
--user |
Install to ~/.local/bin | |
--strict-integrity |
APPIMAGE_MANAGER_STRICT_INTEGRITY |
false |
--keep-versions |
APPIMAGE_MANAGER_KEEP_VERSIONS |
3 |
--timeout |
HTTP timeout in seconds (0 = no limit) | |
--concurrency |
Download workers (0 = default 4) | |
--retries |
Retry failed downloads N times | |
--dry-run |
Show what would be done | |
--json |
Output in JSON format | |
--quiet |
Suppress non-error output | |
--verbose |
Verbose output | |
--no-elevate |
Do not use pkexec | |
--no-integrity |
Skip checksum verification | |
--no-color |
Disable colored output | |
--copy |
Copy to bin dir instead of symlink | |
--yes, -y |
Skip confirmations | |
--desktop |
Create .desktop file | |
--log-json |
Structured JSON logging |
Development
task test # Run tests
task test:fuzz # Run fuzz tests
License
BSD Zero Clause License. See LICENSE.
Languages
Go
100%