Files
WGSecure/CHANGELOG.md
T
2026-06-01 23:22:18 +02:00

3.7 KiB
Raw Blame History

Changelog — WGSecure (WGS)

Toutes les modifications notables de ce projet sont documentées ici.
Format basé sur Keep a Changelog.
Ce projet suit le Versionnage Sémantique.


[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é

  • 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 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é (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
  • Réduction dans le systray à la fermeture de la fenêtre principale
  • Configuration persistante JSON (~/.wgsecure/config.json)

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)