v0.7.1 : diagnostics non-bloquants, DNS hors tunnel détecté

- Nouveau diagnostic : signale un DNS non couvert par les IPs autorisées
  sur un tunnel scindé (résolution forcée via une interface qui n'a pas
  de route vers ce serveur).
- Corrige le test de connexion, l'analyse DNS et la réparation DNS qui
  gelaient l'application (sondes lancées sur le thread graphique).
- Corrige le CHANGELOG absent de l'exécutable compilé (page « À propos »
  vide) et le badge de latence bloqué sur « hors ligne » quand l'ICMP est
  filtré alors que le tunnel fonctionne.
- wgsecure.iss installe désormais WireGuard for Windows automatiquement.
This commit is contained in:
2026-09-01 22:05:20 +02:00
parent ce4df4edb4
commit 8e40812f76
8 changed files with 119 additions and 26 deletions
+11
View File
@@ -6,6 +6,17 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
---
## [0.7.1] — 2026-09-01
### Ajouté
- **Diagnostic : DNS hors des IPs autorisées.** Sur un tunnel scindé (AllowedIPs ≠ 0.0.0.0/0), NetworkManager/systemd-resolved associe le DNS configuré à l'interface WireGuard avec un domaine de routage global (`~.`) : toute résolution de nom est alors tentée via cette interface, qui n'a de route que vers les réseaux listés dans les IPs autorisées. Un DNS hors de cette liste (typiquement un résolveur public comme 1.1.1.1 sur un tunnel qui ne route que des sous-réseaux internes) devient injoignable par ce chemin — la résolution échoue en bloc alors que le reste d'Internet continue de fonctionner (d'où un `ping` sur une IP qui réussit à côté d'un `ping` sur un nom qui échoue). Le test de connexion signale maintenant ce cas précis.
### Corrigé
- **CHANGELOG.md absent de l'exécutable compilé.** `datas=[]` dans le build PyInstaller n'embarquait jamais le fichier, et son chemin — calculé depuis `__file__` — ne survivait de toute façon pas à l'extraction onefile : la page « À propos » restait vide une fois l'application compilée. Le fichier est désormais ajouté via `--add-data`, et son chemin bascule sur `sys._MEIPASS` en mode figé (frozen).
- **Badge de latence toujours « hors ligne » alors que le tunnel fonctionne.** Il se basait uniquement sur un ping ICMP vers l'endpoint du serveur ; de nombreux serveurs ou pare-feux bloquent l'ICMP echo tout en laissant le tunnel WireGuard fonctionner normalement. Repli sur l'âge du dernier handshake réel quand l'ICMP échoue.
- **Outils de diagnostic figeant l'application (« Ne répond plus »).** Le test de connexion, l'analyse de fuite DNS et la réparation DNS exécutaient leurs sondes (ping, `dig`, handshake, élévation de privilèges) directement sur le thread graphique — jusqu'à plusieurs secondes de gel total. Déportés sur des threads dédiés, comme le reste de l'application.
- **Installeur Windows incomplet.** WireGuard for Windows, prérequis de WGSecure, n'était jamais installé automatiquement. `wgsecure.iss` l'installe désormais en silence s'il est absent, au même titre que le Visual C++ Redistributable ; `make installer-deps` télécharge les deux binaires.
## [0.7.0] — 2026-09-01
### Ajouté