# Changelog — WGSecure (WGS) Toutes les modifications notables de ce projet sont documentées ici. Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/). Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/). --- ## [0.1.0] — 2026-06-01 ### Ajouté - Interface graphique PyQt6 avec icône systray (Linux & Windows) - **Mode User** (défaut) : connexion / déconnexion WireGuard en un clic, statut en temps réel - **Mode Admin** (`--admin` ou via le menu) protégé par mot de passe - Panneau Admin avec 5 onglets : - **WireGuard** : configuration serveur (adresse, port UDP, clé publique, DNS, IP client) - **Clés** : génération de paires Curve25519 (clé privée / publique), aperçu de la config exportable - **MFA** : génération de secret TOTP, QR Code compatible Google Authenticator / Aegis - **Test connexion** : vérification UDP du serveur avant tunnel - **Sécurité** : gestion du mot de passe administrateur (SHA-256 + salt) - Surcouche MFA : dialogue TOTP avec minuterie de validité du code (fenêtre glissante ±1) - Génération de clés WireGuard via la bibliothèque `cryptography` (X25519, sans dépendance à `wg`) - Écriture automatique du fichier `.conf` WireGuard avec permissions `0600` - Connexion via `wg-quick` (Linux) ou `wireguard /installtunnel` (Windows) - Statut temps réel : trafic RX/TX, dernier handshake - Icônes générées programmatiquement (vert/rouge/orange) sans fichier binaire externe - Réduction dans le systray à la fermeture de la fenêtre principale - Option `--no-tray` pour fonctionner sans systray - Configuration persistante en JSON (`~/.wgsecure/config.json`) --- *Prochaines versions planifiées :* - `0.2.0` — Import/export de profils WireGuard (.conf), support multi-profils - `0.3.0` — MFA par clé matérielle (FIDO2/YubiKey) - `0.4.0` — Paquet installable (Windows .exe / Linux .deb)