
Trouvez et récupérez interactivement les fichiers supprimés ou 👉 écrasés 👈 depuis votre terminal.
Lorsqu'un fichier est supprimé, ses métadonnées disparaissent en premier. Les blocs disques sous-jacents restent souvent intacts jusqu'à ce qu'ils soient réutilisés.
RecoverPy scanne directement les données brutes d'une partition et recherche des motifs d'octets sur l'ensemble du périphérique. Si les blocs n'ont pas été écrasés, des fragments de fichiers supprimés peuvent encore être localisés par leur contenu.
Il permet d'inspecter les blocs correspondants, de naviguer parmi les blocs adjacents et d'extraire ce qui reste de manière simple.
Si les blocs sont perdus, la récupération est impossible. S'ils sont toujours présents, RecoverPy vous aide à les récupérer.
RecoverPy ne tente pas d'interpréter les structures du système de fichiers ni de restaurer les noms de fichiers. Il se concentre sur l'exposition de ce qui reste sur le disque et le rend accessible.
L'accès aux périphériques blocs bruts nécessite généralement sudo.
uvsudo uvx recoverpy
Ou installation locale :
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
Lancez RecoverPy :
sudo recoverpy
L'utilisation d'un identifiant unique, d'une clé de configuration ou d'un fragment de phrase donne généralement de meilleurs résultats que des mots courants.
RecoverPy opère directement sur le flux d'octets bruts d'un périphérique bloc.
La partition sélectionnée est ouverte en mode lecture seule et analysée séquentiellement par morceaux de taille fixe. Le scanner traite le flux de manière incrémentale, en maintenant un léger chevauchement entre les morceaux pour ne pas manquer les correspondances qui chevauchent les limites des morceaux.
La recherche de motifs s'effectue au niveau des octets. Pour chaque correspondance, RecoverPy enregistre le décalage absolu exact dans le périphérique. Ce décalage devient le point de référence pour l'inspection et la navigation dans les blocs.
Les lectures de blocs sont effectuées en utilisant des décalages explicites plutôt que de se reposer sur les abstractions du système de fichiers. Cela permet un accès précis aux blocs adjacents sans charger de grandes parties du périphérique en mémoire.
L'ensemble de l'analyse est basé sur un flux et limité en mémoire : RecoverPy ne charge jamais la partition entière en mémoire.
RecoverPy travaille sur des données brutes. Il ne reconstruit pas automatiquement les fichiers et ne déduit pas les limites des fichiers.
Les résultats peuvent être partiels ou fragmentés. Si les blocs sous-jacents ont déjà été écrasés, la récupération est impossible.
L'accès aux périphériques blocs nécessite généralement sudo. Pour réduire le risque d'écrasement supplémentaire, évitez d'écrire sur la partition cible pendant la récupération et démontez-la si possible.
Si vous rencontrez un bug ou pensez que quelque chose pourrait être amélioré, n'hésitez pas à ouvrir une issue. Et si vous souhaitez travailler dessus vous-même, les pull requests sont toujours les bienvenues.
Structure du projet :
recoverpy/ui/ — Interface textuellerecoverpy/lib/search/ — Moteur de recherche en fluxrecoverpy/lib/storage/ — Accès aux blocs et périphériquesrecoverpy/lib/text/ — Utilitaires de décodagetests/ — Tests unitaires et d'intégrationuv sync --dev
sudo uv run recoverpy
uv run pytest -q