[uExtract Pro] Automated compressed archive handling

I’ve been Sonarr for a couple of days now and noticed I get a few releases which are contained in rar files when using Jackett. I saw there are a few support topics on how this is currently not handled in Sonarr and there is a Trello card for supporting it (I couldn’t find it!) so until its supported (if it is going to be) I have written a small tool to perform extraction automatically.

Its written fully in C# so it should work on mono and with calls from other torrents client if the correct parameters are passed. Set the output folder to be the Drone Factory folder and Sonarr seems quite happy with importing any files.

Available from:
https://github.com/Kayomani/uExtractor-Pro/releases/

Awesome! RAR support is something we have talked about, but not decided how we want to handle it.

If you extract them in place Sonarr will use CDH to import the file(s) and will be able to remove the torrent when it finishes seeding.

Just curious why you wouldn’t just set your torrent client to unrar in place?

That seems to work. :slight_smile:

Unlike most torrent clients uTorrent does not have that functionality built in.

I’d rather not have two copies hanging around because I like to seed most things for at least 30 days (or until I run out of disk space). It seems better if Sonarr would just unrar the files as part of the import process.

That’s probably not going to happen, so could I do both:

  • Leave CHD On. When the torrent completes downloading, Sonarr shouldn’t find anything to import. Would that cause a problem?

  • In my uTorrent post processing script, unrar to the drone factory folder and notify Sonarr to scan the drone factory. Sonarr will then import the extracted video file.

  • When the torrent finishes seeding, CDH will stop the torrent and delete the rar files.

could you share this script?

If you mean my script, I’ve completely changed my mind. I’m not going to use my tracker that doesn’t unrar the uploaded files. However, the situation did get me to think about the whole process. This is what I’ve realized:

With usenet, all indexers and servers are close to equal. Sonarr was designed with that in mind. Torrent trackers are not equal. I have three private trackers:

  1. freshon.tv (ratio based; no rars).
  2. morethan.tv (ratio-less; no rars).
  3. TorrentShack (ratio-less; scene releases are uploaded in rar files everything else is not).

Right now, Sonarr treats all indexers equally. In order to handle torrents effectively, I’d need Sonarr to:

  1. Let me prioritize/order my indexers. I’d like to search usenet first. Ratio-less trackers 2nd and ratio based trackers last – OR – associate a delay with each indexer. In other words, I’d delay grabbing something from the ratio-based tracker (i.e., wait for it to become available on usenet or a ratio-less tracker.) This delay has nothing to do with quality or cutoffs. A delay might be more useful/practical than a search order.

  2. I’d like to specify the current Sonarr restrictions (on the Indexers page) on a per-indexer basis. Then I could say something like: For TorrentShack, the release must contain the string "P2P’ (P2P releases are never uploaded in rar files.). However, that only applies to TorrentShack. For another tracker (or usenet), I could have different restrictions.

For now, I’ve decided to only enable RSS feeds for usenet indexers and morethan.tv (ratio-less; no rars). When I want something immediately, I use manual search (automatic search is very disadvantageous for me because it usually picks my ratio-based tracker first.)

Mine is something similar… use usenet first and for anything that fails with that source i have sonar setup to snatch from my private tracker. only problem is i have to manually copy the completed download to the drone factory (after unraring manually) folder for it to be processed correctly. What i am looking for is a way to have the unraring done automatically. Couchpotato supports this within the app but sonar does not so i’m looking for a work around… I tried to use this program but it doesn’t seem to be working for me…

Mate it’s not working for me? Where do i put the extra parametres in utorrent? I.e. current file location and where i want the program to unrar the file to? is it possible to be label specific?

Advanced -> Run program -> Run program when torrent finishes:

C:\App\uTorrentExtractorPro\uExtractorPro.exe --File “%F” --Directory “%D” -b --TempDir “C:\Incoming\Incomplete\Temp” --OutDir “C:\Incoming\Drop”

Swap the folders for the ones you have and leave the other parameters the same.

That’ll make it scan each download and extract if required to the drop folder, there isn’t anything currently for labels.

I have it move all extracted files to the drop/drone factory folder as I believe CHD will not remove the extracted files from the download folder. When CHD removes the files via the torrent client it’ll leave the extracted files behind as it doesn’t know about those where as things in the drone folder are moved rather than copied. Yeah you end up with essentially two copies of the data whilst its being seeded but I see less than 10% of my traffic coming in this way and I see it as being useful for automatically filling those items which I might otherwise not get.

If you get any issues add --Trace --LogFile “C:\temp\log.txt” to see what is happening.

Thanks for that. I dont mind having two copies as i only seed around 2 - 300 gb at a time… and then periodically delete (torrents are back ups for me). However, i don’t the above to mess with couchpotato as that extracts, renames all fine.

Would it be possible for this to only extract and copy files for the label ‘tv-drone’?

Thanks for the help.

This is what i’m using:
C:\Users\Nick\Desktop\Apps for Sonar\Uextractor for utorrent\uExtractorPro.exe --File “%F” --Directory “%D” -b --TempDir “D:\Programs” --OutDir “E:\Complete\Dronefactory”–Trace --LogFile “E:\temp\log.txt”

Nothing is happening once a download finishes. The log file isn’t even created? I’m using utorrent 3.4.2

got it working forgot to add the " " where i have a space in the file directory.

Thanks for that. Haven’t tested to see that couchpotato still works OK but tv shows definitely work!

Done new release as I was getting some files extracted multiple times. You will need to add --Kind “%K” as an extra parameter.

You can optionally extract only torrents with certain labels with:
–Label “%L” --AcceptLabel label1 label2 “label with space”

https://github.com/Kayomani/uExtractor-Pro/releases

utorrent does have that function. It is called run program. Just use this command “C:\Program Files\WinRAR\UnRAR.exe” x -r “%D*” “%D”

This creates a pop up dialogue when non rar files are downloaded. “No rar files found” or something like that. A script that runs in the background would be more ideal.