chore(release): v0.9.1
This commit is contained in:
@@ -6,6 +6,24 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.9.1] — 2026-09-08
|
||||||
|
|
||||||
|
### Modifié
|
||||||
|
- **L'identifiant VPN n'est plus demandé, ni même transmis.** Le serveur reconnaît le poste à l'adresse source de son tunnel, comme il le fait pour l'état de l'accès depuis la v0.8.6 ; il n'y avait aucune raison que l'ouverture, elle, réclame un nom que le serveur possédait déjà. Le champ disparaît de la fenêtre de saisie. Celui du panneau Administrateur reste, désormais purement indicatif. Nécessite la v0.3.2 du serveur, qui accepte les deux formes le temps que les postes soient à jour.
|
||||||
|
- Ce choix resserre aussi la sécurité : sur WireGuard l'adresse source est garantie par le routage par clé — un pair ne peut pas émettre depuis l'adresse d'un autre — alors qu'un identifiant transmis en clair permettait de demander l'ouverture d'un compte depuis n'importe où. Il ferme au passage l'énumération de comptes que la route d'ouverture rendait possible.
|
||||||
|
- **La ligne *Accès distant* distingue « Non géré par le serveur » de « Non vérifié ».** Trois décisions d'interface — proposer ou non la saisie automatique, le libellé de cette ligne, l'aspect du bouton — se fondaient sur « un identifiant est-il configuré sur ce poste ? », une question qui ne renseigne en rien sur ce que le serveur, lui, connaît. Elles suivent maintenant sa réponse, qui sépare « aucun pair à cette adresse » de « accès fermé, code attendu ». Un poste non enrôlé n'est donc plus sollicité pour un code qui n'ouvrirait rien.
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
- **La fenêtre de saisie réclamait l'identifiant à chaque ouverture, et l'authentification échouait.** Les deux symptômes n'en faisaient qu'un : l'identifiant n'était enregistré qu'après une authentification réussie, or aucune n'aboutissait — il était donc redemandé sans fin. Sans objet désormais, puisqu'il n'est plus demandé.
|
||||||
|
- **Régression de la v0.9.0 : la passerelle du tunnel était calculée à `0.0.0.1` en tunnel intégral.** La déduction retenait la route par défaut des IPs autorisées (`0.0.0.0/0`) comme réseau du tunnel et en prenait le premier hôte. Sondage d'état et validation de code partaient alors vers une adresse qui n'existe pas, sans autre issue que de renseigner l'URL de l'API à la main. Seuls les réseaux contenant l'adresse du client sont désormais retenus, le plus spécifique d'abord, avec repli sur le /24 (ou /64) usuel faute de candidat. Le diagnostic « Pair joignable dans le tunnel » souffrait du même défaut et en bénéficie.
|
||||||
|
- Une demande d'ouverture distingue à présent le silence du réseau d'un refus du serveur, comme le sondage d'état le faisait déjà : un serveur injoignable ne fait plus passer pour refusé ce qu'il n'a jamais examiné.
|
||||||
|
|
||||||
|
### Technique
|
||||||
|
- `AuthResult` porte un champ `enrolled`, renseigné par le seul sondage d'état : sur une demande d'ouverture, le même code HTTP signifie « identifiant ou code invalide », ce qui est tout autre chose.
|
||||||
|
- Côté serveur (dépôt WGSecure-Serveur, v0.3.2) : `POST /api/session` désigne le compte par l'adresse de l'appelant, `username` devient facultatif et n'est plus que vérifié, et l'état d'accès répond 401 pour un pair inconnu au lieu de 403 — 404 restant réservé au repli « serveur antérieur à la v0.3.0 ».
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.9.0] — 2026-09-08
|
## [0.9.0] — 2026-09-08
|
||||||
|
|
||||||
### Corrigé
|
### Corrigé
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## ──────────────────────────────────────────────
|
## ──────────────────────────────────────────────
|
||||||
|
|
||||||
APP := wgsecure
|
APP := wgsecure
|
||||||
VERSION := 0.9.0
|
VERSION := 0.9.1
|
||||||
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.9.0 · 🐍 · 🪟🐧 · 🔐 Accès validé par le serveur · 🛡️ WireGuard
|
🚀 v0.9.1 · 🐍 · 🪟🐧 · 🔐 Accès validé par le serveur · 🛡️ WireGuard
|
||||||
|
|
||||||
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard dont l'accès aux ressources distantes est ouvert par un code à 6 chiffres validé **par le serveur**.
|
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard dont l'accès aux ressources distantes est ouvert par un code à 6 chiffres validé **par le serveur**.
|
||||||
|
|
||||||
@@ -210,4 +210,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.9.0"
|
__version__ = "0.9.1"
|
||||||
APP_NAME = "WGSecure"
|
APP_NAME = "WGSecure"
|
||||||
APP_SHORT = "WGS"
|
APP_SHORT = "WGS"
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
; ──────────────────────────────────────────────
|
; ──────────────────────────────────────────────
|
||||||
|
|
||||||
#define MyAppName "WGSecure"
|
#define MyAppName "WGSecure"
|
||||||
#define MyAppVersion "0.9.0"
|
#define MyAppVersion "0.9.1"
|
||||||
#define MyAppPublisher "WGSecure"
|
#define MyAppPublisher "WGSecure"
|
||||||
#define MyAppExeName "wgsecure.exe"
|
#define MyAppExeName "wgsecure.exe"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user