tis-duplicati icon

duplicati

Silent install package for duplicati

2.1.0.103-1

  • package: tis-duplicati
  • name: duplicati
  • version: 2.1.0.103-1
  • maintainer: Jordan ARNAUD
  • licence: LGPL
  • target_os: darwin
  • architecture: arm
  • signature_date:
  • size: 90.75 Mo
  • homepage : https://duplicati.com/

package           : tis-duplicati
version           : 2.1.0.103-1
architecture      : arm
section           : base
priority          : optional
name              : duplicati
categories        : 
maintainer        : Jordan ARNAUD
description       : Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage ervices and remote file servers
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : darwin
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      : d257c881-78a4-47f0-9fe0-2cbcdfccec34
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : fee169d7067d3c0b88d575f55ee9d0b83472203f1c50938efd6b6e4ed697ecb9
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-08-25T09:07:22.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         : X8ampbrhBIcXtcpRubaz3gXlKcUlZ4j2QC+5mfpd0M6Ko5GYLkFBr230RhDzbtkSdwUj7Y2kSHyiBzLt9p7FPAwdLJJHVm4v+Sq9uBvmjO/JptkqPLGNLxWJ6YNa5Z+A7UJzcqnuJmxbj/+02GS8RkmELzW2CYtdi+6EPZnNvhjdHMELSeXJLiMJL/6MDDKfjBUSRSfyY2GYXhsICyorec4ilWFAouzla5Jr7OISCAnC3prqQ6Ko9xuvrDRVR9kH79PoDoUZapgerDS84jouexcri9NjfhjNwvBmmzyn7xuuttfcJatBaighA2yChTxsQ/enEhizPEexBpUstfo82A==

# -*- coding: utf-8 -*-
##################################################
# This file is part of WAPT Enterprise
# All right reserved, (c) Tranquil IT Systems 2023
# For more information please refer to
# https://wapt.tranquil.it/store/licences.html
##################################################
from setuphelpers import *


def install():
    install_dmg(glob.glob("duplicati-*-arm64-gui.dmg")[0])


def uninstall():
    remove_tree("/Applications/Duplicati.app")

# -*- 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.dmg",
        "arm" : "arm64-gui.dmg"    
        }
    
    url_api = "https://api.github.com/repos/duplicati/duplicati/releases" 
    # 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 .dmg e
                    if download["browser_download_url"].endswith(".dmg") and dict_arch[control.architecture] in download["browser_download_url"] :
                        url_dl = download["browser_download_url"]
                        filename = download["name"]
                        version = release["name"][1:10].split("_")[0]
                        found_valid_asset = True
                        break
    #nettoyer les fichiers temporaires
    for f in glob.glob('*.dmg'):
        if f != filename:
            remove_file(f)

    if not isfile(filename):
        package_updated = True
        print(filename)
        wget(url_dl,filename,proxies=proxies)

    control.set_software_version(version)
    control.save_control_to_wapt()

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
32f023f5511aaf59c987d2df24b6e82a5beb2f011b7461aef21dff8b82078641 : WAPT/control
fee169d7067d3c0b88d575f55ee9d0b83472203f1c50938efd6b6e4ed697ecb9 : WAPT/icon.png
d1a7fc038ae6d777af51a4da03b55bd5c393f327f456fee91612a4b715ff5d98 : duplicati-2.1.0.103_canary_2024-12-21-osx-arm64-gui.dmg
e2e6955c9b02bf7e3e79927e0c1e2d821083240b1a928c23c71e7b30c89d061a : luti.json
8c62ee59fe52c8628ca910e248358ab36b42ac4784b1063e670fd03e4ab6406b : setup.py
20e224d9eaa7661545f11d571dadc6d9e949d0fc3772057c34ca55f92dd1f31e : update_package.py