what is duper?

Duper scans directories for identical files, allows you to easily locate and delete duplicates wasting hard disk space. The latest version is 20041213. The philosophy behind Duper is to be fast, free and small.

how does it work?

Duper first scans all file sizes. If any two file sizes are identical, an MD5 sum is computed for each file and then used to determine if they are identical. After scanning, it allows you to browse through the duplicates found and select those you wish to delete.

how does it look?

Check out these screenshots (may be a bit outdated):

what is required to run duper?

Duper requires Mac OS X, Microsoft Windows or Linux (GTK2) and a recent (1.4 or newer) Java install (with Java Web Start). You can download Java here.

how much does duper cost? is duper shareware?

Nothing, and no, Duper is not shareware. Duper is a completely free, open source, application.

how do I start duper?

Mac OS X

I have made a Mac OS X application for Mac users. Download it here. Double-click on the downloaded disk image to mount (unless Safari did it automatically). Double-click on the program icon to start it, and drag it to your Applications folder to install. This version has not received much testing yet, so be nice when you report any bugs to me. :-)

Windows and Linux

If you have Java Web Start, all you have to do is click the big link below to get started. You will have to accept my certificate the first time you run the program.
Launch Duper

When first started, Duper will add all your file system roots (C:, D:, et.c. in Windows) to the list of folders to scan (the topmost list in the application). Be sure to remove any drives you do not want to scan. Duper will remember your folder selection between runs. THERE ARE BUGS but it should work well for most people. Feel free to mail me bug reports, but don't expect too much.

known bugs?

  • On Windows, Java sometimes complains about not being able to access the A: drive when the program starts. I think this is because I try to acquire all file system roots on the first run. You should be able to click "ignore" or something like that and continue as normal. This should also only happen on the first launch. I haven't been able to investigate this as I don't have an A: drive on my regular development computer. Also, I'm lazy.
  • The MD5 cache doesn't seem to work all the time. This should only affect performance and not functionality.
  • Dangling symlinks (symlinks pointing to a non-existant file) are reported as "file not found" errors

hit me with that legal stuff

Duper is copyright © 2004, Rasmus Sten <rasmus.sten@gmail.com>. You are free to copy and modify the program without restrictions. There are NO WARRANTIES, if course.

technical information

The source code can be downloaded here. Duper is using SWT, and is thus only available for platforms where I can (and want) to bundle the native SWT libraries for. Besides being a very responsive and easy-to-use GUI library, SWT also provides me with OS-tied functionality, in this case used to retreive file-association-specific application icons for the search result, making it easier for the user to identify each file. Duper is sharing SWT libraries with another application I have written: Nular Shell. Duper uses memory-mapped I/O via the Java NIO API when reading file data for increased throughput. Duper uses a custom version of the optimized MD5 implementation by Timothy W Macinta and Santeri Paavolainen, available here: www.twmacinta.com/myjava/fast_md5.php. MD5.java has been modified to work with ByteBuffer, the modified is available here. It does not work with the native MD5 routines.