dskDitto
github.com
What it is
dskDitto is a duplicate-file detector for Linux and macOS with a terminal interface by default and an optional experimental Raylib graphical interface. It scans local filesystem paths and directories using parallel processing, with optional virtual filesystem directories. Matching can use SHA-256, BLAKE3, exact filenames, or fuzzy content similarity; fuzzy mode starts at a 75% similarity threshold and disables automatic removal and link actions. Scan filters cover file size, directory depth, hidden files, symlinks, virtual filesystems, and filesystem boundaries. You can preview files, exclude folders, and use automatic selection. Results export to CSV, JSON, or plain text. With the explicit remove option, extra copies can be deleted or replaced by symlinks or reflinks. Reflinks require supported copy-on-write filesystems such as APFS, Btrfs, or XFS with reflink enabled. Source installation requires Go 1.22 or later; GUI builds also require Raylib and CGo. The project is free and released under the Apache license.
Spec sheet
- Purpose
- dskDitto detects duplicate files and provides interactive menus to manage the results.Read 5 Oct 2026 · github.com
- Intended users
- The maker says the project needs new contributors and welcomes issues and pull requests for improvements.Read 5 Oct 2026 · github.com
- License
- The project is released under the Apache license.Read 5 Oct 2026 · github.com
- Duplicate actions
- Users can remove duplicates or replace them with symlinks or copy-on-write reflinks, with confirmation dialogs for changes.Read 5 Oct 2026 · github.com
- Exports
- Duplicate results can be exported as CSV, JSON, or plain text.Read 5 Oct 2026 · github.com
- Filtering
- Scanning can filter by size, recursion depth, hidden files, symlinks, virtual filesystems, and filesystem boundaries.Read 5 Oct 2026 · github.com
- GUI status
- The Raylib GUI is optional and experimental; the default installation builds the CLI/TUI only.Read 4 Oct 2026 · github.com
- Hashing
- Content verification uses SHA-256 by default, with BLAKE3 as an alternative.Read 5 Oct 2026 · github.com
- Installation
- The README documents installation from source with Go 1.22 or later; GUI builds require Raylib and CGo.Read 5 Oct 2026 · github.com
- Interfaces
- It provides a terminal interface by default and an experimental Raylib graphical interface as an option.Read 5 Oct 2026 · github.com
- Maker profile
- The GitHub profile identifies the maker as Joey DeFrancesco and lists MIT and Cambridge.Read 4 Oct 2026 · github.com
- Near-duplicate search
- Fuzzy mode finds content-based near matches, defaults to a 75% similarity threshold, and disables automatic remove and link actions.Read 5 Oct 2026 · github.com
- Reflink limits
- Reflink conversion requires a supported copy-on-write filesystem, such as APFS, Btrfs, or XFS with reflinks enabled; it is unsupported on ext4, FAT/exFAT, and NTFS.Read 5 Oct 2026 · github.com
- Safety
- The README says dskDitto does not delete or rewrite files unless the user explicitly requests it with --remove.Read 5 Oct 2026 · github.com
- Scanning
- The README describes parallel duplicate scanning across large disks.Read 5 Oct 2026 · github.com
- Security policy
- The security policy lists version 0.5.x as supported and says users can report vulnerabilities by email, issue, or discussion.Read 5 Oct 2026 · github.com
Strong points and limits
Strong points
- Parallel scanning across disks
- SHA-256 and BLAKE3 verification
- Filters and folder exclusions
- CSV, JSON, and text exports
- Explicit removal safety control
Limits
- Default installation builds CLI/TUI only
- Experimental GUI requires Raylib and CGo
- Reflinks need supported filesystems
- Source installation requires Go 1.22+
Who it suits
It suits Linux and macOS users who need configurable duplicate scanning from a terminal. People wanting a graphical interface should note that the Raylib GUI is optional and experimental.
Verdict
dskDitto provides detailed duplicate matching, filtering, previews, and exports, with deletion or linking only after an explicit request. Its optional GUI and filesystem requirements matter when choosing how to use it.
Where Specifiction places it
- Duplicate File Finders#27 of 387.0
- Code Clone Detection Tools#18 of 236.9