Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antony-jr/QAppImageUpdate

Qt5 library and plugin for updating AppImages. :heart:
https://github.com/antony-jr/QAppImageUpdate

appimage appimage-updater-bridge autoupdate bridge c-plus-plus easy-to-use library qt5 small updater zsync

Last synced: 9 days ago
JSON representation

Qt5 library and plugin for updating AppImages. :heart:

Awesome Lists containing this project

README

        

# QAppImageUpdate [![GitHub issues](https://img.shields.io/github/issues/antony-jr/QAppImageUpdate.svg?style=flat-square)](https://github.com/antony-jr/QAppImageUpdate/issues) [![GitHub stars](https://img.shields.io/github/stars/antony-jr/QAppImageUpdate.svg?style=flat-square)](https://github.com/antony-jr/QAppImageUpdate/stargazers) [![GitHub license](https://img.shields.io/github/license/antony-jr/QAppImageUpdate.svg?style=flat-square)](https://github.com/antony-jr/QAppImageUpdate/blob/master/LICENSE) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/8ec8eac35a304883829b785d298b6fa6)](https://www.codacy.com/app/antony-jr/QAppImageUpdate?utm_source=github.com&utm_medium=referral&utm_content=antony-jr/QAppImageUpdate&utm_campaign=Badge_Grade) [![Test and Deploy](https://github.com/antony-jr/QAppImageUpdate/actions/workflows/test-and-deploy.yml/badge.svg)](https://github.com/antony-jr/QAppImageUpdate/actions/workflows/test-and-deploy.yml)

**Note**: QAppImageUpdate was formerly known as *"AppImage Updater Bridge"*. As of v2.0.0 of the project, it is now known as QAppImageUpdate with
breaking changes to everything. So if you want to use v1.x, you can use the git tag **v1.1.9** which is latest version of v1.x

QAppImageUpdate is a **delta updater** based on the *zsync algorithm* for the *AppImage format*, Using this library you can
delta update any AppImage file, That is, Only download the binary data which you need to get the latest version,
Therefore saving your time and internet.

QAppImageUpdate is not the **official library** to do this stuff, The official library is [here](https://github.com/AppImage/AppImageUpdate) which is also written in **C++** but with no real **Qt support** , Thats why this library is built.

This library gives absolute support for *Qt*, Infact, All you need is the minimal installation of *Qt*(i.e, base).

## Features

* *Single Threaded , Non-Blocking API* - Using Qt's Event Loop.(Optionally , You can use a seperate thread.)

* *Easy to Use API* - Made some effort to match Qt's style.

* *Cyclic and Async API* - The whole library is fully cyclic and Async.(Only signals and slots.)

* *Pure C++* - Ported most of the legacy Zsync code to C++.

* *No third party libraries needed* - The reason why you want to use this library.

* *Drink the Qt Kool-aid* - In a positive way.

* *Optional Decentralized Update with BitTorrent Protocol* - Reduce load on server.

**Witness it with your own eyes,**

```
#include
#include

int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
QAppImageUpdate updater;

QObject::connect(&updater, &QAppImageUpdate::finished,
&app, &QCoreApplication::quit);

updater.setShowLog(true);
updater.start();
return app.exec();
}
```

# Try it

See this library in **action** at this [repo](https://github.com/antony-jr/AppImageUpdater) which reimplements the official **AppImageUpdater Tool** using this library.

# Getting Started

For Documentation on old versions, See [Documentation Versions](https://antonyjr.in/QAppImageUpdate/versions.html).

Please refer the official [Documentation](https://antony-jr.github.io/QAppImageUpdate).

# Contributors [![Contributors](https://img.shields.io/github/contributors/antony-jr/QAppImageUpdate.svg)](https://github.com/antony-jr/QAppImageUpdate/graphs/contributors)







technic93



๐Ÿ’ป






Lukas Werling



๐Ÿ’ป






Alexis Lรณpez Zubieta



๐Ÿ’ป






probonopd



๐Ÿ’ป






Friedrich



๐Ÿ’ป

# Acknowledgements ![Thank You](https://img.shields.io/badge/Always-Say%20Thank%20You!-blue.svg?style=flat-square)

* [AppImages](https://github.com/AppImage) - Motivation to start this project.
* [zsync](https://github.com/cph6/zsync) ([Colin Phipps](https://github.com/cph6)) - Zsync algorithm's author.
* [zsync2](https://github.com/AppImage/zsync2) ([@TheAssassin](https://github.com/TheAssassin)) - Helpful references.
* [Qt](https://github.com/qt) - And Everything else.

# Support [![Twitter](https://img.shields.io/twitter/url/https/github.com/antony-jr/QAppImageUpdate.svg?style=social)](https://twitter.com/intent/tweet?text=Checkout%20%23QAppImageUpdate%20at%20https%3A%2F%2Fgithub.com%2Fantony-jr%2FQAppImageUpdate)

If you think that this project is **cool** then you can give it a :star: or :fork_and_knife: it if you want to improve it with me. I really :heart: stars though!

# License

The BSD 3-clause "New" or "Revised" License.

Copyright (C) 2017-2020, Antony jr.
All Rights Reserved.