<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": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4.0.0",
"maintainer_email": "",
"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/86/bd/9613e994031ad1af3408db0ed5973562461178de8d85920f202e3d4bcf93/recoverpy-2.1.6.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.6",
"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": "28be174ba57c4e51a3d85d7c7e9136e5bc7ee0ee5932a252594501484fe91e46",
"md5": "1648b1a8f349eecee4eaadb46bf7d7d4",
"sha256": "772b2f8790a7d5794d5df522f1d0120eec52f8ee6b98800a921374fdfeaf47db"
},
"downloads": -1,
"filename": "recoverpy-2.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1648b1a8f349eecee4eaadb46bf7d7d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4.0.0",
"size": 38185,
"upload_time": "2024-02-17T11:56:21",
"upload_time_iso_8601": "2024-02-17T11:56:21.650312Z",
"url": "https://files.pythonhosted.org/packages/28/be/174ba57c4e51a3d85d7c7e9136e5bc7ee0ee5932a252594501484fe91e46/recoverpy-2.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "86bd9613e994031ad1af3408db0ed5973562461178de8d85920f202e3d4bcf93",
"md5": "ac03fba5de4f707e978d510b3cf21114",
"sha256": "3b6f1eb510e46c85fa7631628f708b430f682ee308dbe0b07ca0f03b488be1fc"
},
"downloads": -1,
"filename": "recoverpy-2.1.6.tar.gz",
"has_sig": false,
"md5_digest": "ac03fba5de4f707e978d510b3cf21114",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4.0.0",
"size": 30295,
"upload_time": "2024-02-17T11:56:22",
"upload_time_iso_8601": "2024-02-17T11:56:22.913725Z",
"url": "https://files.pythonhosted.org/packages/86/bd/9613e994031ad1af3408db0ed5973562461178de8d85920f202e3d4bcf93/recoverpy-2.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-17 11:56:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PabloLec",
"github_project": "recoverpy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "recoverpy"
}