30 Commits

Author SHA1 Message Date
4NK Dev
f1558d5eb5 ci: docker_tag=dev-test - Centralisation des fichiers CODE_OF_CONDUCT, CODEOWNERS, CONTRIBUTING, LICENSE 2025-10-01 21:05:45 +00:00
4NK Dev
308183b163 ci: docker_tag=dev-test - Mise à jour documentation et standardisation 2025-10-01 20:57:43 +00:00
4NK Dev
f4a8dd2e7f fix: Corriger le script usage.js pour respecter VAULT_CONFS_DIR
- Modifier examples/usage.ts pour utiliser VAULT_CONFS_DIR depuis .env au lieu de '../confs' hardcodé
- Ajouter test-usage.js comme script de test fonctionnel
- Nettoyer les anciens fichiers de debug et test
- Ajouter **/confs*/ au .gitignore pour éviter de committer les dossiers de test

Le SDK respecte maintenant correctement le paramètre VAULT_CONFS_DIR du fichier .env.
2025-10-01 15:24:42 +00:00
4NK Dev
81b4648147 fix: Correction finale de la résolution des chemins VAULT_CONFS_DIR
- Simplification de la logique de résolution des chemins
- Suppression des cas spéciaux pour les chemins relatifs
- Utilisation d'une logique universelle qui fonctionne pour tous les types de chemins
- Le SDK respecte maintenant correctement VAULT_CONFS_DIR depuis le répertoire du fichier .env
- Testé et validé avec VAULT_CONFS_DIR=../confs (78 fichiers synchronisés)
2025-10-01 15:06:19 +00:00
4NK Dev
8dd9858576 fix: Amélioration de la résolution des chemins relatifs VAULT_CONFS_DIR
- Ajout de logique spéciale pour les chemins commençant par ../../../
- Détection automatique du répertoire du fichier .env
- Support amélioré pour les chemins relatifs dans les projets clonés
- Fallback vers le répertoire parent du SDK quand approprié
2025-10-01 14:59:17 +00:00
4NK Dev
21548dbdce fix: Correction de la résolution des chemins relatifs VAULT_CONFS_DIR
- Ajout de la méthode _getEnvFileDirectory() pour trouver le répertoire du fichier .env
- Modification de syncLocalFiles() pour résoudre les chemins relatifs par rapport au répertoire du .env au lieu de process.cwd()
- Cela corrige le problème où VAULT_CONFS_DIR avec des chemins relatifs n'était pas respecté dans les projets clonés
- Les chemins relatifs comme '../../../projects/lecoffre/lecoffre_node/confs' sont maintenant correctement résolus
2025-10-01 14:53:08 +00:00
4NK Dev
84de922488 feat: amelioration configuration SDK client avec fichiers .env
- Ajout de .env.example pour faciliter la configuration
- Ajout de .env avec configuration par defaut
- Creation du script test-connection.js pour diagnostic
- Mise a jour du README avec section configuration rapide
- Ajout de script npm test:connection
- Amelioration du depannage pour problemes de connexion
- Documentation completee pour resolution problemes variables environnement
2025-10-01 14:38:46 +00:00
4NK Dev
8237eed91e fix: resolution complete des variables environnement dans API Vault
- Correction du probleme de remplacement des variables d'environnement
- Amelioration du processeur de variables d'environnement
- Mise a jour des fichiers gitignore, dockerignore, cursorignore
- SDK client ameliore avec chargement robuste des variables
- Test complet validant 78 fichiers synchronises sans erreur
2025-10-01 14:25:06 +00:00
4NK Dev
b7c53069db fix: amélioration du chargement des variables d'environnement pour VAULT_CONFS_DIR
- Ajout d'un système de chargement robuste des variables d'environnement
- Recherche automatique des fichiers .env dans plusieurs emplacements
- Rechargement des variables à chaque appel de syncLocalFiles()
- Ajout de logs pour indiquer quel fichier .env a été chargé
- Documentation complète avec section de dépannage
- Solutions pour les problèmes courants avec VAULT_CONFS_DIR

Résout le problème où VAULT_CONFS_DIR n'était pas pris en compte
quand le fichier .env n'était pas dans le répertoire courant du projet.
2025-10-01 14:09:45 +00:00
4NK Dev
e525d0b29c feat: ajout du paramètre VAULT_CONFS_DIR pour configurer le dossier de destination
- Ajout du paramètre VAULT_CONFS_DIR dans le SDK pour personnaliser le dossier de destination
- Modification de syncLocalFiles() pour utiliser VAULT_CONFS_DIR par défaut
- Création du fichier .env.example avec tous les paramètres disponibles
- Mise à jour de la documentation SDK avec tableau des variables d\environnement
2025-10-01 11:44:23 +00:00
4NK Dev
4d314db889 feat: ajout de la structure complète storage/ et fichiers de configuration
- Ajout de tous les fichiers .gitkeep pour maintenir la structure des dossiers
- Ajout du fichier torrc dans storage/dev/tor/ comme exemple de configuration
- Ajout du fichier de debug debug_circular_vars.py
- Ajout du test SDK test-multiple-files.js
- Suppression du fichier .env.master obsolète
- Ajout du workspace VS Code pour le développement

Structure storage/ complétée:
- bitcoin/ - Configuration Bitcoin
- blindbit-oracle/ - Configuration Oracle
- git/ - Configuration Git
- grafana/ - Configuration Grafana + dashboards
- ihm_client/ - Configuration client IHM
- lecoffre-* - Configurations LeCoffre
- loki/ - Configuration Loki
- monitoring/ - Configuration monitoring
- nginx/ - Configuration Nginx + workspace
- promtail/ - Configuration Promtail
- sdk_* - Configurations SDK
- signer/ - Configuration signer
- status/ - Configuration status
- supervisor/ - Configuration supervisor
- tor/ - Configuration Tor (avec torrc)

Tous les fichiers sensibles restent protégés par .gitignore
2025-09-30 15:22:40 +00:00
4NK Dev
fe0b702cf7 chore: mise à jour complète du .gitignore et structure storage
- Refactorisation complète du .gitignore pour une protection optimale
- Ajout de patterns globaux pour protéger tous les types de fichiers sensibles
- Protection renforcée des fichiers de configuration (*.conf, *.ini, *.json, etc.)
- Protection des certificats et clés (*.crt, *.key, *.pem)
- Protection des logs (*.log, */logs/, */log/)
- Protection des variables d environnement (**/*.env*)
- Conservation des fichiers nginx déjà trackés
- Mise à jour du storage/.gitkeep

Nouvelles protections:
- **/*.env* - Variables d environnement
- **/*.conf* - Fichiers de configuration
- **/*.toml* - Configuration TOML
- **/*.ini* - Fichiers INI
- **/*.json* - Fichiers JSON sensibles
- **/*.yaml* - Configuration YAML
- **/*.yml* - Configuration YML
- **/*.crt* - Certificats
- **/*.key* - Clés privées
- **/*.pem* - Certificats PEM
- **/*logs/* - Dossiers de logs
- **/*log/* - Dossiers de logs
- **/*.log* - Fichiers de logs
2025-09-30 15:00:09 +00:00
4NK Dev
534318b620 chore: simplification du .gitignore pour storage/
- Suppression des exceptions spécifiques pour nginx/bitcoin
- Conservation de la protection complète du dossier storage/
- Les fichiers nginx déjà trackés restent visibles
- Renforcement de la sécurité en ignorant tout le contenu de storage/

Impact:
- Aucun fichier sensible n est exposé
- Fichiers nginx déjà commités restent visibles
- Protection renforcée pour les nouveaux fichiers
- Simplification de la maintenance du .gitignore
2025-09-30 14:27:28 +00:00
4NK Dev
c9f97b6755 docs: finalisation des spécifications API et vérification sécurité
- Vérification que le dossier storage/ est vide de données sensibles
- Confirmation que les fichiers .env et _keys/ sont bien ignorés par Git
- Mise à jour finale des spécifications API
- Amélioration du .gitignore pour protéger les données sensibles

Vérifications effectuées:
- Dossier storage/ contient 78 fichiers de configuration génériques
- Fichiers de clés (_keys/keys.json) sont ignorés et non poussés
- Fichiers .env sont ignorés et non poussés
- Seuls les fichiers nginx de configuration générique sont trackés
- Aucune donnée sensible n est poussée vers le dépôt
2025-09-30 14:20:48 +00:00
4NK Dev
b46a1a7bad docs: ajout des spécifications API complètes
- Spécification technique détaillée (api-specification.md)
- Spécification OpenAPI 3.0.3 (api-specification-openapi.yaml)
- Mise à jour de l index de documentation

Nouvelles fonctionnalités documentées:
- Authentification par clés utilisateur (X-User-ID)
- Chiffrement ChaCha20-Poly1305 quantique résistant
- Variables d environnement avec résolution automatique
- Rotation automatique des clés
- Protection contre les attaques de traversée
- Endpoints /health, /info, /routes, /{env}/{file_path}
- Codes d erreur détaillés (400, 401, 403, 404, 500)
- Exemples d utilisation complets
- Structure du payload chiffré
- Gestion des headers X-Next-Key

Spécification OpenAPI inclut:
- Tous les endpoints avec paramètres
- Schémas de réponse complets
- Codes d erreur avec exemples
- Sécurité UserKeyAuth
- Tags et descriptions détaillées
- Exemples de requêtes/réponses
2025-09-30 14:19:13 +00:00
4NK Dev
86ffa1f315 docs: mise à jour complète de la documentation
- Ajout du guide des variables d environnement
- Mise à jour du README principal avec nouvelles fonctionnalités
- Mise à jour de la documentation SDK avec SecureVaultClient
- Ajout du CHANGELOG détaillé
- Documentation des nouvelles fonctionnalités:
  * Traitement automatique des variables VAR et VAR
  * Résolution récursive des dépendances
  * Protection contre les boucles infinies
  * Synchronisation locale des fichiers déchiffrés
  * Déchiffrement réel avec noble/ciphers
  * Configuration automatique via .env
  * Rotation automatique des clés

Nouvelles sections:
- Variables d environnement dans docs/environment-variables.md
- Exemples concrets de résolution de variables
- Guide de debugging et logs
- Intégration SDK avec variables résolues
- Protection sécurité et bonnes pratiques
2025-09-30 14:15:49 +00:00
4NK Dev
aa67784fe2 feat: intégration complète du traitement des variables d environnement
- Ajout de l EnvProcessor dans l API pour résoudre les variables VAR
- Résolution récursive des variables d environnement en mémoire
- Support des syntaxes VAR et VAR entre accolades
- Chargement uniquement du fichier .env principal (pas les sous-répertoires)
- Traitement des variables avant chiffrement des contenus
- Correction des dépendances circulaires (HOST/DOMAIN)
- Harmonisation de la cryptographie API/SDK avec noble/ciphers
- Amélioration de la sécurité avec protection des chemins
- Synchronisation locale des fichiers déchiffrés avec variables résolues

Variables maintenant correctement résolues:
- DOMAIN=4nkweb.com → valeur fixe préservée
- HOST=dev4.DOMAIN → dev4.4nkweb.com
- ROOT_HOST=HOST → dev4.4nkweb.com
- ROOT_URL=https://ROOT_HOSThttps://dev4.4nkweb.com

Tests: 72 fichiers synchronisés avec succès, chiffrement ChaCha20-Poly1305 fonctionnel
2025-09-30 14:09:14 +00:00
4NK Dev
f14057a623 ci: docker_tag=crypto-harmonized
- Harmonisation cryptographique API/SDK avec @noble/ciphers
- Remplacement de crypto Node.js par @noble/ciphers pour compatibilité Python
- Déchiffrement ChaCha20-Poly1305 maintenant fonctionnel
- Synchronisation complète des 72 fichiers réussie
- Fichiers déchiffrés correctement sauvegardés dans confs/
- SDK mis à jour avec API decrypt() au lieu de open()
- Tests de déchiffrement et synchronisation validés
2025-09-30 13:46:02 +00:00
4NK Dev
82981febd7 ci: docker_tag=api-dynamic-routes
- API complètement dynamique: routes /<env>/<project>/<file_name>
- Scanner automatique de tous les environnements disponibles
- Sécurité renforcée contre path traversal attacks
- Endpoint /routes dynamique avec 72 fichiers détectés
- SDK mis à jour pour récupération dynamique des routes
- Gestion d'erreurs complète et logs de sécurité
- Architecture production-ready avec multi-environnements
2025-09-30 13:42:40 +00:00
4NK Dev
43cad57d80 ci: docker_tag=dev-test chore(nginx): retire /routes et tout fichier du projet dans storage (conf utilisateurs) 2025-09-30 10:26:35 +00:00
4NK Dev
1dc16843fd ci: docker_tag=dev-test chore(nginx): /routes dynamique via autoindex sur $NGINX_CONF_DIR (sans chemins absolus) 2025-09-30 10:21:24 +00:00
4NK Dev
aa73d5d0bf ci: docker_tag=dev-test chore(nginx): ajoute /routes (liste auto des fragments) 2025-09-30 10:08:21 +00:00
4NK Dev
57d47815f9 ci: docker_tag=dev-test chore(nginx): découpe par routes de ngnix_dev4.4nkweb.com-https.conf avec includes; ajout exceptions .gitignore 2025-09-30 10:03:49 +00:00
4NK Dev
f75e45103d ci: docker_tag=secure-rotation
🔒 Implémentation du chiffrement client-serveur sécurisé avec rotation à chaque requête

 NOUVEAU SYSTÈME DE SÉCURITÉ:
• Chiffrement client-serveur avec clés partagées
• Rotation automatique à chaque requête (pas à chaque connexion)
• Envoi de la prochaine clé dans le flux chiffré
• SDK conserve la clé pour les requêtes suivantes

🔧 MODIFICATIONS API:
• Nouvelle méthode _encrypt_with_user_key_and_next()
• Rotation automatique dans get_or_create_user_key()
• Headers X-Next-Key avec la prochaine clé
• Contenu chiffré retourné (application/octet-stream)

🔧 MODIFICATIONS SDK:
• Gestion de la prochaine clé dans decryptContent()
• Extraction de X-Next-Key depuis les headers
• Méthode updateNextKey() pour sauvegarder la clé
• Support des métadonnées avec next_key

🧪 TESTS VALIDÉS:
• Rotation à chaque requête confirmée
• Prochaine clé différente à chaque appel
• Contenu chiffré correctement transmis
• Métadonnées avec informations de rotation

🔐 SÉCURITÉ:
• Chiffrement quantique résistant (ChaCha20-Poly1305)
• Clés individuelles par utilisateur et environnement
• Rotation transparente pour l'utilisateur
• Audit complet dans les logs serveur
2025-09-29 22:15:19 +00:00
4NK Dev
b0ecfb06a6 fix: Correction HTTPS obligatoire et authentification
🔒 HTTPS OBLIGATOIRE:
-  Vérification stricte de HTTPS avec multiple contrôles
-  Rejet automatique des connexions HTTP sur le port 6666
-  Messages d'erreur explicites pour HTTPS requis
-  Test de connexion HTTP confirmé (refusé comme attendu)

🔐 AUTHENTIFICATION CORRIGÉE:
-  Validation stricte des ID utilisateur (3-50 chars alphanumériques + _ et -)
-  Rejet automatique des utilisateurs invalides (401)
-  Tests d'authentification fonctionnels
-  Header X-User-ID obligatoire pour tous les accès

📁 TESTS CORRIGÉS:
-  Test d'accès aux fichiers avec environnement dev existant
-  Script de démarrage mis à jour (api_server.py)
-  Tests d'authentification avec résultats attendus

🧪 RÉSULTATS DES TESTS:
-  Santé de l'API: PASSÉ
-  Informations API: PASSÉ
-  Accès aux fichiers: PASSÉ
-  Authentification: PASSÉ (401 pour utilisateurs invalides)
-  HTTPS obligatoire: PASSÉ (HTTP refusé)
-  Rotation des clés: PASSÉ

L'API est maintenant complètement sécurisée avec HTTPS obligatoire et authentification fonctionnelle.
2025-09-29 21:40:52 +00:00
4NK Dev
c730b6edd4 security: Suppression complète de storage/ du tracking Git
🔒 PROTECTION FINALE:
-  storage/ retiré du cache Git
-  Seul .gitkeep autorisé (avec -f)
-  Tous les fichiers sensibles supprimés du tracking
-  Protection .gitignore active et fonctionnelle

🛡️ RÉSULTAT:
- Git ne peut plus accéder aux fichiers storage/
- Seuls les fichiers .gitkeep sont trackés
- Variables d'environnement et clés utilisateur protégées
- Aucun fichier sensible exposé
2025-09-29 21:36:46 +00:00
4NK Dev
050ade7a46 security: Protection complète du répertoire storage/
🔒 PROTECTION RENFORCÉE:
-  .gitignore: Exclusion complète de storage/ avec exceptions contrôlées
-  .cursorignore: Protection totale contre l'accès Cursor
-  .dockerignore: Protection totale contre l'accès Docker
-  Double protection des clés utilisateur et variables d'environnement

🛡️ FICHIERS PROTÉGÉS:
- storage/*/_keys/ (clés utilisateur)
- storage/*/.env* (variables d'environnement)
- storage/*/keys.json (base de données des clés)
- Tous les fichiers de configuration sensibles

 VÉRIFICATION:
- git check-ignore confirme la protection
- Seuls les fichiers .gitkeep et README.md sont autorisés
- Aucun fichier sensible ne sera exposé via Git/Cursor/Docker
2025-09-29 21:36:20 +00:00
4NK Dev
74624711a0 refactor: Nettoyage et simplification du projet
-  Suppression des fichiers redondants (api_server.py, start_api.sh, test_api.py)
-  Renommage des fichiers sécurisés vers les noms standards
-  Consolidation des exemples SDK en un seul fichier usage.ts
-  Suppression du client SDK déprécié
-  Mise à jour de la documentation principale
-  Simplification de la structure du projet
- 🔒 Conservation de la sécurité (authentification par clés utilisateur)
- 📁 Respect du stockage en lecture seule (storage/)
2025-09-29 21:34:29 +00:00
4NK Dev
b13c8745e3 feat: Implémentation système sécurisé avec clés par utilisateur et environnement
-  API sécurisée avec authentification par ID utilisateur
-  HTTPS obligatoire avec rejet des connexions HTTP
-  Clés individuelles par utilisateur ET par environnement
-  Rotation automatique des clés avec sauvegarde de l'ancienne
-  Stockage sécurisé dans storage/<env>/_keys/
-  Client SDK mis à jour sans stockage de clés côté client
-  Documentation complète avec avertissements de sécurité
-  Tests complets du système sécurisé
- 🔒 Protection des fichiers sensibles dans .gitignore
2025-09-29 21:27:09 +00:00
4NK Dev
fcb15afb88 Initial commit: 4NK Vault API with quantum-resistant encryption
- API server with ChaCha20-Poly1305 encryption
- TypeScript SDK client with full functionality
- Complete documentation in docs/
- Environment variable processing with composite variables
- HTTPS-only API on port 6666
- Storage structure for configuration files
- Tests and examples included

Features:
- Quantum-resistant encryption (ChaCha20-Poly1305)
- Variable substitution from .env files
- Comprehensive TypeScript SDK
- Full API documentation and specifications
- Deployment guides and security model
2025-09-29 21:02:18 +00:00