recoverpy


Namerecoverpy JSON
Version 2.2.0 PyPI version JSON
download
home_pageNone
SummaryA TUI to recover overwritten or deleted data.
upload_time2025-01-25 17:19:06
maintainerNone
docs_urlNone
authorNone
requires_python<4.0.0,>=3.8.1
licenseGPL-3.0 License
keywords async asyncio cli console cui cybersec cybersecurity data data recovery data recovery tool education forensic forensics grep hack hacking learn linux ncurses pentest pentesting recovery search security teach teaching terminal textual training tui unix
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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>

## 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](CONTRIBUTING.md).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "recoverpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.1",
    "maintainer_email": null,
    "keywords": "async, asyncio, cli, console, cui, cybersec, cybersecurity, data, data recovery, data recovery tool, education, forensic, forensics, grep, hack, hacking, learn, linux, ncurses, pentest, pentesting, recovery, search, security, teach, teaching, terminal, textual, training, tui, unix",
    "author": null,
    "author_email": "PabloLec <pablolec@pm.me>",
    "download_url": "https://files.pythonhosted.org/packages/70/9b/fe6ea08bb3d6cc26672d5cc8117b3479a460e07abc045a9b93c686f930ed/recoverpy-2.2.0.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\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\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\n## Demo\n\n<p align=\"center\">\n    <img src=\"docs/assets/demo.gif\">\n</p>\n\n## Setup\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,\nif 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\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## Usage\n\n### Run with uvx\n\n`sudo uvx recoverpy`\n\n### Run with pipx\n\n`sudo pipx run recoverpy`\n\n### Installation from pip\n\n`python3 -m pip install recoverpy`\n\nthen run `sudo python3 -m recoverpy`\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\n  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\n  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\n  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.\n  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.2.0",
    "project_urls": {
        "documentation": "https://github.com/PabloLec/recoverpy#readme",
        "homepage": "https://github.com/PabloLec/recoverpy",
        "repository": "https://github.com/PabloLec/recoverpy"
    },
    "split_keywords": [
        "async",
        " asyncio",
        " cli",
        " console",
        " cui",
        " cybersec",
        " cybersecurity",
        " data",
        " data recovery",
        " data recovery tool",
        " education",
        " forensic",
        " forensics",
        " grep",
        " hack",
        " hacking",
        " learn",
        " linux",
        " ncurses",
        " pentest",
        " pentesting",
        " recovery",
        " search",
        " security",
        " teach",
        " teaching",
        " terminal",
        " textual",
        " training",
        " tui",
        " unix"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "47af27ef8bfa2c6b91e364daf1e772116be3060307df3ecbe17c101cb0369832",
                "md5": "3579cee8623857123161a2c74029f807",
                "sha256": "c50a94c069ce80d519b623727df853da3b5cb70f88d2c78da4dc8c5805f1b3f5"
            },
            "downloads": -1,
            "filename": "recoverpy-2.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3579cee8623857123161a2c74029f807",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.1",
            "size": 38245,
            "upload_time": "2025-01-25T17:19:04",
            "upload_time_iso_8601": "2025-01-25T17:19:04.933547Z",
            "url": "https://files.pythonhosted.org/packages/47/af/27ef8bfa2c6b91e364daf1e772116be3060307df3ecbe17c101cb0369832/recoverpy-2.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "709bfe6ea08bb3d6cc26672d5cc8117b3479a460e07abc045a9b93c686f930ed",
                "md5": "9c16d553b636dff9e9cc33e8775736b7",
                "sha256": "a382c9bc90b210374d3f3638037aa85dec6f4e97572792b7970deab031e873a2"
            },
            "downloads": -1,
            "filename": "recoverpy-2.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9c16d553b636dff9e9cc33e8775736b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8.1",
            "size": 2761620,
            "upload_time": "2025-01-25T17:19:06",
            "upload_time_iso_8601": "2025-01-25T17:19:06.639799Z",
            "url": "https://files.pythonhosted.org/packages/70/9b/fe6ea08bb3d6cc26672d5cc8117b3479a460e07abc045a9b93c686f930ed/recoverpy-2.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-25 17:19:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PabloLec",
    "github_project": "recoverpy#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "recoverpy"
}
        
Elapsed time: 0.43153s