cross-seed icon indicating copy to clipboard operation
cross-seed copied to clipboard

Feature Request: Qbittorrent Category

Open CptChaz opened this issue 3 years ago • 18 comments

Currently cross-seed adds torrents with a special tag, and then the previously used/existing category of the torrent file. However, it would be great to have the option to set a specific category for injected torrents.

Seems like the most obvious use case for this would be for seedbox clients, as users' files are often synced to and from seedbox. Categories allow users to set file location, so this would be a great feature for seedbox users that rely on this sort of workflow to and from remote devices.

CptChaz avatar May 21 '22 16:05 CptChaz

I feel not using a complete/incomplete scheme is the way to go and having cross-seed use a “dummy” category with tmm turned off as to not mess with the original data. Then have qbit ping cross-seed on torrent completion for the search.

This would solve any issues of radarr/sonarr picking up the new torrent in the original category as a new release to import.

Drazzilb08 avatar May 22 '22 02:05 Drazzilb08

would it be crazy to automatically create a category that's just "$CURRENTCATEGORY".cross-seed that's a duplicate of $CURRENTCATEGORY except for the name?

mmgoodnow avatar May 22 '22 02:05 mmgoodnow

I feel like that might solve for the main pain point (sonarr trying to import cross-seeds) with less user effort.

mmgoodnow avatar May 22 '22 02:05 mmgoodnow

I like this idea, totally down for testing this out and seeing how it all works out.

Drazzilb08 avatar May 22 '22 03:05 Drazzilb08

i agree, i think it's worth a shot.

CptChaz avatar May 22 '22 03:05 CptChaz

Sweet, that sounds like it would cause a lot less issues which is fantastic

baldygeraldy avatar May 23 '22 01:05 baldygeraldy

specifically for season packs, this would be a lifesaver!

baldygeraldy avatar May 23 '22 02:05 baldygeraldy

Just to add to this conversation, I use Radarr & Sonarr with qBT in that the starting category is my generic downloads folder. Then when Radarr/Sonarr import the download, the category switches to radarr-done or sonarr-done, and moves the download into a sub-folder named the same as the categories. This helps with file management and dealing with issues a lot easier. It'd be super cool if we could just tell cross-seed which category specifically to load into, then I may simplify my downloads to have film and TV all go to the same "done" folder or something.

SawkeeReemo avatar May 24 '22 02:05 SawkeeReemo

Just to update myself here: I changed my workflow in qBT to be more cross-seed friendly and it works better than I imagined! Using inject, I didn't realize it would match my category and also add a "cross-seed" tag, which is exactly what I was doing manually. This is really great! Next step for me is figuring out how to get it to run on my NAS so it can run on completion. Nice work!

SawkeeReemo avatar May 27 '22 09:05 SawkeeReemo

For anyone interested, I just opened #257 which implements the solution I proposed earlier: https://github.com/mmgoodnow/cross-seed/issues/254#issuecomment-1133807963

mmgoodnow avatar May 29 '22 22:05 mmgoodnow

Feedback is very welcome.

mmgoodnow avatar May 29 '22 22:05 mmgoodnow

Oh that’s awesome! So if I have “sonarr-done” it’ll inject the torrent with the category “sonarr-done.cross-seed” instead of tagging it cross-seed? Or will it still tag it as well?

SawkeeReemo avatar May 30 '22 20:05 SawkeeReemo

It'll tag it as well, but I recommend not using separate pre-import and post-import categories. There's more discussion in the discord but basically the point of this is so that you can call cross seed directly from qBittorrent.

mmgoodnow avatar May 30 '22 20:05 mmgoodnow

The new automatically generated categories should be able to stay out of Sonarr's way so that you don't run into import problems if you add cross-seeds from qBittorrent on finished download.

mmgoodnow avatar May 30 '22 20:05 mmgoodnow

Constraints

  • As long as you're changing categories with different during the lifecycle, cross-seed needs to be triggered by the program which changes the categories.
  • As long as you have manual searches enabled and temporary categories, cross-seed will catch torrents with their pants down.

Potential Solutions

Automatic category duplication from qBit

Pros

  • No user setup required
  • Invocation from qBittorrent means less complex daemon mode config

Cons

  • Requires one of the following:
    • no post-import cat (PIC)
    • a PIC that shares the same save path as the pre-import cat
    • long sleep in your post-process script (subject to RC)

Debounce on import from Sonarr

Pros

  • No user setup required
  • Fits more advanced workflows (post-import cats)

Cons

  • Sonarr fires webhook before changing the category
  • Can break if only some episodes of a pack are imported

Hardlinks

Pros

  • Can invoke from qBittorrent
  • Would insulate from all qBittorrent weirdness
  • bypasses category change problems

Cons

  • Heavy lift
  • do we have to implement for all clients?
  • Somewhat complex configuration (elaborate?)
  • Users need to do garbage collection

Category whitelisting/blocklisting

Pros

  • Only way to solve manual search problem

Cons

  • it's somewhat qbittorrent specific but also not because we can do it with tags too
  • potentially high lift

mmgoodnow avatar Jun 06 '22 01:06 mmgoodnow

-1 for Hardlinks

When combined with qbit manage cleaning up no longer hardlinked files this would mean files removed from *arrs would never be deleted torrent wise

-1 for Automatic category duplication from qBit

It breaks post-import cat use which anyone/most who has sizable seeds in their client with *arrs uses

-0.5 +0.5 for Debounce on import from Sonarr

Season packs being stuck/missing and more importantly category change after webhook would likely be problematic. If the webhook/cat delay can be worked around, this is probably the best option

+1 for Category whitelisting/blocklisting

Not the most elegant, but the least problematic

bakerboy448 avatar Jun 06 '22 01:06 bakerboy448

The new automatically generated categories should be able to stay out of Sonarr's way so that you don't run into import problems if you add cross-seeds from qBittorrent on finished download.

(still getting caught up here, I'm getting slaughtered at work this past week and a half) Just FYI, the solution I had to pre- and post-import for the -arr's is to set the category directory to the same place. That way if cross-seed catches it before an -arr has changed it, it doesn't matter other than a little category cleanup (this avoids a double download).

The other solution I came up with to help avoid the mis-matched categories is that because I can only run cross-seed on my Mac right now (my DL clients and -arr's run in Docker on a Synology where I can't figure out how to upgrade node yet) is that I run some AppleScripts to automate the running of cross-seed. I've baked in certain delays there to help give the -arr's time to do their thing. It's not a perfect solution, and the "delay" command seems to be ignore on Folder Actions (haven't solved this yet), but so far I've only had to do category cleanup once in the past week.

(to dev, I'm happy to share my AppleScript with you in case you find this a useful add-on for anyone who may be in my position. You could probably write it better as well since I'm still a newb at scripting)

SawkeeReemo avatar Jun 09 '22 18:06 SawkeeReemo

still gonna do cat filtering

mmgoodnow avatar Jul 18 '22 18:07 mmgoodnow

don't have anything recent for radarr to see but no basically cross-seed cannot be used with season packs in sonarr is what it comes down to as neither duplicate cat nor non-duplicate cat would work. I'd suggest detecting if its a season pack and skipping the search then since it seems it can never work

  • not using duplicate category causes torrents to be injected into original cat and then once the original is post-cat moved the cross-seeded torrent 1) shows in queue and is stuck and 2) ends up as missing files
  • using duplicate category causes torrents to be injected into whatever path cross-seed decides and ends up with missing files anyway once the original torrent is post-cat changed

tho have seen similar issues with missing files for movies as well. so if one permaseeds then they cannot use a post-import cat with cross-seed since set paths to facilitate that are overwrite easiest fix probably would be to put the force overwrite savepath behind a flag, default existing to true (i.e. overwrite and existing functionality)

-bakerboy

mmgoodnow avatar Nov 16 '22 02:11 mmgoodnow

@mmgoodnow think this can be closed now?

Or at least QBm handles .xseed => some other cat support which should close any gap

bakerboy448 avatar Jun 10 '23 22:06 bakerboy448