chore(release): v0.4.6
This commit is contained in:
@@ -6,6 +6,27 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.4.6] — 2026-09-01
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
- **Handshake impossible quand le réseau local figure dans les « IPs autorisées »** : si la
|
||||||
|
passerelle qui mène au serveur appartient à une plage autorisée, `wg-quick` route cette plage
|
||||||
|
vers le tunnel avec une métrique de 0 — la route l'emporte sur celle de la carte réseau, la
|
||||||
|
passerelle n'est plus joignable que par le tunnel, et le tunnel a justement besoin d'elle pour
|
||||||
|
sortir. Le tunnel montait, l'interface existait, et plus aucun paquet de handshake ne quittait
|
||||||
|
la machine. Le diagnostic détecte désormais ce cas et le signale comme point de blocage, au lieu
|
||||||
|
du simple avertissement « imprimante et NAS passeront par le VPN » qui n'en disait pas la gravité.
|
||||||
|
- **Rapport de test de connexion illisible** : le panneau de résultat était un simple libellé que
|
||||||
|
la mise en page comprimait à quelques lignes tronquées, alors que le rapport en réclame le double.
|
||||||
|
Il devient une zone de texte défilante en pleine largeur, et la fenêtre d'administration, jusque-là
|
||||||
|
figée à 700 × 600, s'ouvre plus grande et se redimensionne librement.
|
||||||
|
|
||||||
|
### Technique
|
||||||
|
- Nouvelle fonction `_next_hop()` (`app/core/wireguard.py`) : détermine la passerelle réellement
|
||||||
|
empruntée pour joindre le serveur, via `ip route get` sous Linux et `Find-NetRoute` sous Windows.
|
||||||
|
- `_dark_page()` accepte une option `scroll` : les onglets dont le contenu grandit à l'usage
|
||||||
|
disposent d'une zone défilante.
|
||||||
|
|
||||||
## [0.4.5] — 2026-08-31
|
## [0.4.5] — 2026-08-31
|
||||||
|
|
||||||
### Corrigé
|
### Corrigé
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## ──────────────────────────────────────────────
|
## ──────────────────────────────────────────────
|
||||||
|
|
||||||
APP := wgsecure
|
APP := wgsecure
|
||||||
VERSION := 0.4.5
|
VERSION := 0.4.6
|
||||||
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.5 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
🚀 v0.4.6 · 🐍 · 🪟🐧 · 🔐 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 :  — Août 2026
|
Version :  — Septembre 2026
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
__version__ = "0.4.5"
|
__version__ = "0.4.6"
|
||||||
APP_NAME = "WGSecure"
|
APP_NAME = "WGSecure"
|
||||||
APP_SHORT = "WGS"
|
APP_SHORT = "WGS"
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ _WG_DEFAULT: dict[str, Any] = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_DEFAULT: dict[str, Any] = {
|
_DEFAULT: dict[str, Any] = {
|
||||||
"version": "0.4.5",
|
"version": "0.4.6",
|
||||||
"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.4.5
|
Version 0.4.6
|
||||||
"""
|
"""
|
||||||
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.5")
|
app.setApplicationVersion("0.4.6")
|
||||||
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.5"
|
#define MyAppVersion "0.4.6"
|
||||||
#define MyAppPublisher "WGSecure"
|
#define MyAppPublisher "WGSecure"
|
||||||
#define MyAppExeName "wgsecure.exe"
|
#define MyAppExeName "wgsecure.exe"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user