{"id":13790646,"url":"https://github.com/samueltardieu/recoverjpeg","last_synced_at":"2025-07-26T02:31:11.615Z","repository":{"id":1200639,"uuid":"1108684","full_name":"samueltardieu/recoverjpeg","owner":"samueltardieu","description":"Recover lost JPEGs and MOV files on a bogus memory card or disk","archived":false,"fork":false,"pushed_at":"2023-01-29T07:34:31.000Z","size":112,"stargazers_count":77,"open_issues_count":0,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T18:54:53.530Z","etag":null,"topics":["filesystem","hacktoberfest","pictures","recovery-tools","sdcard"],"latest_commit_sha":null,"homepage":"http://www.rfc1149.net/devel/recoverjpeg","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samueltardieu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-11-24T10:38:28.000Z","updated_at":"2025-03-09T23:23:14.000Z","dependencies_parsed_at":"2023-02-15T21:31:22.236Z","dependency_job_id":null,"html_url":"https://github.com/samueltardieu/recoverjpeg","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/samueltardieu/recoverjpeg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltardieu%2Frecoverjpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltardieu%2Frecoverjpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltardieu%2Frecoverjpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltardieu%2Frecoverjpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samueltardieu","download_url":"https://codeload.github.com/samueltardieu/recoverjpeg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltardieu%2Frecoverjpeg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267107559,"owners_count":24037279,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["filesystem","hacktoberfest","pictures","recovery-tools","sdcard"],"created_at":"2024-08-03T22:00:48.860Z","updated_at":"2025-07-26T02:31:11.287Z","avatar_url":"https://github.com/samueltardieu.png","language":"C","funding_links":[],"categories":["Tools"],"sub_categories":["Recovering tool / Memory Extraction"],"readme":"Installation\n------------\nTo install recoverjpeg, run\n\n    ./configure\n    make\n    sudo make install\n\nTo use sort-pictures, you need to install:\n\n  - exif: http://sourceforge.net/projects/libexif\n  - ImageMagick: http://www.imagemagick.org/\n\nUsage\n-----\nLook at the manual pages for recoverjpeg(1), recovermov(1) and\nsort-pictures(1).\n\nWhat to do if the medium is physically damaged?\n-----------------------------------------------\nMike Ingle wrote about working with a drive that cannot be read because of errors:\n\n\u003e The hard drive was more complicated because recoverjpeg would abort on the first bad sector it hit.\n\u003e I tried using a named pipe and that did not work, so I did:\n\u003e \n\u003e    dd if=/dev/sdc of=recovery-image bs=65536 conv=noerror\n\u003e \n\u003e and that made an image file while skipping over the bad blocks without aborting. Then I would end up with a\n\u003e 500 GByte file which I ran recoverjpeg on, and it worked.\n\nAnother option suggested by Florian Schmaus is to use the dedicated\n[ddrescue](http://www.gnu.org/software/ddrescue/ddrescue.html) which may cope with\neven more desperate situations where multiple passes are needed in order\nto recover the physical medium content.\n\nHistory\n-------\nrecoverjpeg was written on 23 December 2004 after a *huge* mistake:\na disk containing pictures was repartitioned and a new operating\nsystem was installed on top. recoverjpeg and sort-pictures ran on\nthis 80GB disk and rescued 19222 pictures (11GB):\n\n  - 9538 pictures sorted by date (a few of them were corrupted in a\n    way that no software can detect as they are valid JFIF files)\n    and taken on 337 different days\n\n  - 1310 JFIF files without date (some of them were correct pictures\n    whose exif data had been corrupted)\n\n  - 8301 JFIF files too small to be digital pictures (no error there,\n    most of them were thumbnails of real pictures previously made\n    by software such as gqview)\n\n  - 71 invalid JFIF files\n\n  - 4 pictures recorded at a date of 0000-00-00 (probably a bug\n    in the camera used to take the pictures)\n\nOf course, I had a backup of everything, but I cannot seem to remember\nwhere I put it.\n\nOn January 2010, Jan Funke added the recovermov(1) program to the package\nto recover lost movies.\n\nOn April 2012, Samuel Tardieu added the -d option to recoverjpeg(1) to\ncircumvent arbitrary limits set on the number of files per directory on\ncertain limited filesystems. Also, support of compilation with clang(1)\nwas added.\n\nPortability\n-----------\n\nYou need to ensure that the off_t type from the C library and the\nlseek() function support offsets of at least the size of the device\nyou want to recover pictures from.\n\nContact information\n-------------------\nHome page: \u003chttps://rfc1149.net/devel/recoverjpeg\u003e\n\nAuthors:\n\n  - [Jan Funke](mailto:jan.funke@inf.tu-dresden.de)\n  - [Samuel Tardieu](https://rfc1149.net/)\n\nDevelopment\n-----------\nIf you got this software using your revision control tool, you can\nbuild the autogenerated files by using:\n\n    autoreconf --install\n\nThanks\n------\nThe following beta-testers and contributors are warmly thanked:\n\n  - Olivier Beyssac \u003cob@r14.freenix.org\u003e\n  - Pierre Beyssac \u003cpb@eu.org\u003e\n  - Bertrand Petit \u003celrond@phoe.frmug.org\u003e\n  - Dunc \u003cdunc@lemonia.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamueltardieu%2Frecoverjpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamueltardieu%2Frecoverjpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamueltardieu%2Frecoverjpeg/lists"}