chore(release): v0.4.1
This commit is contained in:
@@ -6,6 +6,36 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
||||
|
||||
---
|
||||
|
||||
## [0.4.1] — 2026-08-31
|
||||
|
||||
### Corrigé
|
||||
- **Plus d'accès internet après déconnexion du VPN** : `wg-quick down` refusait de s'exécuter
|
||||
quand l'interface avait disparu sans passage par lui (crash, arrêt brutal, veille) et ne
|
||||
retirait donc jamais l'entrée DNS posée par `wg-quick up` — la résolution de noms restait
|
||||
pointée vers un serveur devenu injoignable. Nettoyage DNS désormais garanti à la connexion,
|
||||
la déconnexion, la fermeture de l'application et au démarrage suivant.
|
||||
- **Détection de connexion fiabilisée** : `wg show` retourne un code de succès même en cas de
|
||||
refus de permission pour un utilisateur non administrateur — l'application se croyait
|
||||
déconnectée en permanence et ne démontait donc jamais le tunnel à la fermeture. Détection
|
||||
réécrite sans nécessiter de privilèges.
|
||||
- **Interface figée pendant la connexion/déconnexion** : les commandes réseau (souvent
|
||||
accompagnées d'une demande de mot de passe) tournaient sur le thread graphique et gelaient
|
||||
la fenêtre. Déportées en tâche de fond.
|
||||
- **Dialogues d'authentification répétés à chaque connexion** : la détection « sudo demande un
|
||||
mot de passe » ne fonctionnait pas en session non anglophone ni pour les comptes disposant
|
||||
de tous les droits sudo, et l'écriture de la configuration WireGuard n'était couverte par
|
||||
aucune règle sudo autorisée. Chaîne de privilèges revue de bout en bout.
|
||||
- Restauration garantie de l'état réseau à la fermeture de l'application, sous Linux comme
|
||||
sous Windows (fermeture normale, icône système, signal d'arrêt, plantage).
|
||||
|
||||
### Ajouté
|
||||
- Diagnostic des droits d'exécution (`make check-privileges` et bouton dans le panneau Admin)
|
||||
pour identifier précisément quelle commande déclenche un dialogue d'authentification.
|
||||
- Avertissement lorsqu'un tunnel WireGuard tourne en dehors de WGSecure (autre nom
|
||||
d'interface), cause fréquente de coupure DNS non détectée jusqu'ici.
|
||||
|
||||
---
|
||||
|
||||
## [0.2.0] — 2026-06-01
|
||||
|
||||
### Ajouté
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
## ──────────────────────────────────────────────
|
||||
|
||||
APP := wgsecure
|
||||
VERSION := 0.4.0
|
||||
VERSION := 0.4.1
|
||||
VENV := .venv
|
||||
PYTHON := $(VENV)/bin/python3
|
||||
PIP := $(VENV)/bin/pip
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
# 🛡️ WGSecure (WGS)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
🚀 v0.4.1 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
||||
|
||||
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard avec une surcouche MFA (authentification à deux facteurs TOTP).
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ _WG_DEFAULT: dict[str, Any] = {
|
||||
}
|
||||
|
||||
_DEFAULT: dict[str, Any] = {
|
||||
"version": "0.4.0",
|
||||
"version": "0.4.1",
|
||||
"admin_password_hash": "",
|
||||
"admin_salt": "",
|
||||
"mfa_enabled": False,
|
||||
|
||||
@@ -675,7 +675,7 @@ class AdminWindow(QDialog):
|
||||
name_lbl.setStyleSheet("color: white;")
|
||||
layout.addWidget(name_lbl)
|
||||
|
||||
version_lbl = QLabel("Version 0.3.0")
|
||||
version_lbl = QLabel("Version 0.4.1")
|
||||
version_lbl.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
version_lbl.setStyleSheet("color: rgba(255,255,255,0.7); font-size: 13px;")
|
||||
layout.addWidget(version_lbl)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
WGSecure (WGS) — Interface graphique WireGuard avec MFA
|
||||
Version 0.4.0
|
||||
Version 0.4.1
|
||||
"""
|
||||
import sys
|
||||
import argparse
|
||||
@@ -92,7 +92,7 @@ def main():
|
||||
)
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName("WGSecure")
|
||||
app.setApplicationVersion("0.4.0")
|
||||
app.setApplicationVersion("0.4.1")
|
||||
app.setOrganizationName("WGS")
|
||||
# Icône globale multi-tailles — barre des tâches + alt-tab
|
||||
app_icon = icons.icon_app()
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
; ──────────────────────────────────────────────
|
||||
|
||||
#define MyAppName "WGSecure"
|
||||
#define MyAppVersion "0.4.0"
|
||||
#define MyAppVersion "0.4.1"
|
||||
#define MyAppPublisher "WGSecure"
|
||||
#define MyAppExeName "wgsecure.exe"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user