Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pablolec/recoverpy
Interactively find and recover deleted or :point_right: overwritten :point_left: files from your terminal
https://github.com/pablolec/recoverpy
cli console cybersecurity data data-recovery files forensics hacking linux macos pentesting python python3 recovery search search-interface terminal textual tool tui
Last synced: 3 days ago
JSON representation
Interactively find and recover deleted or :point_right: overwritten :point_left: files from your terminal
- Host: GitHub
- URL: https://github.com/pablolec/recoverpy
- Owner: PabloLec
- License: gpl-3.0
- Created: 2021-02-24T14:42:33.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T13:49:42.000Z (about 2 months ago)
- Last Synced: 2024-10-29T15:37:21.846Z (about 2 months ago)
- Topics: cli, console, cybersecurity, data, data-recovery, files, forensics, hacking, linux, macos, pentesting, python, python3, recovery, search, search-interface, terminal, textual, tool, tui
- Language: Python
- Homepage:
- Size: 15.1 MB
- Stars: 1,335
- Watchers: 14
- Forks: 66
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Recover overwritten or deleted data.---
* [Demo](#Demo)
* [Installation](#Installation)
* [Dependencies](#dependencies)
* [Run with pipx](#run-with-pipx)
* [Installation from pip](#installation-from-pip)
* [Installation from AUR](#installation-from-aur)
* [Usage](#Usage)
* [Tips](#Tips)
* [Contributing](#Contributing)---
# 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
## Installation
: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`### Run with pipx
You can **directly run recoverpy with pipx in an isolated environment** without installing it.
To install pipx, follow the [official documentation](https://pipxproject.github.io/pipx/installation/).
To run recoverpy with pipx, simply run:`sudo pipx run recoverpy`
#### Installation from pip
`python3 -m pip install recoverpy`
#### Installation from AUR
`yay -S python-recoverpy`
## Usage
```bash
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](CONTRIBUTING.md).