Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fau.fpt.icu/llms.txt

Use this file to discover all available pages before exploring further.

fp-appimage-updater provides two independent features to reduce download size and speed up updates: zsync delta downloads and segmented (parallel range) downloads.
These two features are complementary. zsync re-uses bytes from a previous local version to reconstruct the new file. Segmented downloads split the download into parallel HTTP range requests to speed up the initial fetch. You can use either or both.

zsync (delta downloads)

zsync downloads only the blocks that have changed between your locally installed AppImage and the new version, significantly reducing bandwidth for incremental updates. fp-appimage-updater handles this through its built-in zsync-rs backend, so you do not need a separate system zsync package. The delta path is automatic when the recipe enables it and a local AppImage is available.

Enable per app

Set zsync: true in an app recipe to derive the .zsync URL from the resolved download URL:
name: myapp
zsync: true
strategy:
  strategy: forge
  repository: https://github.com/example/myapp
  asset_match: "myapp-*.AppImage"
If you know the .zsync URL directly, provide it as a string:
name: myapp
zsync: "https://example.com/myapp.AppImage.zsync"
strategy:
  strategy: direct
  url: "https://example.com/myapp.AppImage"
  check_method: etag
What happens during a zsync update:
  1. fp-appimage-updater looks for the previously installed AppImage path in its local state.
  2. It builds the .zsync URL from the resolved download URL, or uses the explicit URL you provided.
  3. It runs the built-in zsync backend against the old file and a temporary output file.
  4. If that succeeds, it renames the temporary file into place.
  5. If it fails, or if no local AppImage exists yet, it falls back to the normal download path.

Segmented downloads (HTTP ranges)

Segmented downloads split large files into parallel HTTP range requests, which speeds up downloads from servers that support the Range header. This feature is enabled by default.

Disable globally

To turn off segmented downloads for all apps, set the following in config.yml:
segmented_downloads: false

Override per app

You can override the global setting for a specific app:
name: myapp
segmented_downloads: false
strategy:
  strategy: direct
  url: "https://example.com/myapp.AppImage"
  check_method: etag
To check whether a server supports range requests for a given app, run fp-appimage-updater check. The output includes range support hints for direct-download apps.
Last modified on April 17, 2026