chore(release): v0.5.0
This commit is contained in:
@@ -6,6 +6,54 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.5.0] — 2026-09-01
|
||||||
|
|
||||||
|
### Ajouté
|
||||||
|
- **Option « Le serveur utilise une clé pré-partagée »** : la présence d'une PSK ne se devinait
|
||||||
|
plus au fait que le champ soit rempli. Un serveur qui n'en utilise pas — le cas par défaut de
|
||||||
|
WireGuard — déclenchait un avertissement à chaque diagnostic, et une clé oubliée dans le champ
|
||||||
|
se retrouvait écrite dans la configuration alors que le serveur n'en attendait aucune, ce qui
|
||||||
|
casse le handshake aussi sûrement qu'une clé manquante. Le champ et ses boutons suivent la case.
|
||||||
|
- **Encart d'introduction en tête de chaque onglet** : les pages s'ouvraient sur un formulaire nu,
|
||||||
|
sans dire ce qu'on y décidait ni ce qui se passait si on n'y touchait pas.
|
||||||
|
|
||||||
|
### Modifié
|
||||||
|
- **Onglets « WireGuard » et « Clés » fusionnés** en un seul, découpé en sous-onglets *Tunnel*,
|
||||||
|
*Clés* et *Profils & fichiers*. Les deux se chevauchaient : la clé publique du serveur se
|
||||||
|
saisissait dans l'un pendant que l'assistant qui la produit vivait dans l'autre, et les quatre
|
||||||
|
façons de sortir une configuration (aperçu, .conf, QR Code, volet serveur) étaient réparties
|
||||||
|
entre les deux sans logique.
|
||||||
|
- **Onglet « Test » en sous-onglets** *Chaîne de connexion*, *Fuite DNS* et *Droits* : les trois
|
||||||
|
tests s'empilaient sur une page unique où le rapport de diagnostic, le plus long, se retrouvait
|
||||||
|
comprimé entre les deux autres.
|
||||||
|
- **Onglets « MFA » et « Sécurité » regroupés** sous *Sécurité*, en sous-onglets *MFA* et
|
||||||
|
*Mot de passe* : ils répondent à la même question, qui a le droit de se connecter et
|
||||||
|
d'administrer. La barre passe de sept onglets à cinq.
|
||||||
|
- **Couleurs unifiées** : le panneau d'administration comptait vingt-quatre couleurs écrites en
|
||||||
|
dur, cinq bandeaux d'onglets sans rapport de teinte entre eux, et des blocs de résultat dont le
|
||||||
|
fond ne correspondait ni à celui de la page ni à celui de leurs voisins. Tout passe par une
|
||||||
|
palette commune.
|
||||||
|
- **L'aperçu de configuration se remplit à l'ouverture** au lieu d'exiger un clic sur
|
||||||
|
« Rafraîchir ».
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
- **Section « Droits d'exécution » inadaptée sous Windows** : elle parlait de règles sudo, d'un
|
||||||
|
fichier sudoers et de `make setup-sudoers`, qui n'existent pas sur cette plateforme, et
|
||||||
|
concluait « privilèges root, rien à configurer » là où le rapport était simplement vide. Elle
|
||||||
|
devient *Élévation*, vérifie les droits administrateur et la présence de WireGuard, et explique
|
||||||
|
comment éviter la fenêtre UAC à chaque connexion.
|
||||||
|
- **Causes du handshake manquant plus fidèles** : le message citait la clé pré-partagée sans
|
||||||
|
savoir si elle était en jeu, et passait sous silence le port UDP du serveur — un port erroné ne
|
||||||
|
produit aucune erreur visible, WireGuard ignorant silencieusement les paquets.
|
||||||
|
|
||||||
|
### Technique
|
||||||
|
- Nouveau module `app/ui/theme.py` : jetons de couleur, styles de blocs de résultat par état,
|
||||||
|
bandeaux et barres d'onglets.
|
||||||
|
- Le drapeau `use_preshared_key` vaut `None` par défaut et non `False` : la fusion des valeurs par
|
||||||
|
défaut recopie ce défaut dans toute configuration antérieure au drapeau, et `False` aurait
|
||||||
|
désactivé la clé pré-partagée d'un tunnel qui fonctionnait. Une configuration existante conserve
|
||||||
|
donc sa PSK, une configuration neuve démarre sans.
|
||||||
|
|
||||||
## [0.4.6] — 2026-09-01
|
## [0.4.6] — 2026-09-01
|
||||||
|
|
||||||
### Corrigé
|
### Corrigé
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## ──────────────────────────────────────────────
|
## ──────────────────────────────────────────────
|
||||||
|
|
||||||
APP := wgsecure
|
APP := wgsecure
|
||||||
VERSION := 0.4.6
|
VERSION := 0.5.0
|
||||||
VENV := .venv
|
VENV := .venv
|
||||||
PYTHON := $(VENV)/bin/python3
|
PYTHON := $(VENV)/bin/python3
|
||||||
PIP := $(VENV)/bin/pip
|
PIP := $(VENV)/bin/pip
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 🛡️ WGSecure (WGS)
|
# 🛡️ WGSecure (WGS)
|
||||||
|
|
||||||
🚀 v0.4.6 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
🚀 v0.5.0 · 🐍 · 🪟🐧 · 🔐 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).
|
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard avec une surcouche MFA (authentification à deux facteurs TOTP).
|
||||||
|
|
||||||
@@ -188,4 +188,4 @@ WGSecure/
|
|||||||
## 👤 Auteur
|
## 👤 Auteur
|
||||||
|
|
||||||
Développé par **Johnny** — [JT-Tools](https://github.com/JT-Tools)
|
Développé par **Johnny** — [JT-Tools](https://github.com/JT-Tools)
|
||||||
Version :  — Septembre 2026
|
Version :  — Septembre 2026
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
__version__ = "0.4.6"
|
__version__ = "0.5.0"
|
||||||
APP_NAME = "WGSecure"
|
APP_NAME = "WGSecure"
|
||||||
APP_SHORT = "WGS"
|
APP_SHORT = "WGS"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
WGSecure (WGS) — Interface graphique WireGuard avec MFA
|
WGSecure (WGS) — Interface graphique WireGuard avec MFA
|
||||||
Version 0.4.6
|
Version 0.5.0
|
||||||
"""
|
"""
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
@@ -92,7 +92,7 @@ def main():
|
|||||||
)
|
)
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
app.setApplicationName("WGSecure")
|
app.setApplicationName("WGSecure")
|
||||||
app.setApplicationVersion("0.4.6")
|
app.setApplicationVersion("0.5.0")
|
||||||
app.setOrganizationName("WGS")
|
app.setOrganizationName("WGS")
|
||||||
# Icône globale multi-tailles — barre des tâches + alt-tab
|
# Icône globale multi-tailles — barre des tâches + alt-tab
|
||||||
app_icon = icons.icon_app()
|
app_icon = icons.icon_app()
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
; ──────────────────────────────────────────────
|
; ──────────────────────────────────────────────
|
||||||
|
|
||||||
#define MyAppName "WGSecure"
|
#define MyAppName "WGSecure"
|
||||||
#define MyAppVersion "0.4.6"
|
#define MyAppVersion "0.5.0"
|
||||||
#define MyAppPublisher "WGSecure"
|
#define MyAppPublisher "WGSecure"
|
||||||
#define MyAppExeName "wgsecure.exe"
|
#define MyAppExeName "wgsecure.exe"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user