tis-ivpn-client icon

IVPN Client

Silent install package for IVPN Client

3.15.6-1

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-ivpn-client
  • name: IVPN Client
  • version: 3.15.6-1
  • maintainer: Amel FRADJ
  • licence: GPL-3.0 license
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 96.21 Mo
  • homepage : https://www.ivpn.net/en/

package           : tis-ivpn-client
version           : 3.15.6-1
architecture      : x64
section           : base
priority          : optional
name              : IVPN Client
categories        : 
maintainer        : Amel FRADJ
description       : IVPN for Desktop is the official IVPN application for desktop platforms. Features include multiple protocols (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode, and more
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : IVPN for Desktop est l'application officielle IVPN pour les plateformes de bureau. Certaines des fonctionnalités incluent , plusieurs protocoles (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode, et plus encore
description_pl    : IVPN for Desktop to oficjalna aplikacja IVPN dla platform stacjonarnych. Niektóre z funkcji obejmują wiele protokołów (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, niestandardowy DNS, tryb ciemny i wiele innych
description_de    : IVPN for Desktop ist die offizielle IVPN-Anwendung für Desktop-Plattformen. Einige der Funktionen umfassen , mehrere Protokolle (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode, uvm
description_es    : IVPN para Escritorio es la aplicación oficial de IVPN para plataformas de escritorio. Algunas de las características incluyen, múltiples protocolos (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode, y más
description_pt    : O IVPN para Ambiente de Trabalho é a aplicação oficial do IVPN para plataformas de ambiente de trabalho. Algumas das características incluem múltiplos protocolos (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, DNS personalizado, Dark mode e muito mais
description_it    : IVPN for Desktop è l'applicazione ufficiale IVPN per piattaforme desktop. Alcune delle sue caratteristiche sono: protocolli multipli (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, DNS personalizzato, modalità Dark e altro ancora
description_nl    : IVPN voor Desktop is de officiële IVPN-toepassing voor desktopplatformen. Enkele van de functies zijn: meerdere protocollen (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, aangepaste DNS, donkere modus en nog veel meer
description_ru    : IVPN for Desktop - это официальное приложение IVPN для настольных платформ. Среди функций - несколько протоколов (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode и другие
audit_schedule    : 
editor            : 
keywords          : 
licence           : GPL-3.0 license
homepage          : https://www.ivpn.net/en/
package_uuid      : 62645e92-38d2-4f02-aa3f-8b71642ed244
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 27a5778190a4cd78953a6e404e9ea506bd7693497e868104067c59e00e920bc8
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-05-04T13:00:36.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         : EtfXvc5iuen7jKR8oRa0hfUsBiggPdgZ648G97vFHjp/9UXm+RmaWBjQD3MPjAt0f1maZeh8UrxNqELOgW/hMofCTJvWZ2tKaOZzWtd7SG/bYf3pk4zXGF6EtcAYxQ9ghByd7FPMPTTIDzUrjJ6w+ZgvBweVBRSk5Q1hoRFzQDNdu1nhxdJinMVTkA1o/TZdJqz6emdpqBUg09DKtj/qImRyOIEifoYF0oPfiWjmIk8aFJXWsoi88hs67+lrOfDm/lv8sh8OwZ38BCmdIFSWv/LPzoqnJOIk/kBf58KiOPRdhEmN56Aj1EJo4jfTvgV+g8XuglBnPlLMJbIdMNBfOw==

# -*- 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('IVPN-Client-*.exe')[0]
    # Installing the software
    
    install_exe_if_needed(bin_name,
        silentflags='/S / allusers',
        key='IVPN Client',
        min_version=control.get_software_version(),
    )




# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import glob
import zipfile



def update_package():
    # Declaring local variables
    package_updated = False
    
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()

  
    url_base = "https://www.ivpn.net/en/apps-windows/"
    response = requests.get(url_base,allow_redirects=True, proxies=proxies)
    # Extract the correct div using bs_find_all
    divs = bs_find_all(response.text, "div","class","heading--text-image", proxies=proxies)
    exe_file = None
    for div in divs:
        if exe_file:
            break
        links = div.find_all('a', href=True)
        for link in links:
            if link['href'].endswith('.exe'):
                href = link['href']
                exe_file = href
                download_url = exe_file
                version = download_url.split('/')[-1].split("-")[-1].replace("v","").replace(".exe","")
                latest_bin = exe_file.split('/')[-1]
                break


    # Downloading latest binaries
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
        package_updated = True
    else:
        print("Binary is present: %s" % latest_bin)


    # Deleting outdated binaries
    for f in glob.glob('*.exe'):
        if f != latest_bin:
            remove_file(f)

    
    # Mettre à jour le package
    control.set_software_version(version)
    control.save_control_to_wapt()    
        

8b282a46579dcb4b56510935938b060898a3030467d24a6910f0a98ec5f9913c : IVPN-Client-v3.15.6.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
b61d64960d2b1499b1384fae06dc3d66f205cdbf557dbf26ae496f688571b5bc : WAPT/control
27a5778190a4cd78953a6e404e9ea506bd7693497e868104067c59e00e920bc8 : WAPT/icon.png
e33246a790ae9be1e2daf2222a3f3afade383383a5ebb8393b970e1757c15394 : luti.json
c0a78c0aff07ba3b20f74e0bc6d8e181d8295e67108e6ec3b562fa9843c9071d : setup.py
4b16ebfeaac9d42a6e1aa4aa0a1b0f8f1860ed6c6dc1614059a644105086059b : update_package.py