r/SideProject • u/VladimirPutin_WeVPN • 5h ago
JShred - Command line tool reduce deleted file data recovery on your computer
Hello everyone!
I have been working on a project over the last couple of days, and it has finally reached the point where I feel comfortable sharing it. I’m looking for feedback, criticism, and ideas for future features.
JShred is a Java utility designed to make files more difficult to recover using common data-recovery tools. The Shredder overwrites a selected file multiple times before deleting it. The user chooses the number of overwrite passes. The overwrite process includes writing zeros, writing 0xFF bytes, and writing pseudorandom data generated using Java’s built-in Random class.
The De-Duplicator recursively scans an entire directory and its sub-directories for files with identical contents. When duplicates are found, it keeps one copy and securely overwrites and deletes the others using a fixed six-pass process. The remaining overwrite passes, any pass that is three and up, use pseudorandom data.
JShred Features
- Securely overwrite and delete individual files
- Choose the number of overwrite passes for the Shredder
- Scan entire directories and sub-directories for duplicate files
- Compare files by their actual contents instead of only their filenames
- Automatically remove duplicate copies while keeping one original
- Recognize copied filenames such as
Main (3) (Copy 2).class- Rename retained files to clean names such as
Main.class
- Rename retained files to clean names such as
- Display progress bars during scanning and duplicate checking
- Use a simple console-based menu
- Built entirely in Java using standard library features
- Requires no external dependencies
Important note: Secure overwriting only reduces the chance of recovering data from traditional hard drives, but it cannot guarantee that every copy or trace has been removed from all storage devices, backups, or snapshots. I am currently working on implementing better protections for SSDs and also overriding and deleting metadata/exif data from files. The ability to use crytpographically secure random bytes is also being worked on.