- package: tis-authme
- name: Authme
- version: 6.1.2-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: 140.71 Mo
- installed_size: 4.25 Mo
package : tis-authme
version : 6.1.2-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 : PROD
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 : 8f8a61e6-56e7-48fe-b55c-a31a91c646f1
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/Levminer/authme/releases
min_os_version :
max_os_version :
icon_sha256sum : 87051b3393f4947ba882eeb40ecfc2eb967d6cf455bb29bff44a390c14b14750
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-07-13T13:01:16.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 : rdVngJ9LyVvcMgABmIDKHUdaFce1HW2ADhwXg1SWFfvELR0NezQsU1Kmi7O0g8azwWn61fIz475wRTZeEiBnKeTaWJhXRBMs8isvm+TuQhTqfehXBEGGbh38GbEJfCUx9esgHNZ/GZMipu+GSCwvtqX5Am3ziKlzzonmN/eL9XP7YiYnUS0+3cYNb5xyuEQjTEryTd24mqINAaRBKdIEzgCovKJ/Y3kR8PsgRwRCZ9zu6tDDdwH0NS/9kYd+rkG8R2rmi3z3PlKrztRWpA06DsgMuHX9NFaUOcrIkTShrY7Dodfm6bIiRzMnuTP7Qx4JPzfHq2I1phzuioLFwWViag==
# -*- 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()
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
6c911a6d069cc210319da34274e955dc046867182e064d9b4259f09562f13876 : WAPT/control
87051b3393f4947ba882eeb40ecfc2eb967d6cf455bb29bff44a390c14b14750 : WAPT/icon.png
712ea5ce9e362d1b438039c58b94b64c842d37248d07714471d6d96b44ed46fd : authme-6.1.2-linux-x64.appimage
efefe10b3f32d62f9f57de526bdaffa21a8a534b0536619177207c3f6ea4d59b : luti.json
6098b3a351eb7fe6618b78c99f4ca9c28b15348dbc2f1ea11032fedc4800a8e7 : setup.py
7340c3b7718e94516fa2110eff0332ce13c4fa5ad5d2680f5420b478c2594f51 : update_package.py