goappimagetool

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: Apache-2.0

README

goAppImageTool

A stripped down version of the original appimagetool written in go.

This is going to be used in the Desktop.js CLI to allow for cross platform bundling of linux app versions.

  • Create a good CLI experience
  • Make it a go package which is easy to be imported and work with
  • Transformation of AppDir directory to squashfs filesystem
  • Download of appimage engine according to specified platform
  • Check downloaded appimage engine against the supplied (hardcoded) public key, to verify integrity
  • Embed md5 integrity check
  • Implement .upd_info to allow for incremental updates using zsync
  • UNTESTED: Implement signing using pgp keys

This implementation however should already be enough to create a valid App Image Type 2 Format.

Usage of appimagetool [<folder>.AppDir, ...]:
  -arch string
        System Architecture on which the AppImage should run. Valid values are: x86_64, aarch64, i686, armhf (default "x86_64")
  -passphrase string
        (Optional) Passphrase of encrypted PGP key file. Only use if encrypted.
  -runtime-file string
        (Optional) Path of AppImage runtime which is copied into in the AppImage
  -sign-key string
        (Optional) Path of PGP private key file to sign the AppImage

As a convenience method, there also exists a command which lets you create a pgp key pair. The command is mkkey and as an argument it takes the email which is encoded into the key pair. As the certificate name, the local part of the email is taken (everything before the @).

appimagetool mkkey email@example.com [--passphrase]

you can then supply the created path of private.asc to the --sign-key param of the default command. A passphrase can still be set by supplying the --passphrase param during command invocation.

Directories

Path Synopsis
cmd
appimagetool command
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL