I have used a couple of peer-to-peer clients that have an option to prevent the user from downloading a file twice, either by gently asking for confirmation, or by refusing to add a new download unless forced. This is quite helpful, because it reminds me to check my filesystem for e.g. the PlaneShift installer before downloading it again.
Obviously this requires keeping a history of everything that has been downloaded, and a check before starting each download, along with a user dialog or two.
I am now using rtorrent for the BitTorrent protocol and I have yet to find a way to prevent me from downloading a file twice. rtorrent does do that for files that it is still downloading or seeding, but not for anything that has been removed from its view.
I thought about keeping track of which .torrent files I download, but things get more complex with Magnet links and multiple .torrent files for the same download.
Is there a way to have rtorrent keep track of the actual download (e.g. its hash) and prevent me from downloading it twice? Or, perhaps, some external tool that will do that for me?