
Interativamente encontre e recupere arquivos deletados ou 👉 sobrescritos 👈 do seu terminal.
Quando um arquivo é excluído, seus metadados desaparecem primeiro. Os blocos de disco subjacentes geralmente permanecem intactos até serem reutilizados.
O RecoverPy examina diretamente os dados brutos da partição e procura por padrões de bytes em todo o dispositivo. Se os blocos não forem sobrescritos, fragmentos de arquivos excluídos ainda podem ser localizados pelo seu conteúdo.
Ele permite inspecionar blocos correspondentes, navegar por blocos adjacentes e extrair o que restou de forma direta.
Se os blocos desapareceram, a recuperação é impossível. Se ainda estiverem lá, o RecoverPy ajuda a recuperá-los.
O RecoverPy não tenta interpretar estruturas de sistema de arquivos ou restaurar nomes de arquivos. Ele foca em expor o que resta no disco e torná-lo acessível.
Acessar dispositivos de bloco brutos normalmente requer sudo.
uvsudo uvx recoverpy
Ou instale localmente:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
Inicie o RecoverPy:
sudo recoverpy
Usar um identificador único, chave de configuração ou fragmento de frase geralmente produz melhores resultados do que palavras comuns.
O RecoverPy opera diretamente no fluxo de bytes brutos de um dispositivo de bloco.
A partição selecionada é aberta em modo somente leitura e varrida sequencialmente usando blocos de tamanho fixo. O varredor processa o fluxo incrementalmente, mantendo uma pequena sobreposição entre os blocos para garantir que correspondências que cruzam fronteiras de blocos não sejam perdidas.
A correspondência de padrões é feita no nível de byte. Para cada correspondência, o RecoverPy registra o deslocamento absoluto exato dentro do dispositivo. Esse deslocamento torna-se o ponto de referência para inspeção e navegação de blocos.
As leituras de blocos são realizadas usando deslocamentos explícitos, em vez de depender de abstrações do sistema de arquivos. Isso permite acesso preciso a blocos adjacentes sem carregar grandes partes do dispositivo na memória.
Toda a varredura é baseada em streaming e limitada à memória: o RecoverPy nunca carrega a partição inteira na memória.
O RecoverPy funciona em dados brutos. Ele não reconstrói arquivos automaticamente nem infere limites de arquivos.
Os resultados podem ser parciais ou fragmentados. Se os blocos subjacentes já foram sobrescritos, a recuperação não é possível.
Acessar dispositivos de bloco normalmente requer sudo. Para reduzir o risco de mais sobrescritas, evite gravar na partição de destino durante a recuperação e desmonte-a quando possível.
Se você encontrar um bug ou achar que algo pode ser melhorado, sinta-se à vontade para abrir uma issue. E se quiser trabalhar nisso você mesmo, pull requests são sempre bem-vindos.
Estrutura do projeto:
recoverpy/ui/ — Interface textualrecoverpy/lib/search/ — Mecanismo de busca em streamingrecoverpy/lib/storage/ — Acesso a blocos e dispositivosrecoverpy/lib/text/ — Utilitários de decodificaçãotests/ — Testes unitários e de integraçãouv sync --dev
sudo uv run recoverpy
uv run pytest -q