-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR]: Opt-In NoHardlinking detection outside of root directory #538
Comments
I fail to see how share limits doesn't accomplish this. Please explain in detail what you've tired and why it doesn't work? cross-seeded torrents already have a cross-seed tag and you can use tags and categories for filtering accordingly. |
The specific functionality that I want is for cross seeds to be removed as soon as the file from which they’re seeded from is deleted. Eg: There is, to my knowledge, no share limits rule to detect whether the original file has been deleted. However with the option to refine how hardlinks are checked this functionality would be available and would greatly improve my torrenting flow as well as the flows of other autobrr+cross-seed users. |
again, please provide in detail...with specific configurations... that prove they not work and it is not possible with current settings. noHL have nothing to do with share limits which can use any tag or category combination to seed to a seed time or seed ratio. any torrent that QBm detects with no upload but 100% complete should be getting the cross seed tag |
With what you’ve put above there is nothing that would remove the cross-seeded torrents when torrent1 reaches its share limits and is removed. My current setup has share limits for the ratio-focused torrents based on seed time and share ratio. Once those are met, the torrent is removed, and you are exactly right that qbit perfectly removes that torrent. I then have a share limit for torrents with the cross-seed AND noHL tags to instantly remove them. Torrents that do not have the noHL tag do not have seeding limits and are seeded until the noHL tag is removed. The problem is that there is no way for the ratio-building torrents to be managed by qbit manage while also having the noHL tag added to cross-seeded torrents when the original is removed. In case 1 (in the original issue post I made), the noHL tag will instantly be added to the cross seeded torrents and thus my setup will instantly remove them. Obviously not an ideal setup. In case 2, the noHL tag will not be added on the torrent originally, as the ratio-building torrent exists outside the root directory so the cross-seeded torrents will have hardlinks outside the root directory. When the original is removed the noHL will also be removed. However, since the ratio-building torrents are located outside of the root dir qbit manage will never automatically delete them. This would use up all of the data on my harddrive without manual intervention. |
Closing as Op has failed to provide the required information - config details - despite multiple requests. Repeating the same thing in slightly rephrasing is not helpful.
QBm would never remove noHL unless you tell it to. Create better share limits. Again you have repeatedly refused to provide the details for why share limits fail to accomplish this. Tag and cat filtering is supported which would solve this.
not a valid use case for QBm to manage files outside of the download dir |
you can just disable linkDir (undefined) and itll reference the original file for the injected torrent. |
"My current setup has share limits for the ratio-focused torrents based on seed time and share ratio. Once those are met, the torrent is removed, and you are exactly right that qbit perfectly removes that torrent. I then have a share limit for torrents with the cross-seed AND noHL tags to instantly remove them. Torrents that do not have the noHL tag do not have seeding limits and are seeded until the noHL tag is removed." - my previous message. Bar literally pasting my config file, how does this not suffice for config details? This described exactly what the various share limits that are relevant to this situation are. My config purposefully removed torrents tagged both with the cross-seed and noHL tags. The issue is that because qbit manage only considers hardlinks outside the root directory, so qbit automatically tagged such cross seeded torrents with the noHL tag, and thus the share limits I intentionally configured will automatically remove them. This share limit configuration works in all other situations, an example of which I'll discuss:
In effect, this is a sharelimit for cross seeded torrents that removes the torrents the moment the original file is removed. The point I have tried to make is that this does not work when the original torrent is not hardlinked outside the root directory, as in the case of ratio-focused torrents. I apologize if my responses have seemed like rephrasings, I have tried to expand on what I mean in each successive message. If it would be beneficial, I can literally copy and paste the relevant sections of my config file here, though if this is what you expected it may be opportune to explicitly say that. As I referenced at the beginning of this message, details about my configuration were in my previous message. What other information would be beneficial for you so that I can help describe the situation in more complete detail? (Also, while I'm guessing the issue template auto-assigns the owner of the repo to the issue, if @bobokun does have time to look at this issue I would be very appreciative 😄) |
I like this workaround! I would hope that some config in qbit manage would be created to help automate this, but in the interim this is a very nice manual workaround. Thanks! |
Because what you think you are configured to do, and what your config says can be two entirely different things. The latter gives concrete proof of the behavior you should see, not your interpretations in narrated form. While you may be right about your specific config in this particular instance, not saying you are wrong - I don't know obviously and I'm a cross-seed dev and Deluge user, so take that into account - as a standard for users with issues, if you give us your config, we can immediately say "yep this" or "nope he's wrong and misunderstands" - instantly.
Your welcome. Hope it's sufficient to meet your goals. :) |
Ooo that's a good point! Here're the relevant parts of my config then!
|
A simple solution would be to move your cross_seed directory to somewhere inside your root_dir. cross_seed: /home/media/Torrents/CrossSeeds/
root_dir: /home/media/Torrents/
recycle_bin: /home/media/.TorrentsRecycleBin
torrents_dir: [qbit folder]
orphaned_dir: /home/media/Orphans
remote_dir: /home/media/Torrents/ |
QBm Cross seed is just .torrent files, no? For inject |
It is not really recommended to put linked cross-seeds inside your data directory if using data matching. Just as a note. |
oh your right, I got confused. I meant cross seed data, but I see it's already in the root folder. |
Yea that's not recommended setup...but the consequences generally are just that you could have duplicate searches. Not the worst, but kind of something you'd avoid if you can. |
Can you please test in the latest develop branch? qbit_manage/config/config.yml.sample Lines 141 to 142 in b371562
|
Just tested this out, set
but the torrents are still tagged with noHL in qbittorrent. Are there any other logs/stuff that I could put here to help w/ debugging? |
Also, thank you so much for implementing this feature! |
@ddxtanx can you please try again in develop branch? I've put some more information in the trace logs. |
@bobokun, qbit_manage is now detecting the hardlinks in the root dir and removing the noHL tag! Thank you so much! |
And it just successfully detected when an original torrent was removed, retagged the cross seeded torrent, and removed that too perfectly! |
* 4.1.3-develop1 * removes `ignoreTags_OnUpdate` setting as it was confusing for users - Adds cache for tag updates - Updates doc to include cat in tracker * Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 (#537) * Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](dependabot/fetch-metadata@v2.0.0...v2.1.0) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * minor bug fix in process torrent issues * remove force_retag setting since it's no longer valid with the new tag-update * move hotio webhook to start earlier * adds better trace logs for share limits #533 * Adds #538 * [pre-commit.ci] pre-commit autoupdate (#539) * [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.4.0 → 24.4.2](psf/black@24.4.0...24.4.2) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * add additional trace logs for noHL * nohl config fixes * Fixes #540 * adds cron scheduling support * minor bug fix in rounding minutes * bugfixes in cron scheduling * don't spam the logs * chore: Update qbit_manage.py to display next run time after first cron run * remove spam in logs * QOL improvement: Refactor time parsing logic for share limits * bug fix in new parse data * 4.1.3 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Hi, sorry for reopening this, I'm having the same issue. I'm also on develop branch and added the
The config file : commands:
# The commands defined below will IGNORE any commands used in command line and docker env variables.
dry_run: true
cross_seed: false
recheck: false
cat_update: false
tag_update: true
rem_unregistered: true
tag_tracker_error: false
rem_orphaned: true
tag_nohardlinks: true
share_limits: true
skip_qb_version_check: false
skip_cleanup: true
qbt:
####
settings:
force_auto_tmm: true # Will force qBittorrent to enable Automatic Torrent Management for each torrent.
tracker_error_tag: issue # Will set the tag of any torrents that do not have a working tracker.
nohardlinks_tag: noHL # Will set the tag of any torrents with no hardlinks.
share_limits_tag: ratio # Will add this tag when applying share limits to provide an easy way to filter torrents by share limit group/priority for each torrent
ignoreTags_OnUpdate: # When running tag-update function, it will update torrent tags for a given torrent even if the torrent has at least one or more of the tags defined here. Otherwise torrents will not be tagged if tags exist.
#- noHL
#- issue
#- cross-seed
- issue
- cross-seed
share_limits_min_seeding_time_tag: MinSeedTimeNotReached
share_limits_min_num_seeds_tag: MinSeedsNotMet
share_limits_last_active_tag: LastActiveLimitNotReached
cross_seed_tag: cross-seed
cat_filter_completed: true
share_limits_filter_completed: true
tag_nohardlinks_filter_completed: true
force_retag_all: false
directory:
# Do not remove these
# Cross-seed var: </your/path/here/> # Output directory of cross-seed
# root_dir var: </your/path/here/> # Root downloads directory used to check for orphaned files, noHL, and RecycleBin.
# <OPTIONAL> remote_dir var: </your/path/here/> # Path of docker host mapping of root_dir.
# remote_dir must be set if you're running qbit_manage locally and qBittorrent/cross_seed is in a docker
# remote_dir should not be set if qbit_manage is running in a container
# <OPTIONAL> recycle_bin var: </your/path/here/> # Path of the RecycleBin folder. Default location is set to remote_dir/.RecycleBin
# <OPTIONAL> torrents_dir var: </your/path/here/> # Path of the your qbittorrent torrents directory. Required for `save_torrents` attribute in recyclebin
# <OPTIONAL> orphaned_dir var: </your/path/here/> # Path of the the Orphaned Data folder. This is similar to RecycleBin, but only for orphaned data.
#cross_seed: /your/path/here/
root_dir: /downloads
recycle_bin: /downloads/.RecycleBin
torrents_dir: /qbittorrent/data/BT_backup
orphaned_dir: /downloads/orphaned_data
cross_seed:
remote_dir: /downloads/
cat:
# Category & Path Parameters
# <Category Name> : <save_path> # Path of your save directory.
movies: /downloads/movies
tv: /downloads/tv
anime: /downloads/anime
software: /downloads/software
comics: /downloads/comics
books: /downloads/books
music: /downloads/music
anime_movies: /downloads/anime
power-seed: /downloads/power-seed
scepticotheque: downloads/scepticotheque
cat_change:
####
tracker:
####
nohardlinks:
# Tag Movies/Series that are not hard linked outside the root directory
# Mandatory to fill out directory parameter above to use this function (root_dir/remote_dir)
# This variable should be set to your category name of your completed movies/completed series in qbit. Acceptable variable can be any category you would like to tag if there are no hardlinks found
movies:
ignore_root_dir: true
anime:
ignore_root_dir: true
tv:
ignore_root_dir: true And the result is that almost every torrent in those categories are being tagged in the dry run :
What am I doing wrong ? |
Hijacking a GitHub is not a valid way for support. Based on your QBm paths - the fact you have visit the QBm channel on the Notifiarr discord or use Discussions for support Can all but guarantee you failed to configure your mounts / ownership / permissions correctly and you don't actually have hardlinks. |
Okay, sorry for the "hijack", thought it was legit. Although I'm not lying about Trash guides, don't presume of my intentions, I just probably did it wrong. Not everybody has your knowledge. |
@Nesego , Please take a look at the following in order to set up the folder structure properly https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/ Once you have completed that guide then please following this guide to set up qBittorrent properly. |
The knowledge is available on the guides, that is their purpose. Looking at your paths it is immediately apparent that you either misread them drastically or did not follow them at all. Either way, github etiquette is a thing, especially on larger user-base projects....seeking support in an issue for misconfigurations on your part before normal channels (in this case discord) is, generally, kind of a no-no - on top of posting in a thread barely adjacent to the issue you are having. |
Noted. |
Is your feature request related to a problem? Please elaborate.
Currently I have torrents downloaded solely for the purposes of building ratio on trackers. Those torrents also appear on other trackers and so I want to cross seed them until the original has finished. However, to have qbit manage automatically remove them there are (what I understand) to ways to solve it.
This would be greatly improved if we could configure the nohardlinking setting to a greater degree as described below.
Describe the solution you'd like
I would like to be able to configure a setting for the cross-seeding category in the noHL section of the config that would indicate whether or not hardlinking should only be checked outside the root directory, or if hardlinking inside the root directory should be considered as well. Then I could use option 1 in the first input box, where qbit manage would still manage the ratio-building torrents while also recording them as hardlinks for the cross-seed torrents. Notably, I would still want the ratio-building torrents to only have their hardlinking checked outside of the root directory, as to not create a feedback loop between the two torrent categories, hence the configurable opt-in/out feature request.
Does your solution involve any of the following?
Describe alternatives you've considered
In addition to the usecase alternatives I put above, I also thought that the root_dir setting could be modified to allow a list of directories rather than a single directory. This would fit into the second option, where the ratio-building torrents are in a directory outside of the root torrent directory. Adding the ratio-building directory and the root directory to the root_dir option would then have qbit manage still delete from the ratio-building directory. But my guess would be the hardlinking option would be easier to implement than adding multiple root dirs, however either solution would be greatly appreciated!
Who will this benefit?
This would apply to any users who use both autobrr and cross-seed for the purposes of ratio building, or any user who has downloads torrents for ratio-building purposes and wishes to cross-seed them to other trackers.
Additional Information
No response
The text was updated successfully, but these errors were encountered: