resolve: merge conflicts in ignore files

- Keep Cursor-specific content in .cursorignore and .dockerignore
- Keep comprehensive Git ignore rules in .gitignore
- Maintain protection for sensitive files and directories
This commit is contained in:
4NK Dev 2025-10-01 22:17:04 +00:00
commit d48ccc8fbc
8 changed files with 124 additions and 48 deletions

87
.gitignore vendored
View File

@ -1,17 +1,82 @@
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/ # 4NK Environment - Git Ignore
**/__pycache__/ # ============================
**/dist/ confs/
**/node_modules/ # Dossiers de sauvegarde des scripts
**/package-lock.json* **/backup/
**/yarn.lock* **/*backup*
# Variables d'environnement (protection renforcée) **/.cargo/
**/.crt* # Fichiers temporaires
**/.key* **/*.tmp*
**/.pem* **/*.temp*
**/*.log*
**/*.pid*
# Fichiers de configuration locale
**/*.env*
**/*.conf*
**/*.yaml*
**/*.yml*
**/*.ini*
**/*.json*
**/*.toml*
**/*.lock*
# Données et logs
**/*.logs*
**/*.data
*.db
*.sqlite
# Certificats et clés
**/*.key
**/*.pem
**/*.crt
**/*.p12
**/*.pfx
ssl/
certs/
# Docker
**/*.docker*
# Cache et build
**/*.node_modules/
**/*.dist/
**/*build/
**/*target/
**/*.*.o
**/*.so
**/*.dylib
# IDE et éditeurs
**/*.vscode/
**/*.idea/
**/*.swp
**/*.swo
**/*~
# OS
**/*.DS_Store
**/*Thumbs.db
**/*tmp*
# Git
**/*.git/
**/*.orig*
# Backup des projets existants
**/*backup*
# Clés utilisateur et données sensibles # Clés utilisateur et données sensibles
**/_keys/ **/_keys/
**/keys.json* **/keys.json*
storage/dev/.env.secrets
**/*wallet*
**/*keys*
**/*node_modules*
**/*cursor*
**/*pid*
**/*next*

View File

@ -74,7 +74,7 @@ X-User-ID: your_user_id
**Exemple :** **Exemple :**
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf curl -k -H "X-User-ID: <VAULT_USER_ID>" "$VAULT_URL"/dev/bitcoin/bitcoin.conf
``` ```
## 🔧 Installation et utilisation ## 🔧 Installation et utilisation
@ -171,12 +171,23 @@ python3 test_api.py
└── docs/ # Documentation complète └── docs/ # Documentation complète
``` ```
## 🌐 Domaine ## 🌐 Intégration dans l'environnement 4NK
L'API est configurée pour fonctionner sur le domaine `vault.4nkweb.com` avec des certificats SSL auto-signés pour la démonstration. Ce module s'intègre au déploiement global 4NK via une URL de base configurable (variable `VAULT_URL`).
Consultez les documents centraux pour le contexte et l'orchestration:
En production, utilisez des certificats SSL valides et implémentez un échange de clés sécurisé. - `docs/DEEP_ARCHITECTURE_ANALYSIS.md`
- `docs/TECHNICAL_REFERENCE.md`
- `docs/DEPLOYMENT_GUIDE.md`
## ⚠️ Avertissements ## ⚠️ Avertissements
Voir `SECURITY_NOTICE.md` pour les détails sur les limitations de sécurité en mode démonstration. Voir `SECURITY_NOTICE.md` pour les détails sur les limitations de sécurité en mode démonstration.
## 📋 Fichiers centralisés
Les fichiers suivants sont centralisés dans le dépôt principal `4NK_env` :
- `CODE_OF_CONDUCT.md` - Code de conduite
- `CODEOWNERS` - Propriétaires du code
- `CONTRIBUTING.md` - Guide de contribution
- `LICENSE` - Licence du projet
Voir : [`4NK_env/CODE_OF_CONDUCT.md`](../../CODE_OF_CONDUCT.md), [`4NK_env/CODEOWNERS`](../../CODEOWNERS), [`4NK_env/CONTRIBUTING.md`](../../CONTRIBUTING.md), [`4NK_env/LICENSE`](../../LICENSE)

View File

@ -3,7 +3,7 @@
## 🚨 Problème de sécurité résolu ## 🚨 Problème de sécurité résolu
### Problème identifié ### Problème identifié
La clé de démonstration `quantum_resistant_demo_key_32byt` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API. La clé de démonstration `<DEMO_KEY_PLACEHOLDER>` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API.
### Solution implémentée ### Solution implémentée
@ -62,7 +62,7 @@ const client = new VaultClient({
baseUrl: 'https://vault.4nkweb.com:6666', baseUrl: 'https://vault.4nkweb.com:6666',
verifySsl: false, verifySsl: false,
timeout: 15000 timeout: 15000
}, 'old_demo_key'); // Ignorée mais acceptée }, '<OLD_DEMO_KEY_PLACEHOLDER>'); // Ignorée mais acceptée
``` ```
### 🚀 **Prochaines étapes** ### 🚀 **Prochaines étapes**

View File

@ -21,7 +21,7 @@ L'API 4NK Vault Secure est un système de stockage sécurisé avec authentificat
### Format de l'ID utilisateur ### Format de l'ID utilisateur
- **Longueur** : 3-128 caractères - **Longueur** : 3-128 caractères
- **Caractères autorisés** : `a-zA-Z0-9_-` - **Caractères autorisés** : `a-zA-Z0-9_-`
- **Exemple** : `demo_user_001` - **Exemple** : `<VAULT_USER_ID>`
### Header requis ### Header requis
```http ```http
@ -180,7 +180,7 @@ X-User-ID: your_user_id
**Exemple d'utilisation :** **Exemple d'utilisation :**
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \ https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
--output bitcoin.conf.encrypted --output bitcoin.conf.encrypted
``` ```
@ -308,32 +308,32 @@ rpcport=8332
### Test de connectivité ### Test de connectivité
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/health https://vault.4nkweb.com:6666/health
``` ```
### Récupération d'informations ### Récupération d'informations
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/info https://vault.4nkweb.com:6666/info
``` ```
### Liste des routes disponibles ### Liste des routes disponibles
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/routes https://vault.4nkweb.com:6666/routes
``` ```
### Récupération d'un fichier ### Récupération d'un fichier
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \ https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
--output bitcoin.conf.encrypted --output bitcoin.conf.encrypted
``` ```
### Récupération avec sauvegarde de la clé suivante ### Récupération avec sauvegarde de la clé suivante
```bash ```bash
curl -k -H "X-User-ID: demo_user_001" \ curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/tor/torrc \ https://vault.4nkweb.com:6666/dev/tor/torrc \
--output torrc.encrypted \ --output torrc.encrypted \
--dump-header headers.txt --dump-header headers.txt

View File

@ -62,7 +62,7 @@ pip install -r requirements.txt
./start_api.sh ./start_api.sh
# 3. Test avec authentification # 3. Test avec authentification
curl -k -H "X-User-ID: demo_user_001" https://127.0.0.1:6666/health curl -k -H "X-User-ID: <VAULT_USER_ID>" https://127.0.0.1:6666/health
``` ```
### Utilisation avec le SDK TypeScript ### Utilisation avec le SDK TypeScript

View File

@ -40,8 +40,8 @@ Le SDK peut être configuré automatiquement via un fichier `.env` :
```bash ```bash
# .env # .env
VAULT_USER=demo_user_001 VAULT_USER=<VAULT_USER_ID>
VAULT_KEY=JYyybYFXe9hghRI9d1mpoQ1uYYxpt/6lzYPOWrxruG0= VAULT_KEY=<VAULT_KEY_BASE64>
VAULT_ENV=dev VAULT_ENV=dev
VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronisés VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronisés
``` ```
@ -54,7 +54,7 @@ VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronis
| `VAULT_KEY` | Clé de déchiffrement (gérée automatiquement) | ✅ | - | | `VAULT_KEY` | Clé de déchiffrement (gérée automatiquement) | ✅ | - |
| `VAULT_ENV` | Environnement par défaut | ✅ | - | | `VAULT_ENV` | Environnement par défaut | ✅ | - |
| `VAULT_CONFS_DIR` | Dossier de destination pour les fichiers synchronisés | ❌ | `../confs` | | `VAULT_CONFS_DIR` | Dossier de destination pour les fichiers synchronisés | ❌ | `../confs` |
| `VAULT_URL` | URL de l'API Vault | ❌ | `https://vault.4nkweb.com:6666` | | `VAULT_URL` | URL de l'API Vault | ❌ | `<VAULT_URL>` |
#### Chargement automatique des variables d'environnement #### Chargement automatique des variables d'environnement
@ -75,9 +75,9 @@ import { SecureVaultClient } from '@4nk/vault-sdk';
// Configuration manuelle // Configuration manuelle
const client = new SecureVaultClient({ const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666', baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
userId: 'demo_user_001', userId: '<VAULT_USER_ID>',
vaultKey: 'base64-encoded-key', vaultKey: '<VAULT_KEY_BASE64>',
environment: 'dev', environment: 'dev',
verifySsl: false // Pour les certificats auto-signés verifySsl: false // Pour les certificats auto-signés
}); });
@ -110,9 +110,9 @@ try {
import { SecureVaultClient } from '@4nk/vault-sdk'; import { SecureVaultClient } from '@4nk/vault-sdk';
const client = new SecureVaultClient({ const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666', baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
userId: 'demo_user_001', userId: '<VAULT_USER_ID>',
vaultKey: 'your-base64-key', vaultKey: '<VAULT_KEY_BASE64>',
environment: 'dev', environment: 'dev',
verifySsl: false, // Pour les certificats auto-signés verifySsl: false, // Pour les certificats auto-signés
timeout: 10000 // 10 secondes timeout: 10000 // 10 secondes
@ -239,10 +239,10 @@ try {
// ✅ Utiliser HTTPS en production // ✅ Utiliser HTTPS en production
const client = new SecureVaultClient({ const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666', baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
verifySsl: true, // Activer la validation SSL verifySsl: true, // Activer la validation SSL
userId: 'your-user-id', userId: '<VAULT_USER_ID>',
vaultKey: 'your-base64-key', vaultKey: '<VAULT_KEY_BASE64>',
environment: 'prod' environment: 'prod'
}); });
@ -314,8 +314,8 @@ const syncResult = await client.syncLocalFiles({
```typescript ```typescript
const client = new SecureVaultClient({ const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666', baseUrl: 'https://vault.4nkweb.com:6666',
userId: 'demo_user_001', userId: '<VAULT_USER_ID>',
vaultKey: 'your-key', vaultKey: '<VAULT_KEY_BASE64>',
verifySsl: false verifySsl: false
}); });
``` ```
@ -327,12 +327,12 @@ const syncResult = await client.syncLocalFiles({
**Solutions** : **Solutions** :
1. **Vérifiez l'URL dans votre `.env`** : 1. **Vérifiez l'URL dans votre `.env`** :
```bash ```bash
VAULT_URL=https://vault.4nkweb.com:6666 VAULT_URL=<VAULT_URL>
``` ```
2. **Redémarrez l'API locale** si elle tourne en arrière-plan 2. **Redémarrez l'API locale** si elle tourne en arrière-plan
3. **Testez la connectivité** : 3. **Testez la connectivité** :
```bash ```bash
curl -k https://vault.4nkweb.com:6666/health curl -k "$VAULT_URL"/health
``` ```
4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée 4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée
@ -545,5 +545,5 @@ MIT License - Voir le fichier `LICENSE` pour plus de détails.
--- ---
**Version** : 1.0.0 **Version** : 1.0.0
**API Vault** : vault.4nkweb.com:6666 **API Vault** : <VAULT_URL>
**Chiffrement** : ChaCha20-Poly1305 (quantique résistant) **Chiffrement** : ChaCha20-Poly1305 (quantique résistant)