Skip to main content

A TUI to recover overwritten or deleted data.

Project description

RecoverPy

Recover overwritten or deleted data.

Release License Downloads Tests



RecoverPy

RecoverPy is a powerful tool that leverages your system capabilities to recover lost files.

Unlike others, you can not only recover deleted files but also overwritten data.

Every block of your partition will be scanned. You can even find a string in binary files.

Demo

Setup

:penguin: RecoverPy is currently only available on Linux systems.
:red_circle: You must be root or use sudo.

Dependencies

Mandatory: To list and search through your partitions, recoverpy uses grep, dd, and lsblk commands. Although, if you're running a major Linux distrucition these tools should already be installed.

Optional: To display real time grep progress, you can install progress.

To install all dependencies:

  • Debian-like: apt install grep coreutils util-linux progress
  • Arch: pacman -S grep coreutils util-linux progress
  • Fedora: dnf install grep coreutils util-linux progress

Usage

Run with uvx

sudo uvx recoverpy

Run with pipx

sudo pipx run recoverpy

Installation from pip

python3 -m pip install recoverpy

then run sudo python3 -m recoverpy


  • Select the system partition in which your file was. If you are out of luck, you can alternatively search in your home partition, maybe your IDE, text editor, etc. made a backup at some point.

  • Type a text string to search. See tips below for better results.

  • Start search, Results will appear in the left-hand box.

  • Select a result.

  • Once you have found your precious, select Open.

  • You can now either save this block individually or explore neighboring blocks for the remaining parts of the file. You could then save it all in one file.

Tips

  • Always do backups! Yes, maybe too late...
  • Unmount your partition before you do anything! Although you can search with your partition still mounted, it is highly recommended to unmount your partition to avoid any alteration to your file.

Regarding the searched string:

  • Be concise, find something that could be unique to your file.
  • Stay simple, your string is escaped but exotic characters may affect your results.
  • Try to remember the last edit you have made to your file.

When you have found your file:

  • You might see multiple results. Your system often use different partion blocks to save successive versions of a file. Make sure you've found the last version.
  • Try exploring neighboring blocks to be sure to save your whole file.

Contributing

Thank you for considering contributing to RecoverPy. Any request, bug report or PR are welcome. Please read the contributing guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recoverpy-2.2.0.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

recoverpy-2.2.0-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

Details for the file recoverpy-2.2.0.tar.gz.

File metadata

  • Download URL: recoverpy-2.2.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.24

File hashes

Hashes for recoverpy-2.2.0.tar.gz
Algorithm Hash digest
SHA256 a382c9bc90b210374d3f3638037aa85dec6f4e97572792b7970deab031e873a2
MD5 9c16d553b636dff9e9cc33e8775736b7
BLAKE2b-256 709bfe6ea08bb3d6cc26672d5cc8117b3479a460e07abc045a9b93c686f930ed

See more details on using hashes here.

File details

Details for the file recoverpy-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for recoverpy-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c50a94c069ce80d519b623727df853da3b5cb70f88d2c78da4dc8c5805f1b3f5
MD5 3579cee8623857123161a2c74029f807
BLAKE2b-256 47af27ef8bfa2c6b91e364daf1e772116be3060307df3ecbe17c101cb0369832

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page