duplicati
Silent install package for duplicati
2.1.0.111-1
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a new VirusTotal scan is performed.
If the package passes this last check, it is promoted to PROD and published on the store.
- package: tis-duplicati
- name: duplicati
- version: 2.1.0.111-1
- maintainer: Amel FRADJ
- licence: LGPL
- target_os: windows
- architecture: x86
- signature_date:
- size: 83.97 Mo
- homepage : https://duplicati.com/
package : tis-duplicati
version : 2.1.0.111-1
architecture : x86
section : base
priority : optional
name : duplicati
categories :
maintainer : Amel FRADJ
description : Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers
depends :
conflicts :
maturity : PREPROD
locale :
target_os : windows
min_wapt_version :
sources : https://github.com/duplicati/duplicati/releases
installed_size :
impacted_process :
description_fr : Duplicati est un client de sauvegarde gratuit et open source qui stocke en toute sécurité des sauvegardes cryptées, incrémentielles et compressées sur des services de stockage en nuage et des serveurs de fichiers distants
description_pl : Duplicati to darmowy, otwarty klient kopii zapasowych, który bezpiecznie przechowuje zaszyfrowane, przyrostowe, skompresowane kopie zapasowe w usługach przechowywania w chmurze i na zdalnych serwerach plików
description_de : Duplicati ist ein kostenloser Open-Source-Backup-Client, der verschlüsselte, inkrementelle und komprimierte Backups sicher auf Cloud-Speicherdiensten und Remote-Dateiservern speichert
description_es : Duplicati es un cliente de copia de seguridad gratuito y de código abierto que almacena de forma segura copias de seguridad cifradas, incrementales y comprimidas en servicios de almacenamiento en la nube y servidores de archivos remotos
description_pt : O Duplicati é um cliente de cópia de segurança gratuito e de código aberto que armazena de forma segura cópias de segurança encriptadas, incrementais e comprimidas em serviços de armazenamento na nuvem e servidores de ficheiros remotos
description_it : Duplicati è un client di backup gratuito e open source che archivia in modo sicuro backup crittografati, incrementali e compressi su servizi di cloud storage e file server remoti
description_nl : Duplicati is een gratis, open source back-upclient die veilig versleutelde, incrementele, gecomprimeerde back-ups opslaat op cloudopslagdiensten en externe bestandsservers
description_ru : Duplicati - это бесплатный клиент резервного копирования с открытым исходным кодом, который надежно сохраняет зашифрованные, инкрементные, сжатые резервные копии на облачных сервисах хранения и удаленных файловых серверах
audit_schedule :
editor :
keywords :
licence : LGPL
homepage : https://duplicati.com/
package_uuid : 565b76b7-771e-48e7-b2b3-eac0500ea6f8
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : fee169d7067d3c0b88d575f55ee9d0b83472203f1c50938efd6b6e4ed697ecb9
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2025-11-20T15:34:59.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : LgIuuvY+WEnN/z9DhZ1yuF+vZsg0ZJH/BPRK7Hy0gP3P4+4dRH6V9YaFoq5rDtDcx7HDttJRh2NGXq1c/Nl3lH/fYwtUCFBxopdvPbsWn2K3x5BLcaJ8sTNv4PvP2tV62cPvjj/X1wzwPfc6/gcmYWcu0sSLoyh2hq9TbGqv4TPDvvFV6dEiT53emfBydLBo1D7P0hQ3Qe/gb4JNjK5tmcGQ6iG0DiKTG2ObSdsZrfXlVZsIg852TbjeR/5TO3dhOh56vnzbYO411CSUrZEycOa7cqEUfZyu8LMzQ2/TeLonbeGEwQ8S7aYCclatWTP1Oyg5u93Beojv2V7rhWJ+tA==
# -*- coding: utf-8 -*-
from setuphelpers import *
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def install():
# Uninstalling older version of the software that can remains
for to_uninstall in installed_softwares(name="Duplicati"):
if Version(to_uninstall["version"]) < Version(control.get_software_version()):
print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
killalltasks(ensure_list(control.impacted_process))
run(uninstall_cmd(to_uninstall["key"]))
wait_uninstallkey_absent(to_uninstall["key"])
# Declaring local variables
bin_name = glob.glob('duplicati-*-win-x86-gui.msi')[0]
# Installing the software
install_msi_if_needed(bin_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import json
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def update_package():
result = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
dict_arch = {
"x64":"-x64-gui.msi",
"x86" : "-x86-gui.msi" }
git_repo = "duplicati/duplicati"
url_api = "https://api.github.com/repos/%s/releases" % git_repo
# Getting latest version information from official source
print("API used is: %s" % url_api)
json_load = json.loads(wgets(url_api, proxies=proxies))
# Vérifier que json_load est une liste
if isinstance(json_load, list):
# Itérer à travers chaque release
for release in json_load:
# Vérifier que la release contient une clé "assets" et que c'est une liste
if "assets" in release and isinstance(release["assets"], list):
found_valid_asset = False
for download in release["assets"]:
# Vérifier si l'URL de téléchargement se termine par .msi e
if download["browser_download_url"].endswith(".msi") and dict_arch[control.architecture] in download["browser_download_url"] :
url_dl = download["browser_download_url"]
filename = download["name"]
version = release["name"][1:10]
found_valid_asset = True
break
if not isfile(filename):
package_updated = True
wget(url_dl,filename,proxies=proxies)
#nettoyer les fichiers temporaires
for f in glob.glob('*.msi'):
if f != filename:
remove_file(f)
version =get_version_from_binary(filename)
control.set_software_version(version)
control.save_control_to_wapt()
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
e7d0d4bba3098664def44f7b35a663adfe4fed4add8489dbb0af772b878611ee : WAPT/control
fee169d7067d3c0b88d575f55ee9d0b83472203f1c50938efd6b6e4ed697ecb9 : WAPT/icon.png
8938a6c6d22f3baba40565ba903611cad73a5c0378fff7195a8497ffc417ff96 : duplicati-2.1.0.111_canary_2025-03-15-win-x86-gui.msi
e6e437c455ff5defd7f9beb4cf54d36d38129099122ec94ec2fea86e03f8f8e1 : luti.json
2e71bae0f05661ee3057eccd90b2bc4f76697f81220105522ba888cd9bf8af3c : setup.py
9923694c0c6f8ea885275549cbd36a974c049b4c671f706221e1ee5ac56801fe : update_package.py