Initial commit: WireGuard config generator (génération de clés côté navigateur)
This commit is contained in:
commit
581a7c9ed3
11 files changed
+3014
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# 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
|
||||
|
||||

|
||||
|
||||
## 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://<hôte>: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.
|
||||
Reference in new issue
Block a user