Initial release

This commit is contained in:
2026-06-01 22:31:22 +02:00
parent ab5ba103fe
commit 0d2646a9ad
17 changed files with 1831 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
# 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)