chore(release): v0.4.5

fix: la clé pré-partagée n'était écrite dans aucune config client

L'assistant de génération produisait une PresharedKey affichée à l'écran mais
stockée nulle part, et l'import d'un .conf ignorait la ligne. Face à un serveur
qui en attend une, le tunnel montait et l'interface existait — sans qu'aucun
handshake n'aboutisse jamais. La PSK devient un champ à part entière.

fix: options de ligne de commande wireguard.exe incorrectes sous Windows

/installtunnel et /uninstalltunnel n'existent pas ; les vrais verbes sont
/installtunnelservice et /uninstalltunnelservice. S'y ajoutaient l'absence de
résolution du chemin d'installation (WireGuard n'est pas dans le PATH),
l'absence totale d'élévation UAC alors que ces commandes l'exigent, et une
détection d'installation qui sondait une application graphique avec --help.

feat: diagnostic de bout en bout de la chaîne de connexion

Le bouton de test s'arrêtait à la joignabilité UDP et concluait « serveur
joignable » sur un tunnel qui n'échangeait rien. Il déroule désormais quatorze
étapes, de la configuration locale jusqu'au DNS dans le tunnel, et désigne
l'étape qui bloque.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tuxgyver
2026-08-31 15:41:43 +02:00
co-authored by Claude Opus 5
parent 09724f4e4f
commit 9d785c00cc
10 changed files with 777 additions and 64 deletions
+56
View File
@@ -6,6 +6,62 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
---
## [0.4.5] — 2026-08-31
### Corrigé
- **Tunnel « connecté » sans jamais négocier de handshake** : la clé pré-partagée (PresharedKey)
n'était écrite dans aucune configuration client. L'assistant « Générer config serveur + client »
en produisait une, visible à l'écran, mais impossible à enregistrer ; et l'import d'un fichier
`.conf` l'ignorait purement et simplement. Face à un serveur qui en attend une, le tunnel montait,
l'interface existait, l'application affichait « Connecté » — et pas un paquet ne passait. La clé
pré-partagée est désormais un champ à part entière : saisie, importée, exportée et écrite dans la
configuration du tunnel.
- **Latence du serveur jamais mesurée hors système anglophone** : la sortie de `ping` est traduite
(« temps= » en français), et seule la forme anglaise était reconnue. Un serveur qui répondait
correctement était rapporté comme injoignable.
### Ajouté
- **Diagnostic complet de la chaîne de connexion** : le bouton « Lancer le test de connexion »
ne se contentait plus d'un simple test UDP. Il déroule maintenant toute la chaîne et désigne
l'étape exacte qui bloque : présence de WireGuard, complétude de la configuration, cohérence de
la paire de clés du client, clé pré-partagée, résolution du nom du serveur, route empruntée,
cohérence des « IPs autorisées », ping ICMP, port UDP, montage du tunnel, handshake, trafic
chiffré, joignabilité du pair distant et résolution DNS dans le tunnel.
- **Détection des deux pièges de routage classiques** : l'adresse du serveur incluse dans les
« IPs autorisées » (le tunnel se coupe l'herbe sous le pied dès qu'il monte) et le réseau local
couvert par ces mêmes plages (imprimante, NAS et box basculent dans le VPN).
- **Champ MTU** : réglable, laissé automatique par défaut, importé et exporté avec les fichiers `.conf`.
- **Bouton « Appliquer le volet client »** dans l'assistant de génération : reporte clés et clé
pré-partagée directement dans la configuration, au lieu de les laisser dans une fenêtre à recopier.
### Modifié
- **Statistiques du tunnel** : le dernier handshake est lu via `wg show latest-handshakes`, ce qui
permet d'en donner l'ancienneté exacte et de signaler un pair qui a cessé de répondre.
## [0.4.4] — 2026-08-31
### Corrigé
- **Tunnel impossible à monter sous Windows** : les commandes envoyées à `wireguard.exe`
utilisaient des options qui n'existent pas (`/installtunnel`, `/uninstalltunnel`). WireGuard
affichait sa boîte d'aide et sortait sans rien faire : le bouton « Connecter » ne montait jamais
le tunnel. Les vraies options `/installtunnelservice` et `/uninstalltunnelservice` sont
désormais utilisées.
- **WireGuard déclaré absent sous Windows** : l'installateur WireGuard n'ajoute pas son
répertoire au PATH, et l'application cherchait `wireguard.exe` et `wg.exe` sans chemin. Ils sont
maintenant localisés dans `C:\Program Files\WireGuard`.
- **« Accès refusé » silencieux sous Windows** : installer ou retirer un tunnel exige les droits
administrateur, qui n'étaient jamais demandés. Une invite UAC apparaît désormais au moment
voulu, et l'annulation de cette invite est signalée clairement.
- **Détection de WireGuard toujours négative sous Windows** : le test d'installation lançait
`wireguard --help`, une option inexistante sur une application graphique. La présence du
logiciel est maintenant vérifiée sur le disque.
- **Échec annoncé sur un tunnel qui montait** : le service du tunnel démarre de façon asynchrone
et l'état était vérifié trop tôt. L'application attend désormais son démarrage effectif.
### Ajouté
- **Statistiques du tunnel sous Windows** : volumes envoyés/reçus, pair et dernier handshake,
jusqu'ici affichés vides.
## [0.4.3] — 2026-08-31
### Corrigé