tis-duplicati icon

duplicati

Paquet d’installation silencieuse pour duplicati

2.1.0.104-1

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-duplicati
  • name: duplicati
  • version: 2.1.0.104-1
  • maintainer: Amel FRADJ
  • licence: LGPL
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 88.31 Mo
  • homepage : https://duplicati.com/

package           : tis-duplicati
version           : 2.1.0.104-1
architecture      : x64
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      : 02cd85cf-2f1f-491f-9d6c-218546474037
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-09-23T14:26:35.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         : FUwENiYHkUSMRqXCnGiDMVMGcjIbvfIm+AnGz5ii735BGX6CCu4W3RQtLBbY9sNRYfNqDNWdgziE7FyKDNluUkPxf/kOrX41LUP4CGRFXcsIdixzOvODL9612cqU28Vzkq03ZYOQkTNTj57zkf++stHT7HgDa8V8v0vtMQOuxcRl9GNxZ+JLPKGk/900xKQ5dpnWcO1LrPaVX7mS+tqHuoeqE5XIBDjuKMoNHKTCSTey00AconkHhEttTW1/8rMjqVM2GIrJz0NHCHK83t6SPlEej0c5fTkY63/Yk9/ksV9pIb5+oW9QcSPGPOpKWFdrlVj6aXubA7ef+okn9QKuKA==

# -*- 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():
    # Declaring local variables
    bin_name = glob.glob('duplicati-*-win-x64-gui.msi')[0]

    # 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"])

    # 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
5ad761cf3336a806933d44c419ff35f062c3c53d879b484dbf20aea19540c658 : WAPT/control
fee169d7067d3c0b88d575f55ee9d0b83472203f1c50938efd6b6e4ed697ecb9 : WAPT/icon.png
32c2b32231f3942a9e6aa3d8a9fdb389fc291c0f2d6a988e3d7508b106e4e250 : duplicati-2.1.0.104_canary_2024-12-31-win-x64-gui.msi
8e1dd25e657cb37c0ab87913f393c7d4c1ce5653dca47efc645bf144c8e1a642 : luti.json
ca701bb34507d9bf5349777cb5448b5ff7505d4ac891cc3084e462cd2fa2e11a : setup.py
9923694c0c6f8ea885275549cbd36a974c049b4c671f706221e1ee5ac56801fe : update_package.py