<div align="center">
<img src="docs/assets/logo.png" alt="RecoverPy">
</div>
<p align="center">
<em>Recover overwritten or deleted data.</em>
</p>
<p align="center">
<a href="https://img.shields.io/github/v/release/pablolec/recoverpy" target="_blank">
<img src="https://img.shields.io/github/v/release/pablolec/recoverpy" alt="Release">
</a>
<a href="https://github.com/PabloLec/recoverpy/blob/main/LICENSE" target="_blank">
<img src="https://img.shields.io/github/license/pablolec/recoverpy" alt="License">
</a>
<a href="https://pepy.tech/project/recoverpy" target="_blank">
<img src="https://static.pepy.tech/personalized-badge/recoverpy?period=total&units=abbreviation&left_color=grey&right_color=red&left_text=downloads" alt="Downloads">
</a>
<a href="#" target="_blank">
<img src="https://github.com/PabloLec/recoverpy/actions/workflows/pytest.yml/badge.svg?branch=main" alt="Tests">
</a>
</p>
---
<!--ts-->
* [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)
<!--te-->
---
# 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
<p align="center">
<img src="docs/assets/demo.gif">
</p>
## 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).
Raw data
{
"_id": null,
"home_page": "https://github.com/PabloLec/recoverpy",
"name": "recoverpy",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.8.1",
"maintainer_email": null,
"keywords": "data, recovery, search, cli, console, cui, tui, ncurses, terminal, cybersec, cybersecurity, security, pentesting, pentest, forensics, forensic, hack, hacking, data recovery, data recovery tool, grep, linux, unix, education, teaching, training, teach, learn, textual, asyncio, async",
"author": "PabloLec",
"author_email": "pablolec@pm.me",
"download_url": "https://files.pythonhosted.org/packages/1e/3e/371ceea2d5fd1a3df4318d179f74225ed4279aeda9a9ec0ca885636b562d/recoverpy-2.1.10.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img src=\"docs/assets/logo.png\" alt=\"RecoverPy\">\n</div>\n\n<p align=\"center\">\n <em>Recover overwritten or deleted data.</em>\n</p>\n\n<p align=\"center\">\n<a href=\"https://img.shields.io/github/v/release/pablolec/recoverpy\" target=\"_blank\">\n <img src=\"https://img.shields.io/github/v/release/pablolec/recoverpy\" alt=\"Release\">\n</a>\n<a href=\"https://github.com/PabloLec/recoverpy/blob/main/LICENSE\" target=\"_blank\">\n <img src=\"https://img.shields.io/github/license/pablolec/recoverpy\" alt=\"License\">\n</a>\n<a href=\"https://pepy.tech/project/recoverpy\" target=\"_blank\">\n <img src=\"https://static.pepy.tech/personalized-badge/recoverpy?period=total&units=abbreviation&left_color=grey&right_color=red&left_text=downloads\" alt=\"Downloads\">\n</a>\n\n<a href=\"#\" target=\"_blank\">\n <img src=\"https://github.com/PabloLec/recoverpy/actions/workflows/pytest.yml/badge.svg?branch=main\" alt=\"Tests\">\n</a>\n</p>\n\n---\n\n<!--ts-->\n * [Demo](#Demo)\n * [Installation](#Installation)\n * [Dependencies](#dependencies)\n * [Run with pipx](#run-with-pipx)\n * [Installation from pip](#installation-from-pip)\n * [Installation from AUR](#installation-from-aur)\n * [Usage](#Usage)\n * [Tips](#Tips)\n * [Contributing](#Contributing)\n<!--te-->\n\n---\n\n# RecoverPy\n\nRecoverPy is a powerful tool that leverages your system capabilities to recover lost files.\n\nUnlike others, you can not only recover deleted files but also **overwritten** data.\n\nEvery block of your partition will be scanned. You can even find a string in binary files.\n## Demo\n\n<p align=\"center\">\n <img src=\"docs/assets/demo.gif\">\n</p>\n\n## Installation\n\n:penguin: RecoverPy is currently only available on Linux systems. \n:red_circle: **You must be root or use sudo**.\n\n### Dependencies\n\n**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.\n\n**Optional:** To display real time grep progress, you can install `progress`.\n\nTo install all dependencies:\n- Debian-like: `apt install grep coreutils util-linux progress`\n- Arch: `pacman -S grep coreutils util-linux progress`\n- Fedora: `dnf install grep coreutils util-linux progress`\n\n\n### Run with pipx\n\nYou can **directly run recoverpy with pipx in an isolated environment** without installing it. \nTo install pipx, follow the [official documentation](https://pipxproject.github.io/pipx/installation/). \nTo run recoverpy with pipx, simply run: \n\n`sudo pipx run recoverpy`\n\n#### Installation from pip\n\n`python3 -m pip install recoverpy`\n\n#### Installation from AUR\n\n`yay -S python-recoverpy`\n\n## Usage\n\n```bash\npython3 -m recoverpy\n```\n\n---\n\n- **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.\n\n- **Type a text string to search**. See tips below for better results.\n\n- **Start search**, Results will appear in the left-hand box.\n\n- **Select a result**.\n\n- Once you have found your precious, **select `Open`**.\n\n- 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.\n\n## Tips\n\n- Always do backups! Yes, maybe too late...\n- **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.\n\nRegarding the searched string:\n\n- Be concise, find something that could be unique to your file.\n- Stay simple, your string is escaped but exotic characters may affect your results.\n- Try to remember the last edit you have made to your file.\n\nWhen you have found your file:\n\n- 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.\n- Try exploring neighboring blocks to be sure to save your whole file.\n\n## Contributing\n\nThank you for considering contributing to RecoverPy.\nAny request, bug report or PR are welcome. Please read the [contributing guide](CONTRIBUTING.md).\n",
"bugtrack_url": null,
"license": "GPL-3.0 License",
"summary": "A TUI to recover overwritten or deleted data.",
"version": "2.1.10",
"project_urls": {
"Documentation": "https://github.com/PabloLec/recoverpy#readme",
"Homepage": "https://github.com/PabloLec/recoverpy",
"Repository": "https://github.com/PabloLec/recoverpy"
},
"split_keywords": [
"data",
" recovery",
" search",
" cli",
" console",
" cui",
" tui",
" ncurses",
" terminal",
" cybersec",
" cybersecurity",
" security",
" pentesting",
" pentest",
" forensics",
" forensic",
" hack",
" hacking",
" data recovery",
" data recovery tool",
" grep",
" linux",
" unix",
" education",
" teaching",
" training",
" teach",
" learn",
" textual",
" asyncio",
" async"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fdb4314000527ff41045e6ebe82ba5d9584a621f0f5d0d4045f636cbbec0cbf0",
"md5": "4182e30589dd47407eac74ee652a3f56",
"sha256": "3ef8ef6499508e7979a66c227bc17cb878c6c85867bb4ac0549707000a71e34c"
},
"downloads": -1,
"filename": "recoverpy-2.1.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4182e30589dd47407eac74ee652a3f56",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.8.1",
"size": 38550,
"upload_time": "2024-11-16T12:09:24",
"upload_time_iso_8601": "2024-11-16T12:09:24.289182Z",
"url": "https://files.pythonhosted.org/packages/fd/b4/314000527ff41045e6ebe82ba5d9584a621f0f5d0d4045f636cbbec0cbf0/recoverpy-2.1.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e3e371ceea2d5fd1a3df4318d179f74225ed4279aeda9a9ec0ca885636b562d",
"md5": "3bb635871dc34e294cae11b2d0903449",
"sha256": "573dc2c3fd32fc20506985d69336df6c5380539ff3900d09082fdf8da1069fa1"
},
"downloads": -1,
"filename": "recoverpy-2.1.10.tar.gz",
"has_sig": false,
"md5_digest": "3bb635871dc34e294cae11b2d0903449",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.8.1",
"size": 30574,
"upload_time": "2024-11-16T12:09:26",
"upload_time_iso_8601": "2024-11-16T12:09:26.119937Z",
"url": "https://files.pythonhosted.org/packages/1e/3e/371ceea2d5fd1a3df4318d179f74225ed4279aeda9a9ec0ca885636b562d/recoverpy-2.1.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-16 12:09:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PabloLec",
"github_project": "recoverpy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "recoverpy"
}