{"id":13505558,"url":"https://github.com/antony-jr/QAppImageUpdate","last_synced_at":"2025-03-30T00:31:07.034Z","repository":{"id":60720795,"uuid":"115751538","full_name":"antony-jr/QAppImageUpdate","owner":"antony-jr","description":"Qt5 library and plugin for updating AppImages. :heart:","archived":false,"fork":false,"pushed_at":"2021-10-20T09:48:36.000Z","size":4412,"stargazers_count":29,"open_issues_count":1,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-24T14:39:56.141Z","etag":null,"topics":["appimage","appimage-updater-bridge","autoupdate","bridge","c-plus-plus","easy-to-use","library","qt5","small","updater","zsync"],"latest_commit_sha":null,"homepage":"https://antony-jr.github.io/QAppImageUpdate","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antony-jr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-29T20:19:32.000Z","updated_at":"2025-02-20T19:40:11.000Z","dependencies_parsed_at":"2022-10-03T18:35:41.034Z","dependency_job_id":null,"html_url":"https://github.com/antony-jr/QAppImageUpdate","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antony-jr%2FQAppImageUpdate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antony-jr%2FQAppImageUpdate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antony-jr%2FQAppImageUpdate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antony-jr%2FQAppImageUpdate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antony-jr","download_url":"https://codeload.github.com/antony-jr/QAppImageUpdate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246262490,"owners_count":20749170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appimage","appimage-updater-bridge","autoupdate","bridge","c-plus-plus","easy-to-use","library","qt5","small","updater","zsync"],"created_at":"2024-08-01T00:01:09.811Z","updated_at":"2025-03-30T00:31:02.022Z","avatar_url":"https://github.com/antony-jr.png","language":"C++","funding_links":[],"categories":["AppImage developer tools"],"sub_categories":["Libraries"],"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\u0026amp;utm_medium=referral\u0026amp;utm_content=antony-jr/QAppImageUpdate\u0026amp;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)\n\n**Note**: QAppImageUpdate was formerly known as *\"AppImage Updater Bridge\"*. As of v2.0.0 of the project, it is now known as QAppImageUpdate with\nbreaking 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\n\n\n\nQAppImageUpdate is a **delta updater** based on the *zsync algorithm* for the *AppImage format*, Using this library you can \ndelta update any AppImage file, That is, Only download the binary data which you need to get the latest version, \nTherefore saving your time and internet.\n\nQAppImageUpdate 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.\n\nThis library gives absolute support for *Qt*, Infact, All you need is the minimal installation of *Qt*(i.e, base).\n\n\n## Features\n\n* *Single Threaded , Non-Blocking API* - Using Qt's Event Loop.(Optionally , You can use a seperate thread.)\n\n* *Easy to Use API* - Made some effort to match Qt's style.\n\n* *Cyclic and Async API* - The whole library is fully cyclic and Async.(Only signals and slots.)\n\n* *Pure C++* - Ported most of the legacy Zsync code to C++.\n\n* *No third party libraries needed* - The reason why you want to use this library.\n\n* *Drink the Qt Kool-aid* - In a positive way.\n\n* *Optional Decentralized Update with BitTorrent Protocol* - Reduce load on server.\n\n**Witness it with your own eyes,**\n\n```\n#include \u003cQCoreApplication\u003e\n#include \u003cQAppImageUpdate\u003e\n\nint main(int argc, char **argv) \n{\n    QCoreApplication app(argc, argv);\n    QAppImageUpdate updater;\n\n    QObject::connect(\u0026updater, \u0026QAppImageUpdate::finished, \n\t\t      \u0026app, \u0026QCoreApplication::quit);\n    \n    updater.setShowLog(true);\n    updater.start();\n    return app.exec();\n}\n```\n\n\n# Try it\n\nSee this library in **action** at this [repo](https://github.com/antony-jr/AppImageUpdater) which reimplements the official **AppImageUpdater Tool** using this library.\n\n\n\n# Getting Started\n\nFor Documentation on old versions, See [Documentation Versions](https://antonyjr.in/QAppImageUpdate/versions.html).\n\nPlease refer the official [Documentation](https://antony-jr.github.io/QAppImageUpdate).\n\n# Contributors [![Contributors](https://img.shields.io/github/contributors/antony-jr/QAppImageUpdate.svg)](https://github.com/antony-jr/QAppImageUpdate/graphs/contributors)\n\n\n\n\u003ctable\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003e\n            \u003cimg src=\"https://avatars2.githubusercontent.com/u/1092613?v=4\" width=\"100px\"\u003e\u003cbr\u003e\n            \u003csub\u003e\n                \u003cstrong\u003e\n                    \u003ca href=\"https://github.com/technic\"\u003etechnic93\u003c/a\u003e\n                \u003c/strong\u003e\n            \u003c/sub\u003e\u003cbr\u003e\n            \u003ca href=\"https://github.com/antony-jr/QAppImageUpdate/commits?author=technic\"\u003e💻\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n            \u003cimg src=\"https://avatars3.githubusercontent.com/u/516527?v=4\" width=\"100px\"\u003e\u003cbr\u003e\n            \u003csub\u003e\n                \u003cstrong\u003e\n                    \u003ca href=\"https://github.com/lluchs\"\u003eLukas Werling\u003c/a\u003e\n                \u003c/strong\u003e\n            \u003c/sub\u003e\u003cbr\u003e\n            \u003ca href=\"https://github.com/antony-jr/QAppImageUpdate/commits?author=lluchs\"\u003e💻\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n            \u003cimg src=\"https://avatars1.githubusercontent.com/u/1138094?v=4\" width=\"100px\"\u003e\u003cbr\u003e\n            \u003csub\u003e\n                \u003cstrong\u003e\n                    \u003ca href=\"https://github.com/azubieta\"\u003eAlexis López Zubieta\u003c/a\u003e\n                \u003c/strong\u003e\n            \u003c/sub\u003e\u003cbr\u003e\n            \u003ca href=\"https://github.com/antony-jr/QAppImageUpdate/commits?author=azubieta\"\u003e💻\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n            \u003cimg src=\"https://avatars3.githubusercontent.com/u/2480569?v=4\" width=\"100px\"\u003e\u003cbr\u003e\n            \u003csub\u003e\n                \u003cstrong\u003e\n                    \u003ca href=\"https://github.com/probonopd\"\u003eprobonopd\u003c/a\u003e\n                \u003c/strong\u003e\n            \u003c/sub\u003e\u003cbr\u003e\n            \u003ca href=\"https://github.com/antony-jr/QAppImageUpdate/commits?author=probonopd\"\u003e💻\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n            \u003cimg src=\"https://avatars0.githubusercontent.com/u/4068037?v=4\" width=\"100px\"\u003e\u003cbr\u003e\n            \u003csub\u003e\n                \u003cstrong\u003e\n                    \u003ca href=\"https://github.com/kossebau\"\u003eFriedrich\u003c/a\u003e\n                \u003c/strong\u003e\n            \u003c/sub\u003e\u003cbr\u003e\n            \u003ca href=\"https://github.com/antony-jr/QAppImageUpdate/commits?author=kossebau\"\u003e💻\u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n# Acknowledgements ![Thank You](https://img.shields.io/badge/Always-Say%20Thank%20You!-blue.svg?style=flat-square)\n\n* [AppImages](https://github.com/AppImage) - Motivation to start this project.\n* [zsync](https://github.com/cph6/zsync) ([Colin Phipps](https://github.com/cph6)) - Zsync algorithm's author.\n* [zsync2](https://github.com/AppImage/zsync2) ([@TheAssassin](https://github.com/TheAssassin)) - Helpful references.\n* [Qt](https://github.com/qt) - And Everything else.\n\n\n# 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)\n\nIf 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!   \n\n# License\n\nThe BSD 3-clause \"New\" or \"Revised\" License.\n\nCopyright (C) 2017-2020, Antony jr.   \nAll Rights Reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantony-jr%2FQAppImageUpdate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantony-jr%2FQAppImageUpdate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantony-jr%2FQAppImageUpdate/lists"}