Serveur Sender / Client
Le serveur client est responsable de la gestion des fichiers de logs et du calcul des hashs.
Localisation
Les logs sont stockés dans /root/keralis/logs/
.
Structure des Fichiers
/root/keralis/
├── sender/
│ ├── setup.sh # Script d'installation pour le serveur sender
│ ├── senderV1.py # Programme d'envoi des fichiers .hash et .log.enc via SFTP au serveur blockchain
│ └── .env # Variables d'environnement (définies via le ./setup.sh)

Schema envoi SFTP
Fonctionnement du code
setup.sh
Script qui genere le .env et le complete avec les informations données.
senderV1.py et PM2
Le script déroule un ensemble d'étapes automatisé dès la detection d'un nouveau fichier de log :
- Détection d'un nouveau fichier de log
- Génération d'un hash du fichier avec SHA256
- Génération d'une copie chiffrée du fichier (.log.enc)
- Envoi des 2 fichiers sur le serveur blockchain via SFTP
- Stockage dans mongoDB sur le serveur blockchain

Logs pm2 de senderV1.py
Serveur API de Hash
Le fichier client-hash-server.js
implémente un serveur API REST avec les fonctionnalités suivantes:
- Calcul des hashs SHA-256 des fichiers
- Cache des hashs pour optimisation des performances
- API sécurisée par clé
- Gestion des modifications de test

Logs pm2 du serveur API
Endpoints API
Le serveur expose les endpoints suivants:
GET /api/logs
- Liste des fichiers de logs disponiblesGET /api/hash/:fileName
- Hash d'un fichier spécifiquePOST /api/modify/:fileName
- Modification test (pour le développement)POST /api/restore/:fileName
- Restauration d'un fichier modifié
PM2 summary

pm2 list sur serveur client
- id 1 => Sender : senderV1.py (envoi STFP)
- id 3 => Hash-server : client-hash-server.js (serveur API)