
Trova e recupera interattivamente file cancellati o 👉 sovrascritti 👈 dal tuo terminale
Quando un file viene eliminato, i suoi metadati scompaiono per primi. I blocchi del disco sottostanti spesso rimangono intatti finché non vengono riutilizzati.
RecoverPy scansiona direttamente i dati delle partizioni raw e cerca pattern di byte sull'intero dispositivo. Se i blocchi non sono stati sovrascritti, è possibile ancora localizzare frammenti di file eliminati tramite il loro contenuto.
Ti permette di ispezionare i blocchi corrispondenti, navigare tra quelli adiacenti ed estrarre ciò che rimane in modo semplice.
Se i blocchi sono spariti, il recupero è impossibile. Se sono ancora lì, RecoverPy ti aiuta a recuperarli.
RecoverPy non tenta di interpretare le strutture del filesystem o di ripristinare i nomi dei file. Si concentra sul mettere in luce ciò che rimane sul disco e renderlo accessibile.
L'accesso ai dispositivi a blocchi raw richiede tipicamente sudo.
uvsudo uvx recoverpy
Oppure installalo localmente:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
Avvia RecoverPy:
sudo recoverpy
Usare un identificatore univoco, una chiave di configurazione o un frammento di frase generalmente produce risultati migliori rispetto a parole comuni.
RecoverPy opera direttamente sul flusso di byte raw di un dispositivo a blocchi.
La partizione selezionata viene aperta in modalità sola lettura e scansionata sequenzialmente usando chunk di dimensione fissa. Lo scanner elabora il flusso in modo incrementale, mantenendo una piccola sovrapposizione tra i chunk per garantire che le corrispondenze che attraversano i confini dei chunk non vengano perse.
Il pattern matching viene eseguito a livello di byte. Per ogni corrispondenza, RecoverPy registra l'offset assoluto esatto all'interno del dispositivo. Questo offset diventa il punto di riferimento per l'ispezione e la navigazione dei blocchi.
Le letture dei blocchi vengono eseguite utilizzando offset espliciti anziché fare affidamento su astrazioni del filesystem. Ciò consente un accesso preciso ai blocchi adiacenti senza caricare grandi porzioni del dispositivo in memoria.
L'intera scansione è basata su streaming e limitata in memoria: RecoverPy non carica mai l'intera partizione in memoria.
RecoverPy lavora su dati raw. Non ricostruisce automaticamente i file né deduce i confini dei file.
I risultati possono essere parziali o frammentati. Se i blocchi sottostanti sono già stati sovrascritti, il recupero non è possibile.
L'accesso ai dispositivi a blocchi richiede tipicamente sudo. Per ridurre il rischio di ulteriori sovrascritture, evita di scrivere sulla partizione di destinazione durante il recupero e smontala quando possibile.
Se incontri un bug o pensi che qualcosa possa essere migliorato, sentiti libero di aprire un issue. E se desideri lavorarci tu stesso, le pull request sono sempre apprezzate.
Struttura del progetto:
recoverpy/ui/ — Interfaccia testualerecoverpy/lib/search/ — Motore di ricerca streamingrecoverpy/lib/storage/ — Accesso a blocchi e dispositivirecoverpy/lib/text/ — Utility di decodificatests/ — Test unitari e di integrazioneuv sync --dev
sudo uv run recoverpy
uv run pytest -q