mrkeyoor.com_
Wed 30 Sept 15:08 UTC
Self-Hostedevaluationupdated 30 Sept 2026

search-plugins review

This repository supplies Python search plugins for qBittorrent's built-in Search tab and hosts the wiki for community plugins. It lets qBittorrent query several torrent indexes from one window, either through a site-specific script or the included Jackett bridge.

Verdict

Our search-plugins run took 9 seconds, installed 0 packages, and had no build or test target, which fits a 0.2 MB plugin hub rather than a standalone app. Use the official scripts or the Jackett bridge when you want search inside qBittorrent and can tolerate occasional repairs. Treat every unofficial .py file as executable third-party code, and skip this approach if you need a centrally maintained indexer service with predictable compatibility.

We ran it

Lab card: what happened when we ran search-pluginsScreenshot of search-plugins (github.com/qbittorrent/search-plugins/wiki)
Install✓ · 9s0 packages · 1 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo43 files~1,298 lines of source · 0.2 MB · 4 CI workflows

Answers from our run

Does search-plugins build from source?

Dependencies installed in 9 seconds (0 packages), and the project has no separate build step. We cloned commit 4082cfc into a clean Debian container with 3 CPUs and no project-specific setup.

Does search-plugins have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does search-plugins have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use search-plugins?

Anyone assuming the unofficial list is vetted software: the installation guide says the scripts are third-party code and are not guaranteed safe.

What are the alternatives to search-plugins?

Jackett, Prowlarr, autobrr. Our search-plugins run took 9 seconds, installed 0 packages, and had no build or test target, which fits a 0.

Setup4/5Tiny checkout and GUI installation, with Python and per-plugin caveats
Docs4/5Clear install, authoring, Jackett, security, and legal guidance
Community4/57,039 stars, a September 28 push, and active breakage reports
Maturity3/5Long-lived format, but site scrapers and unofficial entries keep aging

Who it’s for

qBittorrent users who want search results inside the desktop client instead of visiting index sites separately.
Jackett users who want their configured indexers exposed through qBittorrent's Search tab.
Python contributors willing to repair small site scrapers when page formats change.
Users who can review third-party scripts and follow the copyright laws that apply to them.

Who it’s NOT for

Anyone assuming the unofficial list is vetted software: the installation guide says the scripts are third-party code and are not guaranteed safe.
Users who need search plugins to keep working without maintenance: open reports cover broken URLs, failed initialization, site changes, and an abandoned Prowlarr bridge.
People expecting direct qBittorrent core-team support: the README says community contributors maintain this hub and the core team does not manage it directly.
Anyone intending to obtain material without permission: the project explicitly places compliance with local copyright and other laws on the user.

Setup reality

Our commit 4082cfc checkout finished its npm install step in 9 seconds with 0 packages added and 1 MB used. It had no build script and no test script, so both steps were skipped. npm audit reported 0 known vulnerabilities.

End-user setup happens inside qBittorrent, not from this repository. Enable the Search tab, install a trusted .py file by local path or web link, and keep Python available. The Jackett bridge also needs a running Jackett service, its API key, URL, and an optional request-thread setting.

The checkout was only 43 files, about 1,298 source lines, and 0.2 MB, with 4 CI workflows and no Dockerfile. That small footprint does not make third-party plugins safe or durable. Each script can contact an external site, and changes to that site can break parsing or trigger rate controls.

The repository is a plugin shelf, not a search service

qBittorrent already has a Search tab. This repository supplies the Python scripts that make that tab query external torrent indexes, plus documentation for installing and writing more. A plugin receives a query and category, contacts a site, parses the response, then prints fields such as link, name, size, seeds, leechers, description URL, and publication date in the format qBittorrent expects.

The current tree is deliberately small. It contains site-specific engines and a Jackett bridge under nova3/engines, while the wiki points users to a much larger unofficial list. The README also sets expectations: maintainers lack capacity to add more official plugins, fixes to existing ones are welcome, and community contributors run the hub without direct management from the qBittorrent core team.

What happened when we ran it

Our run cloned commit 4082cfc into a fresh unprivileged Debian container with 3 CPUs and 8 GB of RAM. The npm install step succeeded in 9 seconds, added 0 packages, and left 1 MB on disk. npm audit reported 0 known vulnerabilities at every severity. The repository itself was 0.2 MB, with 43 files and about 1,298 source lines.

There was no npm build script or target, so the build step was skipped. The same was true for tests: no npm test script or target was available to our harness. Those skips are findings, not passes. This repository's root package file describes the wiki and declares no dependencies. Contributor instructions under nova3 use a separate Python and uv workflow, outside the Node command path our supplied sandbox run measured.

Our scan recorded 4 CI workflow files, no Dockerfile, and no tests directory. Nothing in the lab result proves that any search engine answered, that a parser still matches its site, or that qBittorrent accepted a plugin. A meaningful functional check needs qBittorrent, Python, live access to the selected index, and a lawful search query. We did not run that interaction.

Installation is easy because the code runs inside qBittorrent

A user enables Search Engine from qBittorrent's View menu, opens Search plugins, and installs a .py file from disk or a web link. There is no server deployment for a normal site-specific plugin. Python must be available, and issue 358 says qBittorrent 5.1.0 or newer requires Python 3.9 or newer for full plugin compatibility.

The Jackett path has more moving parts. You install and start Jackett, copy the supplied jackett.py URL into qBittorrent, and create jackett.json beside the engine files. That file holds the Jackett API key, service URL, whether to prefix results with the tracker name, and a thread count that defaults to 20. The guide warns against exposing Jackett directly to the public internet and recommends private networking or an authenticated TLS proxy.

Every unofficial plugin is code you chose to trust

The installation wiki opens with the right warning: search plugins are third-party Python scripts and are not guaranteed safe. They run where qBittorrent can reach the network and may contain site credentials or cookies. A green entry in a community table does not replace reading the script, checking its source repository, and deciding whether its access matches your risk tolerance.

That warning has practical weight. Open issue 390 asks maintainers to remove an unofficial Prowlarr plugin whose source had not been updated since 2021, partly because the user did not want to place credentials in abandoned code. The issue remained active in September 2026. The official Jackett bridge is the better-documented aggregation path, yet it still stores an API key locally and depends on a second service.

Site changes are the normal failure mode

Scraper plugins depend on HTML, JSON responses, anti-bot controls, and download-link behavior owned by someone else. Issue 452 says an AudiobookBay plugin stopped working and appeared to trigger a temporary IP block after the site changed access rules. Other open reports describe broken magnet links, engines failing to initialize after a qBittorrent update, and a Jackett connection path creating a zero-process pool.

Those reports do not establish that every plugin is broken. They show why this repository needs continual small repairs. When one engine fails, disable it and inspect the issue before reinstalling random replacements. If you want many indexers, the project's own Jackett guide recommends putting the volatile site logic in Jackett and using one qBittorrent bridge, which is easier to reason about than a folder of unrelated scripts.

Recent commits coexist with a large issue backlog

GitHub showed 7,039 stars, a September 28 push, and 48 open issues and pull requests combined. A separate search returned 47 open issues, leaving one open pull request in that snapshot. Issue activity continued through September, including discussion of an unsupported plugin and an update to an existing engine. There is no GitHub release for this repository.

That maintenance model suits scripts delivered through qBittorrent's updater and raw GitHub links, though it makes release notes and versioned bundles unavailable. The repository remains active by push date and issue discussion. Its backlog also reflects the churn of external sites. Use a narrow set of reviewed plugins, prefer Jackett when your indexer list grows, and expect compatibility work as part of ownership.

Alternatives

ProjectWhat it isPick it when
JackettA tracker proxy that presents many indexers through a common API.pick this instead when you want one maintained indexer service for several applications and are willing to run a separate .NET process.
ProwlarrAn indexer manager and proxy designed around the broader *arr application stack.pick this instead when centralized tracker and Usenet indexer management across *arr applications matters more than qBittorrent's native Search tab.
autobrr gh↗An automation service that watches release feeds and sends matches to download clients.pick this instead when rules-based acquisition from announcements is the job and interactive searching is secondary.

What people are saying

  1. [github-trending] qbittorrent/search-plugins

Sources

  1. qBittorrent search-plugins README
  2. Search plugin installation guide
  3. Jackett plugin configuration guide
  4. Prowlarr plugin maintenance issue
  5. Plugin site-change failure report

More self-hosted reviews

homarr · vphone-web · opencti · cap · Qwen3.8-Flash-Next-Single-DGX-Spark · superlocal · the whole board →