
Encuentra y recupera de forma interactiva archivos eliminados o 👉 sobrescritos 👈 desde tu terminal
Cuando un archivo se elimina, sus metadatos desaparecen primero. Los bloques de disco subyacentes suelen permanecer intactos hasta que se reutilizan.
RecoverPy escanea directamente los datos brutos de la partición y busca patrones de bytes en todo el dispositivo. Si los bloques no han sido sobrescritos, todavía se pueden localizar fragmentos de archivos eliminados por su contenido.
Permite inspeccionar los bloques coincidentes, navegar por los adyacentes y extraer lo que queda de una manera directa.
Si los bloques han desaparecido, la recuperación es imposible. Si todavía están ahí, RecoverPy te ayuda a recuperarlos.
RecoverPy no intenta interpretar estructuras de sistemas de archivos ni restaurar nombres de archivos. Se centra en exponer lo que queda en el disco y hacerlo accesible.
Acceder a dispositivos de bloque en bruto normalmente requiere sudo.
uvsudo uvx recoverpy
O instalar localmente:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
Inicia RecoverPy:
sudo recoverpy
Usar un identificador único, una clave de configuración o un fragmento de oración generalmente produce mejores resultados que palabras comunes.
RecoverPy opera directamente sobre el flujo de bytes en bruto de un dispositivo de bloque.
La partición seleccionada se abre en modo de solo lectura y se escanea secuencialmente usando fragmentos de tamaño fijo. El escáner procesa el flujo de forma incremental, manteniendo una pequeña superposición entre fragmentos para asegurar que no se pierdan coincidencias que crucen los límites de los fragmentos.
La coincidencia de patrones se realiza a nivel de bytes. Por cada coincidencia, RecoverPy registra el desplazamiento absoluto exacto dentro del dispositivo. Este desplazamiento se convierte en el punto de referencia para la inspección y navegación de bloques.
Las lecturas de bloques se realizan usando desplazamientos explícitos, sin depender de abstracciones del sistema de archivos. Esto permite un acceso preciso a bloques adyacentes sin cargar grandes porciones del dispositivo en memoria.
Todo el escaneo se basa en flujo y está limitado en memoria: RecoverPy nunca carga la partición completa en memoria.
RecoverPy trabaja con datos en bruto. No reconstruye archivos automáticamente ni infiere límites de archivos.
Los resultados pueden ser parciales o fragmentados. Si los bloques subyacentes ya han sido sobrescritos, la recuperación no es posible.
Acceder a dispositivos de bloque normalmente requiere sudo. Para reducir el riesgo de sobrescrituras adicionales, evita escribir en la partición de destino durante la recuperación y desmóntala cuando sea posible.
Si te encuentras con un error o crees que algo se puede mejorar, no dudes en abrir un issue. Y si quieres trabajar en ello tú mismo, las pull requests siempre son bienvenidas.
Estructura del proyecto:
recoverpy/ui/ — Interfaz textualrecoverpy/lib/search/ — Motor de búsqueda en flujorecoverpy/lib/storage/ — Acceso a bloques y dispositivosrecoverpy/lib/text/ — Utilidades de decodificacióntests/ — Pruebas unitarias y de integraciónuv sync --dev
sudo uv run recoverpy
uv run pytest -q