{"id":13456879,"url":"https://github.com/PabloLec/RecoverPy","last_synced_at":"2025-03-24T11:31:48.303Z","repository":{"id":38307989,"uuid":"341931044","full_name":"PabloLec/RecoverPy","owner":"PabloLec","description":"Interactively find and recover deleted or :point_right: overwritten :point_left: files from your terminal","archived":false,"fork":false,"pushed_at":"2024-04-19T14:00:01.000Z","size":15424,"stargazers_count":1168,"open_issues_count":1,"forks_count":54,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-04-20T18:07:21.799Z","etag":null,"topics":["cli","console","cybersecurity","data","data-recovery","files","forensics","hacking","linux","macos","pentesting","python","python3","recovery","search","search-interface","terminal","textual","tool","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloLec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-02-24T14:42:33.000Z","updated_at":"2024-04-22T14:28:52.072Z","dependencies_parsed_at":"2023-10-11T23:12:33.193Z","dependency_job_id":"0eba7b1a-8de9-463e-bbfe-32923e7045d3","html_url":"https://github.com/PabloLec/RecoverPy","commit_stats":{"total_commits":480,"total_committers":5,"mean_commits":96.0,"dds":"0.26041666666666663","last_synced_commit":"7e804d09522978f442dbf7a72124adefdab3e856"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloLec","download_url":"https://codeload.github.com/PabloLec/RecoverPy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221962483,"owners_count":16908339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","console","cybersecurity","data","data-recovery","files","forensics","hacking","linux","macos","pentesting","python","python3","recovery","search","search-interface","terminal","textual","tool","tui"],"created_at":"2024-07-31T08:01:29.432Z","updated_at":"2025-03-24T11:31:48.278Z","avatar_url":"https://github.com/PabloLec.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"docs/assets/logo.png\" alt=\"RecoverPy\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cem\u003eRecover overwritten or deleted data.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://img.shields.io/github/v/release/pablolec/recoverpy\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/pablolec/recoverpy\" alt=\"Release\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/PabloLec/recoverpy/blob/main/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/pablolec/recoverpy\" alt=\"License\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pepy.tech/project/recoverpy\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://static.pepy.tech/personalized-badge/recoverpy?period=total\u0026units=abbreviation\u0026left_color=grey\u0026right_color=red\u0026left_text=downloads\" alt=\"Downloads\"\u003e\n\u003c/a\u003e\n\n\u003ca href=\"#\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/PabloLec/recoverpy/actions/workflows/pytest.yml/badge.svg?branch=main\" alt=\"Tests\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003c!--ts--\u003e\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\u003c!--te--\u003e\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\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/assets/demo.gif\"\u003e\n\u003c/p\u003e\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","funding_links":[],"categories":["Python","Files and Directories","terminal","Operating Systems","\u003ca name=\"rm\"\u003e\u003c/a\u003eFile deletion and trash bin (alternatives to rm)","File system","Community"],"sub_categories":["Files","Linux","Third Party Applications"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPabloLec%2FRecoverPy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPabloLec%2FRecoverPy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPabloLec%2FRecoverPy/lists"}