chore(release): v0.6.0
This commit is contained in:
@@ -6,6 +6,44 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.6.0] — 2026-09-01
|
||||||
|
|
||||||
|
### Ajouté
|
||||||
|
- **Test de handshake réel, sans monter le tunnel.** Le diagnostic s'arrêtait au constat « le port
|
||||||
|
UDP ne rejette rien », qui est le maximum qu'une sonde aveugle puisse dire : un serveur WireGuard
|
||||||
|
ignore silencieusement tout paquet non authentifié, si bien qu'un port non redirigé, une clé
|
||||||
|
inconnue du serveur et un serveur en parfaite santé produisent exactement la même absence de
|
||||||
|
réponse. Le tunnel n'étant pas monté, les étapes suivantes étaient sautées et le rapport
|
||||||
|
concluait « chaîne validée » sur une configuration qui n'avait aucune chance de négocier.
|
||||||
|
WGSecure construit désormais un vrai message d'initiation et interprète la réponse : il distingue
|
||||||
|
un handshake complet, une clé pré-partagée attendue, en trop ou différente, un cookie anti-déni
|
||||||
|
de service, un port fermé et un silence complet — sans ouvrir de tunnel ni demander de privilèges.
|
||||||
|
- **Détection du filtrage sur port source.** Quand le serveur reste muet, une seconde tentative
|
||||||
|
part depuis le port du serveur. S'il répond alors, c'est qu'un équipement en chemin n'accepte le
|
||||||
|
trafic que si le port source égale le port de destination — une règle courante sur FortiGate,
|
||||||
|
dont l'objet Service porte un `udp-portrange 51820:51820`. Un client WireGuard émettant depuis un
|
||||||
|
port aléatoire ne peut jamais la satisfaire, et rien dans les journaux ne le disait.
|
||||||
|
|
||||||
|
### Modifié
|
||||||
|
- **Fenêtre d'administration ramenée à 720 × 600** (minimum 640 × 520) : le découpage en
|
||||||
|
sous-onglets a supprimé l'empilement qui imposait une grande fenêtre.
|
||||||
|
- **Encarts d'introduction retirés au-dessus des sous-onglets**, où ils répétaient ce que les
|
||||||
|
sous-onglets annoncent déjà. Ceux placés dans chaque sous-onglet sont conservés.
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
- **Verdict trompeur quand le tunnel est inactif.** « Chaîne validée jusqu'au tunnel » laissait
|
||||||
|
croire que tout avait été vérifié, alors que les étapes sautées sont précisément celles qui
|
||||||
|
échouent quand un tunnel refuse de négocier. Le rapport annonce maintenant « rien de bloquant
|
||||||
|
détecté, mais le tunnel est inactif » et nomme les étapes non évaluées.
|
||||||
|
- **Causes du handshake manquant** : le port UDP du serveur figure désormais parmi les pistes
|
||||||
|
citées, un port erroné ne produisant aucune erreur visible.
|
||||||
|
|
||||||
|
### Technique
|
||||||
|
- Nouveau module `app/core/wg_handshake.py` : implémentation de la poignée de main
|
||||||
|
Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s du protocole WireGuard v1. Aucun état n'est conservé, la
|
||||||
|
session négociée est jetée aussitôt et le serveur traite l'initiation comme celle d'un pair qui
|
||||||
|
se reconnecte.
|
||||||
|
|
||||||
## [0.5.0] — 2026-09-01
|
## [0.5.0] — 2026-09-01
|
||||||
|
|
||||||
### Ajouté
|
### Ajouté
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## ──────────────────────────────────────────────
|
## ──────────────────────────────────────────────
|
||||||
|
|
||||||
APP := wgsecure
|
APP := wgsecure
|
||||||
VERSION := 0.5.0
|
VERSION := 0.6.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.5.0 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
🚀 v0.6.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.5.0"
|
__version__ = "0.6.0"
|
||||||
APP_NAME = "WGSecure"
|
APP_NAME = "WGSecure"
|
||||||
APP_SHORT = "WGS"
|
APP_SHORT = "WGS"
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ _WG_DEFAULT: dict[str, Any] = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_DEFAULT: dict[str, Any] = {
|
_DEFAULT: dict[str, Any] = {
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"admin_password_hash": "",
|
"admin_password_hash": "",
|
||||||
"admin_salt": "",
|
"admin_salt": "",
|
||||||
"mfa_enabled": False,
|
"mfa_enabled": False,
|
||||||
|
|||||||
@@ -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.5.0
|
Version 0.6.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.5.0")
|
app.setApplicationVersion("0.6.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.5.0"
|
#define MyAppVersion "0.6.0"
|
||||||
#define MyAppPublisher "WGSecure"
|
#define MyAppPublisher "WGSecure"
|
||||||
#define MyAppExeName "wgsecure.exe"
|
#define MyAppExeName "wgsecure.exe"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user