Feature Request: Qbittorrent Category
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.
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.
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?
I feel like that might solve for the main pain point (sonarr trying to import cross-seeds) with less user effort.
I like this idea, totally down for testing this out and seeing how it all works out.
i agree, i think it's worth a shot.
Sweet, that sounds like it would cause a lot less issues which is fantastic
specifically for season packs, this would be a lifesaver!
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.
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!
For anyone interested, I just opened #257 which implements the solution I proposed earlier: https://github.com/mmgoodnow/cross-seed/issues/254#issuecomment-1133807963
Feedback is very welcome.
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?
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.
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.
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
-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
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)
still gonna do cat filtering
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 think this can be closed now?
Or at least QBm handles .xseed => some other cat support which should close any gap