resumr
Resumr is a program that will take split archives and combine the good parts out of them back into the original file using a torrent to tell what blocks are good.
It is designed to repair incomplete rar files for resuming using bittorrent, but the basic theory works for any files that store the original bits with some sort of header prepended, and a consistent volume size.
The name makes it Web 2.0, of course.
Prerequisites: BitTorrent (for its bencode
module only), setuptools,
and Python 2.4+ with mmap support.
Downloads
Download the resumr-0.1.1 tarball or brows dist/ for older versions.
Devel code, git clone http://timhatch.com/projects/resumr/resumr.git
Example Usage
First, install it. sudo python setup.py install
. For real
world use, also find the corresponding torrent file.
Then go into a directory with some rars, and run resumr x.torrent
x.r?? *.r??.*
(the order does not matter, and you can include extra
files -- those not belonging to the largest rar set will be ignored).
Extra files included in the rars are also ignored, as long as their combined size is less than the fuzz size. Extra files in the torrent will probably cause an error though.
Hopefully, you will see "Good chunk" messages a lot, with sync errors at small offsets at the beginning of the file and at any point where the file is bad. Three consecutive unsyncable chunks will currently cause it to skip the remainder of that file.
Contributing
I welcome patches, suggestions, and bugreports. Send me an email to code@timhatch.com