Native Tool to import (completed) torrents in bulk from uTorrent
We need a native tool to migrate from uTorrent. The tool I am suggesting would allow even a single torrent be “moved” with all (most) of its metadata and stats. But really the tool is needed to migrate all torrents in bulk to the Vuze platform.
I am working on a hack which uses the import folder option as, just like Aureus, uTorrent keeps the .torrent files in one subfolder in the %appadata%
However, some parsing and hacking of the two config files is still needed: resume.dat for uTorrent’s and downloads.config for Vuze. Both config files are binary BEncode which can easily be serialized and desrialized to/from JSON or XML and there are a lot more programming tools for those clear text formats. My choice of poison was JSON.NET to read the resume.dat (first serialized to JSON) for a script to output a hacked downloads.json and then deserialize it back to BEncode right in Vuze Help. (kind of an illogical place in the menu for a tool, but thanks for including it anyway).
So before I hack I just import/add the whole uTorrent folder with all the torrents in it but make sure that they are added in a stopped state so no files are created. Then I do the hack of the downloads.config and simple force-recheck all the added torrents. For thousands of torrents that takes as much as a whole week but it happens in the background so no complaint. But that puts new completion date so if I want Vuze to show the original add and completion dates from uTorrent I have to do a second hack of downloads.config and a second week-long round of force-recheck of all torrents even though the second hack did not change file paths.
The real problem is that very few fields match up between the two config files. For example, resume.dat shows an array of “Labels” which are analogical to Tags and/or Categories but neither has a field in the downloads.config. So I guess another hack of tags.config may be needed which I have not even figured out if possible. I would like to import other fields from uTorrent like UL and DL stats etc. that I could not do because downloads.config has so few top-level fields compared to the 100+ top-level fields for each torrent in resume.dat.
Of course all of this hacking is dangerous. We need a native import utility developed by Vuze that can do all of that. Vuze developers can match up as many of the resume.dat fields to the settings scattered throughout Vuze, not just to fields in downloads.config. My knowledge of Vuze is minimal. I did this out of necessity after begging for several weeks on the forum for someone to show me a way to import. Not a single developer/Vuze staff responded in that thread.
I am reluctant to even post the code written in c# using JSON.NET because I’m afraid it’s not tested for distribution. I’ll eventually post a step by step instructions of what Options need to be changed for the import project, and then undone when finished. There are quite a few. If the utility was native there would be no need to temporarily change and unchange any Options settings. Come to think of it people who migate to Vuze would often be newbs to the platform and would not even know which Options to set. They would be so intimidated that they may just decide to stay with uTorrent.
The need to migrate from another platform is so common, so basic. This functionality would so helpful to Vuze and boost its popularity as Vuze is already the most robust torrent client out there. What good is it if our bulk torrents are kept h-o-s-t-a-g-e in another client platform? There are many master torrenters who are not programmers and cannot just whip out an IDE and libs and start coding hacking scripts…
I'd migrate today if there was an easy way to move my files from utorrent :-(
Any progress with this project?
Hello, I would like to import the unfinished downloads from another downloader such as BitTorrent please.
great idea. we need it
super fun for games
I am getting closer to the goal. The additional info about the torrent is not in downloads.config but in a .dat file for each torrent in the "active" directory. It is just a BEncoded torrent file with a bunch of private properties. Each .dat file is however referenced by each "torrent_hash" field in the downloads.config. So for the more feature-full import I described in my original post, the parser/hacker importing tool I'm working on has to also hack thousands of individual .dat files in the "active" directory. I'm not sure but I think the tool will have to be used twice further doubling the chance for disaster. It just begs for a native tool from the Vuze team.