hash-tool¶
Outil CLI de vérification d'intégrité de fichiers par hachage BLAKE3. Calcule des empreintes cryptographiques sur un dossier, détecte toute modification ultérieure, et compare deux états pour identifier précisément ce qui a changé.
Cas d'usage¶
-
Audit avant archivage — photographier l'état d'un dossier avant de l'archiver, pour pouvoir prouver plus tard qu'il n'a pas été altéré
-
Contrôle après migration — vérifier qu'une copie ou migration de données est parfaite, sans perte ni corruption
-
Surveillance périodique — détecter toute modification non autorisée sur un volume chiffré (VeraCrypt, LUKS) ou un NAS
-
Automatisation CI/CD — intégrer un contrôle d'intégrité dans un pipeline via un fichier JSON
Commandes disponibles¶
| Commande | Description | Cas d'usage principal |
|---|---|---|
compute |
Calcule les empreintes BLAKE3 d'un dossier | Créer une base de référence |
verify |
Vérifie l'intégrité d'un dossier contre une base | Contrôle périodique |
compare |
Compare deux bases d'empreintes | Audit après migration |
list |
Liste les bases disponibles dans un dossier | Inventaire rapide |
diff |
Détecte les fichiers ajoutés ou supprimés (sans recalcul) | Diagnostic rapide |
stats |
Affiche des statistiques sur une base | Vérification avant verify |
runner |
Exécute un pipeline JSON (compute + verify + compare) | Automatisation |
Modes d'exécution¶
hash-tool fonctionne dans deux modes — la détection est automatique :
Mode natif (recommandé) : b3sum et jq sont installés sur la machine.
hash-tool appelle directement src/integrity.sh. Plus rapide, pas de dépendance Docker.
Mode Docker (fallback) : b3sum ou jq sont absents, mais l'image hash-tool
est disponible. hash-tool construit les volumes et lance docker run automatiquement.
L'interface CLI reste identique dans les deux modes.
Installation en 3 commandes¶
git clone https://github.com/croissant-and-green-tea/hash-tool
cd hash-tool
chmod +x hash-tool runner.sh src/integrity.sh
Voir Prérequis et Installation pour les détails.
Exemple rapide¶
# 1. Calculer les empreintes d'un dossier
bash hash-tool compute -data ./mes-documents -save ./bases -meta "Avant archivage"
# 2. Plus tard, vérifier que rien n'a changé
bash hash-tool verify -base ./bases/hashes_mes-documents.b3 -data ./mes-documents
# 3. Après une migration, comparer deux états
bash hash-tool compare -old ./bases/hashes_avant.b3 -new ./bases/hashes_apres.b3
# 4. Automatiser avec un pipeline JSON : pipeline = compute + compute + compare
bash hash-tool runner -pipeline ./pipelines/pipeline.json
Navigation¶
| Je veux... | Par ici |
|---|---|
| Installer et lancer ma première commande | Démarrage rapide |
| Apprendre par la pratique | Tutoriels |
| Consulter la référence d'une commande | Utilisation |
| Utiliser Docker ou Docker Compose | Docker |
| Résoudre un problème | Troubleshooting |
| Contribuer ou comprendre le code | Développement |