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 Vault - Documentation

Vue d'ensemble

Le projet 4NK Vault est un système de stockage sécurisé qui fournit une API HTTPS avec chiffrement quantique résistant pour servir des fichiers de configuration avec traitement automatique des variables d'environnement composites.

Architecture

┌─────────────────┐    HTTPS     ┌─────────────────┐    ┌─────────────────┐
│   Client SDK    │ ──────────►  │   API Vault     │ ──► │   Storage       │
│   TypeScript    │   Port 6666  │   Python Flask  │    │   Files         │
└─────────────────┘              └─────────────────┘    └─────────────────┘
                                         │
                                         ▼
                                ┌─────────────────┐
                                │   Variables     │
                                │   .env          │
                                └─────────────────┘

Composants

1. API Vault Server (api_server.py)

  • Port : 6666
  • Protocole : HTTPS uniquement
  • Domaine : vault.4nkweb.com
  • Chiffrement : ChaCha20-Poly1305 (quantique résistant)

2. SDK Client TypeScript (sdk-client/)

  • Client type-safe pour interagir avec l'API
  • Déchiffrement côté client
  • Gestion d'erreurs avancée

3. Stockage (storage/)

  • Structure : storage/<env>/<file>
  • Variables composites depuis .env
  • Sécurité : accès restreint au répertoire storage

Fonctionnalités principales

🔐 Sécurité

  • Chiffrement quantique résistant : ChaCha20-Poly1305
  • HTTPS obligatoire : Communication sécurisée
  • Variables composites : Résolution récursive des variables d'environnement
  • Validation des chemins : Protection contre les accès hors du répertoire

📁 Service de fichiers

  • Endpoint : GET /<env>/<file>
  • Variables : Traitement automatique depuis .env
  • Types : Support des fichiers texte et binaires
  • Encodage : Base64 pour les fichiers binaires

🌐 API REST

  • Santé : GET /health
  • Informations : GET /info
  • Monitoring : Logs détaillés et métriques

Installation et utilisation

Démarrage de l'API

# Installation des dépendances
pip install -r requirements.txt

# Démarrage
./start_api.sh
# ou directement
python3 api_server.py

Utilisation du SDK

cd sdk-client
npm install
npm run build

# Exemples
node dist/examples/basic-usage.js
node dist/examples/advanced-usage.js

Configuration

Variables d'environnement

Les variables sont définies dans /home/debian/4NK_vault/storage/dev/.env et peuvent être composites :

DOMAIN=4nkweb.com
HOST=dev4.$DOMAIN
ROOT_URL=https://$HOST
LECOFFRE_FRONT_URL=$ROOT_URL/lecoffre

Certificats SSL

L'API génère automatiquement des certificats auto-signés pour le développement. En production, utilisez des certificats valides.

Documentation détaillée

Tests

Tests de l'API

python3 test_api.py

Tests du SDK

cd sdk-client
npm test

Support et contribution

Licence

MIT License - Voir le fichier LICENSE pour plus de détails.


Version : 1.0.0 API : vault.4nkweb.com:6666 Chiffrement : ChaCha20-Poly1305 (quantique résistant)

Description
No description provided
Readme 792 KiB
Languages
TypeScript 32.8%
JavaScript 30.1%
Python 19.3%
Shell 17.8%