# WireGuard Config Generator Générateur de configurations WireGuard entièrement statique, sans backend. La génération des paires de clés (X25519), des clés pré-partagées et des QR codes se fait **intégralement dans le navigateur** : aucune donnée (clé privée, clé publique, configuration) n'est jamais envoyée à un serveur. ## Aperçu ![Aperçu du générateur](docs/screenshot.png) ## Fonctionnalités - Génération de paires de clés WireGuard (X25519) côté client via [TweetNaCl](https://github.com/dchest/tweetnacl-js) - Génération optionnelle d'une clé pré-partagée (PresharedKey) par pair - Attribution automatique des adresses IP à partir d'un réseau CIDR - Support multi-clients : ajout/suppression dynamique de pairs - Génération de la configuration serveur (`wg0.conf`) et d'un fichier `.conf` par client - QR code par client pour import direct dans l'application mobile WireGuard - Aucune dépendance réseau au runtime (CSP `connect-src 'none'`) ## Déploiement ```bash docker compose up -d --build ``` L'application est alors disponible sur `http://:8090/`. ## Stack technique - HTML / CSS / JavaScript vanilla, aucun build step - [TweetNaCl.js](https://github.com/dchest/tweetnacl-js) pour la cryptographie X25519 - [qrcode-generator](https://github.com/kazuhikoarase/qrcode-generator) pour les QR codes - Servi par `nginx-unprivileged` (image non-root) - Conteneur durci : `read_only`, `cap_drop: ALL`, `no-new-privileges`, en-têtes de sécurité (CSP, X-Frame-Options, etc.) ## Sécurité Toutes les clés privées et publiques sont générées localement dans le navigateur et ne transitent jamais sur le réseau. Le serveur ne fait que servir des fichiers statiques. ## Licence Ce projet est distribué sous licence [MIT](LICENSE).