This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more.
Find a file
bakerboy448 dcb81a7234 Fixed: BHD 'Season Pack:' message not detected as unregistered
The `check_for_unregistered_torrents_in_bhd` function strips the colon
from tracker messages before checking against `UNREGISTERED_MSGS_BHD`:

```python
status_filtered = msg_up.split(":")[0]  # "SEASON PACK: ..." becomes "SEASON PACK"
```

However, the pattern list had "SEASON PACK:" (with colon), which would
never match the filtered text "SEASON PACK" (without colon).

This caused BHD torrents with tracker message like:
"Season Pack: https://beyond-hd.me/details/123456"
to NOT be detected as unregistered.

The fix removes the trailing colon from the pattern, consistent with
how "TRUMPED" (not "TRUMPED:") is already defined in the list.
2026-01-13 14:46:51 -05:00
.github chore(deps): bump dependabot/fetch-metadata from 2.4.0 to 2.5.0 (#1054) 2026-01-06 12:04:00 +00:00
config feat(tags): add support for tagging private torrents 2025-11-29 09:59:11 -05:00
desktop/tauri 4.6.5 2025-11-29 09:59:11 -05:00
docs feat(tags): add support for tagging private torrents 2025-11-29 09:59:11 -05:00
icons
modules Fixed: BHD 'Season Pack:' message not detected as unregistered 2026-01-13 14:46:51 -05:00
scripts feat(mover): add Unraid version detection and intelligent mover selection 2025-12-18 16:51:11 -05:00
web-ui bug: Api from components now use window.app.API instead of creating new one 2025-12-29 15:59:31 -05:00
.dockerignore
.gitignore
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate 2025-12-29 16:01:03 -05:00
activate.sh
CHANGELOG 4.6.5 2025-11-29 09:59:11 -05:00
deactivate.sh
Dockerfile
entrypoint.sh
LICENSE
Makefile
MANIFEST.in
pyproject.toml chore(deps-dev): bump ruff from 0.14.10 to 0.14.11 (#1060) 2026-01-09 12:04:22 +00:00
qbit_manage.py
README.md
ruff.toml
setup.py
SUPPORTED_VERSIONS.json Update SUPPORTED_VERSIONS.json 2025-11-29 10:03:01 -05:00
uv.lock changed bencodepy to bencodepy 2026-01-06 17:35:48 -05:00
VERSION ci(workflows): standardize formatting and update macos runner 2025-12-18 17:50:55 -05:00

qBit Manage

GitHub release (latest by date) GitHub commits since latest release (by SemVer) Docker Image Version (latest semver) PyPi (latest semver) Github Workflow Status pre-commit.ci status Ghcr packages Docker Pulls Sponsor or Donate Ruff

This is a program used to manage your qBittorrent instance such as:

  • Tag torrents based on tracker URLs
  • Apply category based on save_path to uncategorized torrents in category's save_path
  • Change categories based on current category (cat_change)
  • Remove unregistered torrents (delete data & torrent if it is not being cross-seeded, otherwise it will just remove the torrent)
  • Recheck paused torrents sorted by lowest size and resume if completed
  • Remove orphaned files from your root directory that are not referenced by qBittorrent
  • Tag any torrents that have no hard links outside the root folder (for multi-file torrents the largest file is used)
  • Apply share limits based on groups filtered by tags/categories and allows optional cleanup to delete these torrents and contents based on maximum ratio and/or time seeded. Additionally allows for a minimum seed time to ensure tracker rules are respected and minimum number of seeders to keep torrents alive.
  • RecycleBin function to move files into a RecycleBin folder instead of deleting the data directly when deleting a torrent
  • Built-in scheduler to run the script every x minutes. (Can use --run command to run without the scheduler)
  • Webhook notifications with Notifiarr and Apprise API integration

Supported Qbittorrent Versions

We rely on qbittorrent-api to interact with Qbittorrent.

Generally expect new releases of Qbittorrent to not immediately be supported. Support CANNOT be added until qbittorrent-api adds support for the version. Any material changed and impact must then be assessed prior to Qbit Manage supporting it.

Master

master - qBittorrent version

master - qbittorrent-api version

Develop

develop - qBittorrent version

develop - qbittorrent-api version

Getting Started

Check out the wiki for installation help

  1. Install qbit_manage either by installing Python 3.9.0+ on the localhost and following the Local Installation Guide or by installing Docker and following the Docker Installation Guide or the unRAID Installation Guide.
  2. Once installed, you have to set up your Configuration by create a Configuration File filled with all your values to connect to your qBittorrent instance.
  3. Please refer to the list of Commands that can be used with this tool.

Usage

To run the script in an interactive terminal with a list of possible commands run:

python qbit_manage.py -h

Support

  • If you have any questions or require support please join the Notifiarr Discord and post your question under the qbit-manage channel.
  • If you're getting an Error or have an Enhancement post in the Issues.
  • If you have a configuration question post in the Discussions.
  • Pull Request are welcome but please submit them to the develop branch.