Skip to content

[FEATURE] Rule‑Based Cleanup by Tracker #200

@H2OKing89

Description

@H2OKing89

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplannedWill be implemented

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions