This commit is contained in:
2026-06-01 23:22:18 +02:00
parent f061da654d
commit d23d0c15be
14 changed files with 1858 additions and 202 deletions
+42 -10
View File
@@ -6,6 +6,40 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
---
## [0.2.0] — 2026-06-01
### Ajouté
- **Onglet "À propos"** dans le panneau admin : logo bouclier, version, branding JT-Tools by Johnny
- **Icône bouclier vectorielle** générée par QPainter (7 résolutions : 16→256 px)
- Vert connecté / Rouge déconnecté / Orange connexion en cours / Bleu app / Violet admin
- **Icône barre des tâches** : installation automatique de `~/.local/share/icons/wgsecure.png`
et `~/.local/share/applications/wgsecure.desktop` au premier démarrage
- **Thème sombre uniforme** sur les 6 onglets du panneau admin (CSS partagé `_TAB_CSS`)
- Fond `#1c2833`, texte blanc, champs semi-transparents
- Bandeau coloré par onglet (bleu/navy/teal/bleu/rouge)
- TabBar cohérente avec onglet actif mis en évidence
- **Makefile** : compilation binaire Linux (`make linux`) et Windows (`make windows` via Wine)
- **README** enrichi avec badges shields.io (version, Python, PyQt6, plateformes) et emojis
### Corrigé
- **Bug MDP vide** : `set_admin_password("")` effaçait incorrectement — hashait la chaîne vide,
forçant une demande de mot de passe vide après suppression
- **Menu systray incomplet** : `QAction` en variables locales GC'd par Python avant affichage →
toutes les actions passent désormais `self` comme parent Qt
- **Section infos invisible** : `QWidget` sans `autoFillBackground` ne peignait pas son fond ;
remplacé par `QFrame` avec `setAutoFillBackground(True)` et couleurs explicites
- **Bouton agrandir persistant** : `setWindowFlag` seul ignoré par Mutter/XWayland →
`setWindowFlags()` complet sans `WindowMaximizeButtonHint`
### Amélioré
- Fenêtre principale agrandie 380×460 → 400×520 pour afficher les 6 lignes d'infos
- Police des labels infos : 11 → 12 px, couleurs explicites `#2c3e50`
- Panneau admin : largeur 620 → 700 px pour éviter le débordement des onglets
- `app.setWindowIcon()` posé sur `QApplication` (multi-tailles) + `setDesktopFileName()`
- Page About : icône 96 → 86 px (10 %), texte en blanc sur fond sombre `#1c2833`
---
## [0.1.0] — 2026-06-01
### Ajouté
@@ -14,23 +48,21 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
- **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
- **Clés** : génération de paires Curve25519 (clé privée / publique), aperçu 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`)
- Surcouche MFA : dialogue TOTP avec minuterie de validité (fenêtre glissante ±1)
- Génération de clés WireGuard via `cryptography` (X25519, sans `wg` binaire)
- É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`)
- Configuration persistante 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)
*Versions planifiées :*
- `0.3.0` — Import/export de profils WireGuard (.conf), support multi-profils
- `0.4.0` — MFA par clé matérielle (FIDO2/YubiKey)
- `0.5.0` — Paquet installable (Windows .exe / Linux .deb)