[FEATURE] Rule‑Based Cleanup by Tracker #65

Open
opened 2025-10-09 16:57:34 -05:00 by giteasync · 5 comments
Owner

Originally created by @H2OKing89 on GitHub.

What would you like to see implemented next?

Hi Cleanuparr team! 👋

Thanks for the slick UI‑only approach—I'd love to consolidate my retiring legacy scripts into Cleanuparr, but I need a bit more fine‑grained control than what’s currently possible. I’m retiring a handful of legacy scripts and would love to consolidate everything inside Cleanuparr—but I need a bit more fine‑grained control than what’s currently possible.

What I’m Proposing

  • Tracker‑centric rules – Define seeding and cleanup limits per tracker (or tag) so strict‑ratio private trackers get the VIP lounge while public trackers head straight to the curb.
  • Priority‑based evaluation – When a torrent matches more than one rule, the one with the lowest priority value wins.

Rule Set Example

The snippet below illustrates how I currently organise things—these six tiers cover everything from must‑seed‑forever torrents to public throwaways. Tracker names are lightly masked (first letter + asterisks + last letter) to respect confidentiality. Treat this as inspiration—not a final spec.

# ========================= share_limits =========================
# Fine‑grained seeding & cleanup rules based on tracker
# importance, tags, and hard‑link status.
# The lower the `priority`, the sooner the rule is evaluated.
# ================================================================

share_limits:
  unlimited-noHL:
    priority: 1
    include_any_tags: [A***r, B*****-HD, A********s, B***t, g**********s, b******a]
    include_all_tags: [noHL]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: 2
    max_seeding_time: 120d   # 4 months
    min_seeding_time: 60d    # 2 months
    cleanup: true
    add_group_to_tag: true

  unlimited:
    priority: 2
    include_any_tags: [A***r, B*****-HD, m***********e, A********s, B***t, g**********s, b******a]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: -1            # unlimited
    max_seeding_time: -1     # unlimited
    limit_upload_speed: -1   # unlimited
    cleanup: false
    add_group_to_tag: true

  limited-noHL:
    priority: 3
    include_any_tags: [r******d, u****s, A************s, L*T, O*****s, other]
    include_all_tags: [noHL]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: 1
    min_seeding_time: 30d
    max_seeding_time: 30d
    cleanup: true
    add_group_to_tag: true

  limited:
    priority: 4
    include_any_tags: [r******d, u****s, A************s, L*T, O*****s, other]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: 1
    min_seeding_time: 15d
    max_seeding_time: 15d
    cleanup: true
    add_group_to_tag: true

  limited_low_seed_time:
    priority: 5
    include_any_tags: [T*********h, S*******e, F*****t, H********s, I*T, other]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: 1
    min_seeding_time: 15d
    max_seeding_time: 15d
    cleanup: true
    add_group_to_tag: true

  open:
    priority: 6
    include_any_tags: [n*a, 1***x, A********o]
    categories: [completed, lidarr-done, radarr-done, sonarr-done]
    max_ratio: 1
    limit_upload_speed: 1024  # KiB/s
    cleanup: true
    add_group_to_tag: true

Why It Matters

  • Tracker compliance – Every tracker has its own seeding etiquette; one size doesn’t fit all.
  • Fewer external scripts – Centralizing cleanup logic in Cleanuparr reduces maintenance overhead and lets users retire ad‑hoc scripts.
  • Transparent retention policies – Housing all seeding rules in one place makes it clear what stays, what goes, and when—boosting user confidence and simplifying audits.

Feel free to reach out—I'm happy to test a beta build, draft docs, or bounce UX ideas around. Thanks for considering!

H2OKing

Originally created by @H2OKing89 on GitHub. ### What would you like to see implemented next? Hi Cleanuparr team! 👋 Thanks for the slick UI‑only approach—I'd love to consolidate my retiring legacy scripts into Cleanuparr, but I need a bit more fine‑grained control than what’s currently possible. I’m retiring a handful of legacy scripts and would love to consolidate everything inside Cleanuparr—but I need a bit more fine‑grained control than what’s currently possible. ## What I’m Proposing * **Tracker‑centric rules** – Define seeding and cleanup limits *per tracker (or tag)* so strict‑ratio private trackers get the VIP lounge while public trackers head straight to the curb. * **Priority‑based evaluation** – When a torrent matches more than one rule, the one with the lowest `priority` value wins. ## Rule Set Example The snippet below illustrates how I currently organise things—these six tiers cover everything from must‑seed‑forever torrents to public throwaways. Tracker names are lightly masked (first letter + asterisks + last letter) to respect confidentiality. Treat this as inspiration—not a final spec. ```yaml # ========================= share_limits ========================= # Fine‑grained seeding & cleanup rules based on tracker # importance, tags, and hard‑link status. # The lower the `priority`, the sooner the rule is evaluated. # ================================================================ share_limits: unlimited-noHL: priority: 1 include_any_tags: [A***r, B*****-HD, A********s, B***t, g**********s, b******a] include_all_tags: [noHL] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: 2 max_seeding_time: 120d # 4 months min_seeding_time: 60d # 2 months cleanup: true add_group_to_tag: true unlimited: priority: 2 include_any_tags: [A***r, B*****-HD, m***********e, A********s, B***t, g**********s, b******a] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: -1 # unlimited max_seeding_time: -1 # unlimited limit_upload_speed: -1 # unlimited cleanup: false add_group_to_tag: true limited-noHL: priority: 3 include_any_tags: [r******d, u****s, A************s, L*T, O*****s, other] include_all_tags: [noHL] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: 1 min_seeding_time: 30d max_seeding_time: 30d cleanup: true add_group_to_tag: true limited: priority: 4 include_any_tags: [r******d, u****s, A************s, L*T, O*****s, other] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: 1 min_seeding_time: 15d max_seeding_time: 15d cleanup: true add_group_to_tag: true limited_low_seed_time: priority: 5 include_any_tags: [T*********h, S*******e, F*****t, H********s, I*T, other] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: 1 min_seeding_time: 15d max_seeding_time: 15d cleanup: true add_group_to_tag: true open: priority: 6 include_any_tags: [n*a, 1***x, A********o] categories: [completed, lidarr-done, radarr-done, sonarr-done] max_ratio: 1 limit_upload_speed: 1024 # KiB/s cleanup: true add_group_to_tag: true ``` ## Why It Matters * **Tracker compliance** – Every tracker has its own seeding etiquette; one size doesn’t fit all. * **Fewer external scripts** – Centralizing cleanup logic in Cleanuparr reduces maintenance overhead and lets users retire ad‑hoc scripts. * **Transparent retention policies** – Housing all seeding rules in one place makes it clear what stays, what goes, and when—boosting user confidence and simplifying audits. Feel free to reach out—I'm happy to test a beta build, draft docs, or bounce UX ideas around. Thanks for considering! — **H2OKing**
giteasync added the enhancementplanned labels 2025-10-09 16:57:34 -05:00
Author
Owner

@cavazos-apps commented on GitHub:

+1. Some trackers will hit you with a H&R if you remove an incomplete (or stalled) torrent if not given the appropriate amount of time. Not being able to specify based on tracker is a big missing feature imo.

@cavazos-apps commented on GitHub: +1. Some trackers will hit you with a H&R if you remove an incomplete (or stalled) torrent if not given the appropriate amount of time. Not being able to specify based on tracker is a big missing feature imo.
Author
Owner

@Shawn9347 commented on GitHub:

Any news on this?

@Shawn9347 commented on GitHub: Any news on this?
Author
Owner

@YumDumbPickle commented on GitHub:

A feature that would allow setting seed rules on a per-tracker-basis would be amazing.
I tried to use qbit_manage in the past for torrent management, but I found it is better at automatically tagging things for my use case of the tool.

@YumDumbPickle commented on GitHub: A feature that would allow setting seed rules on a per-tracker-basis would be amazing. I tried to use qbit_manage in the past for torrent management, but I found it is better at automatically tagging things for my use case of the tool.
Author
Owner

@Shawn9347 commented on GitHub:

Hi,
I would like to this see feature added as well. I came across Cleanuparr last week on Reddit. Looks very good. Right now, I am still using qbitmanage. The lack of the tracker specific rule in Cleanuparr is holding me back from switching to Cleanuparr.
Once this is added I will start using it.

@Shawn9347 commented on GitHub: Hi, I would like to this see feature added as well. I came across Cleanuparr last week on Reddit. Looks very good. Right now, I am still using qbitmanage. The lack of the tracker specific rule in Cleanuparr is holding me back from switching to Cleanuparr. Once this is added I will start using it.
Author
Owner

@Flaminel commented on GitHub:

Hi! I appreciate you offering help and, if it comes down to it, I'll let you know. But this seems like a very big step from what Cleanuparr currently has for seeding rules. Not only it is very complex, it also seems targeted to qBittorrent only? It will take me some time to get to this feature.

@Flaminel commented on GitHub: Hi! I appreciate you offering help and, if it comes down to it, I'll let you know. But this seems like a very big step from what Cleanuparr currently has for seeding rules. Not only it is very complex, it also seems targeted to qBittorrent only? It will take me some time to get to this feature.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Cleanuparr#65