Proton VPN
Paquet d’installation silencieuse pour Proton VPN
4.3.9-2
Security
Security
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-proton-vpn
- name: Proton VPN
- version: 4.3.9-2
- categories: Security
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free,wapt_public
- target_os: windows
- impacted_process: ProtonVPNService,ProtonVPN
- architecture: x64
- signature_date:
- size: 113.58 Mo
- homepage : https://protonvpn.com/
package : tis-proton-vpn
version : 4.3.9-2
architecture : x64
section : base
priority : optional
name : Proton VPN
categories : Security
maintainer : WAPT Team,Tranquil IT,Amel FRADJ
description : Official ProtonVPN Windows app
depends :
conflicts :
maturity : PREPROD
locale :
target_os : windows
min_wapt_version : 2.3
sources :
installed_size :
impacted_process : ProtonVPNService,ProtonVPN
description_fr : Application Windows officielle de ProtonVPN
description_pl : Oficjalna aplikacja ProtonVPN na Windows
description_de : Offizielle ProtonVPN Windows-Anwendung
description_es : Aplicación oficial de ProtonVPN para Windows
description_pt : Aplicação oficial da ProtonVPN para Windows
description_it : Applicazione ufficiale ProtonVPN per Windows
description_nl : Officiële Windows-app van ProtonVPN
description_ru : Официальное приложение ProtonVPN для Windows
audit_schedule :
editor :
keywords :
licence : opensource_free,wapt_public
homepage : https://protonvpn.com/
package_uuid : 1de7cf21-2e79-4077-beae-e135fe52aba2
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version : 10.0.18362
max_os_version :
icon_sha256sum : 607ec93d3b82c0a6920d6f158b4423732570e49e710d3d2814c675c463ba8014
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-01-05T12:20:43.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 : nEBsstcfD9pVHpWhL2WcbFkbp24EYAmaDrn1dJ2lhGQxj248XxmF7Pnh8gDSmEH6OASKEAYEpPfFjk73PjndYzaN4PKUANSjtFNQv4XoQQ/IlY2zTVqOhUU/6+rIuAS1y0nHuz2Juoyg4XKWsrZVfjedNT0tYGBhF4f/PJPRQ6P9s1a0t2dZ6DcoC1YHYbZxaRjM4YIQEIhRooehamm0XI/EAP6Ellu4+pz9gryGX7sQebDnbAlKM22b4pQ0Nx2VLMZtk4EdrOxfDBNM/iYzpK2wh0HOBu7hj5ffv8UmjVa4NzfmuWod79tdPdLjNS+BP6u/VHMi11cw6vOB/GGbNg==
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
# Declaring local variables
bin_name = glob.glob('ProtonVPN_*.exe')[0]
uninstall_older_version()
# Installing the software
install_exe_if_needed(bin_name,
silentflags='/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /FORCECLOSEAPPLICATIONS',
key='Proton VPN_is1',
min_version=control.get_software_version(),
)
def uninstall_older_version():
killalltasks(ensure_list(control.impacted_process))
for soft in installed_softwares('Proton VPN_is1'):
uninstall_key = soft['key']
if Version(soft['version']) < Version(control.get_software_version()):
run(uninstall_cmd(uninstall_key))
wait_uninstallkey_absent(uninstall_key)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
git_repo = "ProtonVPN/win-app"
url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
os_dict = { 'windows-x64': 'x64.exe' }
os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
# Getting latest version information from official sources
print("API used is: %s" % url_api)
json_load = wgets(url_api, proxies=proxies, as_json=True)
for download in json_load["assets"]:
if download["name"].endswith(os_dict[os_type]) :
download_url = download["browser_download_url"]
version = json_load["tag_name"].replace("v", "")
latest_bin = download["name"]
latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
break
# Downloading latest binaries
print(f"Latest {app_name} version is: {version}")
print(f"Download URL is: {download_url}")
if not isfile(latest_bin):
print(f"Downloading: {latest_bin}")
wget(download_url, latest_bin, proxies=proxies)
else:
print(f"Binary is present: {latest_bin}")
expected_issuer = "Proton AG"
sign_name = waptlicences.check_msi_signature(latest_bin)[0]
if sign_name != expected_issuer:
error(f'Bad issuer {sign_name} != {expected_issuer} ')
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
for f in glob.glob(f'*.{latest_bin_extension}'):
if f != latest_bin:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
3038135169599e3916e6e202d138f4938b8946b7319fbfc84f091ebbc81ca6af : ProtonVPN_v4.3.9_x64.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
0c965f3a35ad43c10d4f046f6f52c87e68950ae5041d3d0fa6d7ebad9d76fc45 : WAPT/control
607ec93d3b82c0a6920d6f158b4423732570e49e710d3d2814c675c463ba8014 : WAPT/icon.png
3796cd55b6614b3ac2c913d470b17cd99a4f4df73974cf65eb7567dd35202d6d : luti.json
b95082f3fe16e3ba9cff432d23704340870cf9eacb8d55a9c530874afd97b614 : setup.py
19fc49e049c06d731df409c69bb8dbfa010b6d9d51275505d849b58a5bc5616c : update_package.py