
Authme
Paquet d’installation silencieuse pour Authme
6.3.1-4
Security
Security
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-authme
- name: Authme
- version: 6.3.1-4
- categories: Security
- maintainer: WAPT Team,Tranquil IT,Ingrid TALBOT
- editor: Levminer
- licence: opensource_free,cpe:/a:gnu:gpl_v3,wapt_public
- locale: all
- target_os: debian(>=10)
- impacted_process: Authme
- architecture: x64
- signature_date:
- size: 88.26 Mo
- installed_size: 4.25 Mo
package : tis-authme
version : 6.3.1-4
architecture : x64
section : base
priority : optional
name : Authme
categories : Security
maintainer : WAPT Team,Tranquil IT,Ingrid TALBOT
description : Authme is a cross-platform two-factor (2FA) authenticator app for desktop
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : debian(>=10)
min_wapt_version : 2.3
sources :
installed_size : 4247992
impacted_process : Authme
description_fr : Authme est une application multiplateforme d'authentification à deux facteurs pour les ordinateurs de bureau
description_pl : Authme to wieloplatformowa, dwuskładnikowa aplikacja uwierzytelniająca dla komputerów stacjonarnych
description_de : Authme ist eine plattformübergreifende Zwei-Faktor-Authentifizierungs-App für Desktop
description_es : Authme es una aplicación de autenticación de dos factores multiplataforma para ordenadores de sobremesa
description_pt : O Authme é uma aplicação de autenticação de dois factores multiplataforma para ambiente de trabalho
description_it : Authme è un'applicazione multipiattaforma per l'autenticazione a due fattori per desktop
description_nl : Authme is een cross-platform twee-factor authenticator app voor desktop
description_ru : Authme - это кроссплатформенное приложение для двухфакторной аутентификации для настольных компьютеров
audit_schedule :
editor : Levminer
keywords : authenticator,2fa
licence : opensource_free,cpe:/a:gnu:gpl_v3,wapt_public
homepage :
package_uuid : a5bfc8c3-74c3-4885-80d9-5af3b4fb314e
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/Levminer/authme/releases
min_os_version :
max_os_version :
icon_sha256sum : 87051b3393f4947ba882eeb40ecfc2eb967d6cf455bb29bff44a390c14b14750
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2025-10-14T12:55:21.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 : Ydx1ZkDAX98Z+L8PM3MwQRJaSJp941+0g0qkdeLBgotkpHSOyX2GwNfGPeBYYr4VETMZosZfJYFEydUDqwKTFOerU19IhVn8j9QshiST0HWCr+qeDQyQP8QusJPUB1EwXjJqaTFxrBlXa0LFpKztoCr/0oT1T8EWypTVHWhset+vPve3dsLavuNW3c5JgEnn4KzQofG86VbLqgD5JOn1YptFCmjxpjgGN0nx1yxnD6D8q7hWFTXaCA5g8tsKXNyyfUTgRjB3c9YoTiCf9XxpB26NgNFWKCa++fng6tkwEgxP2Qj3O3VJiBeCshQJp5XjJrMd+z295VVabb7j8o4KpA==
# -*- coding: utf-8 -*-
from setuphelpers import *
from iniparse import ConfigParser
import os
def install():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
appimage = glob.glob("*.appimage")[0]
install_appimage(appimage,install_dir)
def uninstall():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
uninstall_appimage(install_dir)
def install_appimage(appimage,install_dir,binaliasname=None):
run('chmod a+x ./' + appimage)
if isdir(install_dir):
uninstall_appimage(install_dir)
mkdirs(install_dir)
name_appimage = appimage.split('/')[-1]
filecopyto(appimage, makepath(install_dir, name_appimage))
run('"./%s" --appimage-extract' % appimage)
for desktop in glob.glob(makepath('squashfs-root','*.desktop')):
desktop_cp = ConfigParser()
desktop_cp.optionxform = str
desktop_file = open(desktop, encoding="utf-8")
desktop_cp.readfp(desktop_file)
bin_path = desktop_cp.get('Desktop Entry',"Exec")
newbin_path = install_dir + '/' + name_appimage
if ' %' in bin_path:
newbin_path = newbin_path + ' %' + bin_path.split(' %',1)[1]
icon_path = desktop_cp.get('Desktop Entry',"Icon")
srcicon = makepath('squashfs-root',icon_path +'.svg')
if not isfile(srcicon):
srcicon = makepath('squashfs-root',icon_path +'.png')
new_icon = install_dir + '/' + srcicon.split('/')[-1]
filecopyto(srcicon,new_icon)
desktop_cp.set('Desktop Entry',"Exec",newbin_path)
desktop_cp.set('Desktop Entry',"Icon",new_icon)
with open(desktop, 'w', encoding="utf-8") as f:
desktop_cp.write(f)
pathdesk = makepath(install_dir,desktop.split('/')[-1])
filecopyto(desktop, pathdesk)
run('chown root:root "%s" ' % pathdesk)
for f in glob.glob(makepath(install_dir,'*.desktop')):
run('ln -sf "%s" "/usr/share/applications/%s"' % (f,f.split('/')[-1]))
if binaliasname :
run(f"ln -sf {install_dir}/{name_appimage} /usr/bin/{binaliasname}")
remove_tree('squashfs-root')
def uninstall_appimage(install_dir):
if not glob.glob(makepath(install_dir,'*.desktop')):
error('.desktop not found')
for f in glob.glob(makepath(install_dir,'*.desktop')):
deskfile = f.split('/')[-1]
system_desktop = makepath("/","usr","share","applications",deskfile)
if isfile(system_desktop):
remove_file(system_desktop)
remove_tree(install_dir)
# -*- coding: utf-8 -*-
from setuphelpers import *
import re
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
update_dict = {"windows": ".msi", "debian(>=10)" : ".appimage", "macos": ".dmg"}
api_url = "https://api.github.com/repos/Levminer/authme/releases/latest"
# Get data from API
releases_dict = json.loads(wgets(api_url, proxies=proxies))
appimage_found = False # Flag pour indiquer la découverte d'un fichier .appimage
for release in releases_dict:
if appimage_found:
break
for asset in releases_dict["assets"]:
if asset["browser_download_url"].endswith(".appimage") :
url_download = asset["browser_download_url"]
latest_bin = url_download.split("/")[-1]
version = releases_dict["name"].split(" ")[1]
appimage_found = True # Mettre à jour le flag pour indiquer qu'un appimage a été trouvé
break
# Deleting binaries
for f in glob.glob("*.appimage"):
if f != latest_bin:
remove_file(f)
# Downloading latest binaries
print("Download URL is: %s" % url_download)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(url_download, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
control.set_software_version(version)
control.save_control_to_wapt()
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
f278dad0b57a6143c368b9d5030626caee53bffa9f54ef44ccf7d7d18f1a7f3e : WAPT/control
87051b3393f4947ba882eeb40ecfc2eb967d6cf455bb29bff44a390c14b14750 : WAPT/icon.png
9c7d38112e868f1b54212ded7b88fdac90554ed902f3f918b96e2737c4883f6a : authme-6.3.1-linux-x64.appimage
941579958f5c387930c5a9cd15d17cae00fec1f0e446f9636a725f385253296e : luti.json
6098b3a351eb7fe6618b78c99f4ca9c28b15348dbc2f1ea11032fedc4800a8e7 : setup.py
7340c3b7718e94516fa2110eff0332ce13c4fa5ad5d2680f5420b478c2594f51 : update_package.py