From c14b61c0cf9e4c1feece4b3638477019c4fea561 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 24 Dec 2024 21:36:55 +0800 Subject: [PATCH] Move wiki into repo --- .github/workflows/deploy_wiki.yaml | 37 + wiki/Home.md | 8 + wiki/How-to-configure-Jackett-plugin.md | 193 ++++++ wiki/How-to-write-a-search-plugin.md | 240 +++++++ wiki/Install-search-plugins.md | 28 + wiki/New-Torznab-search-engine.md | 61 ++ wiki/Request-unofficial-search-plugin.md | 73 ++ ...official-search-plugins-wiki.git.mediawiki | 640 +++++++++++++++++ wiki/Unofficial-search-plugins.mediawiki | 655 ++++++++++++++++++ ...lugins-master-nova3-engines-jackett.py.md" | 248 +++++++ wiki/search-engine-qbtrnt.md | 112 +++ 11 files changed, 2295 insertions(+) create mode 100644 .github/workflows/deploy_wiki.yaml create mode 100644 wiki/Home.md create mode 100644 wiki/How-to-configure-Jackett-plugin.md create mode 100644 wiki/How-to-write-a-search-plugin.md create mode 100644 wiki/Install-search-plugins.md create mode 100644 wiki/New-Torznab-search-engine.md create mode 100644 wiki/Request-unofficial-search-plugin.md create mode 100644 wiki/Unofficial-search-plugins-wiki.git.mediawiki create mode 100644 wiki/Unofficial-search-plugins.mediawiki create mode 100644 "wiki/https:--raw.githubusercontent.com-qbittorrent-search\342\200\220plugins-master-nova3-engines-jackett.py.md" create mode 100644 wiki/search-engine-qbtrnt.md diff --git a/.github/workflows/deploy_wiki.yaml b/.github/workflows/deploy_wiki.yaml new file mode 100644 index 0000000..f4b68a7 --- /dev/null +++ b/.github/workflows/deploy_wiki.yaml @@ -0,0 +1,37 @@ +name: Deploy wiki + +on: + push: + branches: + - master + paths: + - 'wiki/*' + +permissions: + contents: write + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: ${{ github.head_ref != '' }} + +jobs: + deploy: + name: Deploy wiki + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Deploy + run: | + mv .git wiki + cd wiki + git config user.name "qbt_search-plugins_bot" + git config user.email "qbt_search-plugins_bot@example.com" + git checkout --orphan tmp + git add -A + git commit -m "Import" + git branch -D master + git branch -m master + git push https://github.com/qbittorrent/search-plugins.wiki.git --force diff --git a/wiki/Home.md b/wiki/Home.md new file mode 100644 index 0000000..f3e4053 --- /dev/null +++ b/wiki/Home.md @@ -0,0 +1,8 @@ +Welcome to the search-plugins wiki! + +* [List of unofficial search plugins](wiki/Unofficial-search-plugins) +* [Request unofficial search plugin](wiki/Request-unofficial-search-plugin) +* [How to configure Jackett plugin](wiki/How-to-configure-Jackett-plugin) +* [How to install search plugins](wiki/Install-search-plugins) +* [How to write a search plugin](wiki/How-to-write-a-search-plugin) +* [New Torznab search engine](wiki/New-Torznab-search-engine) \ No newline at end of file diff --git a/wiki/How-to-configure-Jackett-plugin.md b/wiki/How-to-configure-Jackett-plugin.md new file mode 100644 index 0000000..db99f27 --- /dev/null +++ b/wiki/How-to-configure-Jackett-plugin.md @@ -0,0 +1,193 @@ +# Jackett integration for qBittorrent + +**qBittorrent** comes with a few search plugins. Although these are often +sufficient for most users, those who wish to perform searches at a wider array +of indexing sites have the option of installing **[Jackett][jackett]** and +running it in tandem with qBittorrent to take advantage of its much larger +catalog of indexers (575, as of June 2024) and efficiency in retrieving results +from them.configure the **Jackett qBittorrent plugin** (essentially, set the API key). + +## What is Jackett? + +As explained in the project's [README.md file][jackett-readme] (emphasis added): + +> Jackett works as a proxy server: it translates queries from apps ([including] +> qBittorrent […]) into site-specific HTTP queries for any number of +> [BitTorrent] trackers, parses the HTML or JSON responses, then sends the +> results back to the requesting software. This allows for getting recent +> uploads (like RSS) and performing searches. Jackett is a single repository of +> **maintained indexer scraping and translation logic** — removing the burden +> from other apps. + +More plainly, while qBittorrent is a download manager which has evolved to +include some built-in facilities for torrent discovery, Jackett is purpose-built +software designed for performing those same searches on a much larger scale. An +application such as qBittorrent can present the searches it's asked to perform +to Jackett, which broadcasts them to a user-defined list of potentially hundreds +of indexing sites all at once, and then feeds the results back as they come in. +The primary advantages to this arragement are threefold: + +- As performing searches is its only function, it is much faster at conducting + them and processing the results. +- The ability to perform searches at a much wider list indexes that is quick to + add new sites and remove dead ones. +- It is much better at reacting to the frequent changes that occur on the + indexer sites that arise as they work to mitigate attempts to interrupt their + operation. + +Updates to their catalog of indexers take place almost daily and it includes +hundreds of sites which never had nor were ever likely to get their own +qBittorrent search plugin. + +## Installation + +### Prerequisites + +Jackett is built using the .NET framework and requires that you have the .NET 8 +Runtime present on your system prior to installation. Microsoft provides +installer files for the runtime for [Windows][dotnet-windows-support], +[macOS][dotnet-macos-support] and [GNU/Linux][dotnet-linux-support] (click the +preceding links to see the minimum requirements for each operating system). + +**[Microsoft .NET Downloads][dotnet-downloads]** + +**Official .NET installation guides**: + +- [Windows][dotnet-windows-install] +- [macOS][dotnet-macos-install] +- [Linux][dotnet-linux-install] + +### Jackett + +Once the .NET runtime is installed, follow the official documentation linked +below to install and configure Jackett. + +- [Installation on Windows][install-windows] +- Installation on Linux: + - [AMD64 (x86_64)][install-linux-amd64] + - [ARMv7 and newer][install-linux-armv7] + - [ARMv6 and older][install-linux-armv6] + +### qBittorrent plugin + +> [!NOTE] +> The full download URL for the plugin file is +> `https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/jackett.py` + +Follow these steps to manually install the plugin: + +1. Launch qBittorrent and click on the Search tab (only shown when "Search + Engine" is active in the View menu) +1. Highlight the URL shown above or right-click [this link][plugin-file] and + **copy** it to the clipboard +1. Click the **Search plugins…** button in the bottom-right corner, then click + **Install a new one**, and finally **Web link** as the "Search plugin source" +1. qBittorrent tries to automatically fill the input field if a URL is found on + the clipboard, but if not, manually paste the URL there + +## Configuration + +> [!IMPORTANT] +> Remember to [start Jackett](https://github.com/Jackett/Jackett#supported-systems) +> first. :) + +The Jackett plugin uses an external configuration file, ensuring that any +updates to the plugin file will not erase or reset your settings. The name of +the configuration file is `jackett.json` and it must reside in the same folder +as the qBittorrent search plugin files, the defaults for which are: + +- **Windows:** + - CMD syntax: `%LOCALAPPDATA%\qBittorrent\nova3\engines` + - PowerShell syntax: `"${Env:LOCALAPPDATA}\qBittorrent\nova3\engines"` +- **Linux:** + - `"${XDG_DATA_HOME:-$HOME/.local/share}/qBittorrent/nova3/engines"` (current) + - `"${XDG_DATA_HOME:-$HOME/.local/share}/data/qBittorrent/nova3/engines"` (former) + - `"${HOME}/.var/app/org.qbittorrent.qBittorrent/data/qBittorrent/nova3/engines"` +- **macOS:** `"~/Library/Application Support/qBittorrent/nova3/engines"` + +If for some reason the configuration file doesn't exist, create one with the +following contents: + +```json +{ + "api_key": "YOUR_API_KEY_HERE", + "url": "http://127.0.0.1:9117", + "tracker_first": false, + "thread_count": 20 +} +``` + +> [!TIP] +> If running qBittorrent in headless mode and accessing its web interface +> remotely, Jackett's default configuration to bind to the loopback address +> (127.0.0.1) must be replaced with a routable address (for instance, using DDNS +> or an IPv6 Global Unicast Address) to allow traffic to pass between it and +> qBittorrent. Additional firewall rules or port forwarding may also be needed. +> +> The change must be made in both the Jackett UI and the plugin configuration +> file, specifically its `url` key. For example: + +```diff + { + "api_key": "YOUR_API_KEY_HERE", +- "url": "http://127.0.0.1:9117", ++ "url": "http://yourserver.ddnsprovider.host:9117", + "tracker_first": false, + "thread_count": 20 + } +``` + +### Configuration file properties + +| Property name | Initial value | Description | +|:----------------|:------------------------|:----------------------------------------------------------------------------------------------------| +| `api_key` | `YOUR_API_KEY_HERE` | Jackett API Key, shown in the upper-right corner of the Jackett UI ([screenshot below][api-key-ss]) | +| `url` | `http://127.0.0.1:9117` | Jackett service address (without a terminating forward slash) | +| `tracker_first` | `false` | Prepend indexer site name to each search result (takes Boolean value) | +| `thread_count` | `20` | Maximum number of concurrent requests to Jackett (to disable concurrent requests, set value to `1`) | + +## Disabling/Removing the Jackett plugin + +The Jackett plugin is enabled by default in qBittorrent. However, you can +disable it or removing it entirely at any time by following these steps: + +1. In the **Search** tab, click the **Search plugins…** button in the + bottom-right corner. +1. Locate the entry named **Jackett** in the list. +1. To disable the plugin: + - Right-click the entry and clear the checkmark from the **Enabled** option. + + Or to uninstall the plugin: + - Right-click the entry and select **Uninstall**. +1. Click the **Close** button. + +## Screenshots + +### Jackett API Key + +![Jackett UI screenshot showing API Key location][api-key] + +### Search results + +After successfully installing Jackett and integrating it with qBittorrent, the +results it provides appear as seen below. + +![qBittorrent search tab with Jackett results][search-tab-results] + +[jackett]: https://github.com/Jackett/Jackett "Jackett: API support for your favorite torrent trackers" +[jackett-readme]: https://github.com/Jackett/Jackett/blob/master/README.md "Jackett: README.md" +[dotnet-windows-support]: https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#windows +[dotnet-macos-support]: https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#macos +[dotnet-linux-support]: https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#linux +[dotnet-downloads]: https://dotnet.microsoft.com/download/dotnet/8.0 +[dotnet-windows-install]: https://github.com/dotnet/core/blob/main/release-notes/8.0/install-windows.md +[dotnet-macos-install]: https://github.com/dotnet/core/blob/main/release-notes/8.0/install-macos.md +[dotnet-linux-install]: https://github.com/dotnet/core/blob/main/release-notes/8.0/install-linux.md +[install-windows]: https://github.com/Jackett/Jackett#installation-on-windows +[install-linux-amd64]: https://github.com/Jackett/Jackett#installation-on-linux-amdx64 +[install-linux-armv7]: https://github.com/Jackett/Jackett#installation-on-linux-armv7-or-above +[install-linux-armv6]: https://github.com/Jackett/Jackett#installation-on-linux-armv6-or-below +[plugin-file]: https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/jackett.py +[api-key-ss]: #jackett-api-key +[api-key]: https://i.imgur.com/87yZeAU.png +[search-tab-results]: https://i.imgur.com/uCawgLa.png diff --git a/wiki/How-to-write-a-search-plugin.md b/wiki/How-to-write-a-search-plugin.md new file mode 100644 index 0000000..5ffebe3 --- /dev/null +++ b/wiki/How-to-write-a-search-plugin.md @@ -0,0 +1,240 @@ +qBittorrent provides a search engine plugins management system. +Thanks to this, you can *easily* write your own plugins to look for torrents in your favorite Bittorrent search engines and extend qBittorrent integrated search engine. + +* All you need is some motivation and some knowledge of [Python language](https://www.python.org). +* **The minimum supported python version is specified [here](https://github.com/qbittorrent/qBittorrent/blob/master/INSTALL#L21-L23), make sure your plugin can work with it and every later versions.** +* **Only import libraries from [Python Standard Library](https://docs.python.org/3/library/index.html)**. \ + Third party libraries (such as those installed from [PyPI](https://pypi.org/)) are ***not*** guaranteed to be present in user's environment. +* You are encouraged to ensure good quality of your plugin: [Python Code Quality: Tools & Best Practices](https://realpython.com/python-code-quality/). \ + For example, here is how the official plugins are checked: [ci.yaml](https://github.com/qbittorrent/search-plugins/blob/60a3f4d9c97a5d1f94e75789a72ee054044c5802/.github/workflows/ci.yaml#L29-L44). + + +# INDEX +## [Plugins Specification](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#plugins-specification-1) + +### 1.1 [Search Results Format](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin/#search-results-format) + +### 1.2 [Python Class File Structure](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin/#python-class-file-structure) + +### 1.3 [Parsing Results From Web Pages](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin/#parsing-results-from-web-pages) + +## [Understanding The Code](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#understanding-the-code-1) + +### 2.1 [PrettyPrinter Helper Function](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#prettyprinter-helper-function) + +### 2.2 [Retrieve_URL Helper Function](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#retrieve_url-helper-function) + +### 2.3 [Download_File helper Function](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#download_file-helper-function) + +## [Testing & Finalizing Your Code](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#testing--finalizing-your-code-1) + +### 3.1 [Code Examples](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin/#code-examples) + +### 3.2 [Testing Your Plugin](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#testing-your-plugin) + +### 3.3 [Install Your Plugin](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#install-your-plugin) + +### 3.4 [Publish Your Plugin](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#publish-your-plugin) + +### 3.5 [Notes](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin#notes) + + +# Plugins Specification + +*⚠️The plugin communicate data back to qBittorrent via stdout and that means you must NOT print debug/error messages to stdout under any circumstances. You can print the debug/error messages to stderr instead.* + +## Search Results Format +First, you must understand that a qBittorrent search engine plugin is actually a Python class file whose task is to contact a search engine website (e.g. [The Pirate Bay](https://www.thepiratebay.org)), parse the results displayed by the web page and print them on stdout with the following syntax: +``` +link|name|size|seeds|leech|engine_url|desc_link|pub_date +``` + +One search result per line. + +For example: +``` +magnet:?xt=urn:btih:5F5E8848426129AB63CB4DB717BB54193C1C1AD7&dn=ubuntu-20.04.6-desktop-amd64.iso|ubuntu-20.04.6-desktop-amd64.iso|4351463424|15|2|https://thepiratebay.org|https://thepiratebay.org/description.php?id=72774917|1696870394 +magnet:?xt=urn:btih:07053761979D09DEAD94D09E8326DB919797B078&dn=ubuntu-10.04-server-i386.iso|ubuntu-10.04-server-i386.iso|700413952|1|0|https://thepiratebay.org|https://thepiratebay.org/description.php?id=5551290|1273547377 +``` + +## Python Class File Structure +Your plugin should be named "engine_name.py", in lowercase and without spaces nor any special characters. +You'll also need the other files for the project ([Link](https://github.com/qbittorrent/qBittorrent/tree/master/src/searchengine/nova3)) + +The Files Are: + +``` +-> nova2.py # the main search engine script which calls the plugins +-> nova2dl.py # standalone script called by qBittorrent to download a torrent using a particular search plugin +-> helpers.py # contains helper functions you can use in your plugins such as retrieve_url() and download_file() +-> novaprinter.py # contains some useful functions like prettyPrint(my_dict) to display your search results +-> socks.py # Required by helpers.py. This module provides a standard socket-like interface. +``` + + +Here is the basic structure of engine_name.py: +```python +#VERSION: 1.00 +# AUTHORS: YOUR_NAME (YOUR_MAIL) +# LICENSING INFORMATION + +from html.parser import HTMLParser +from helpers import download_file, retrieve_url +from novaprinter import prettyPrinter +# some other imports if necessary + +class engine_name(object): + """ + `url`, `name`, `supported_categories` should be static variables of the engine_name class, + otherwise qbt won't install the plugin. + + `url`: The URL of the search engine. + `name`: The name of the search engine, spaces and special characters are allowed here. + `supported_categories`: What categories are supported by the search engine and their corresponding id, + possible categories are ('all', 'anime', 'books', 'games', 'movies', 'music', 'pictures', 'software', 'tv'). + """ + + url = 'https://www.engine-url.org' + name = 'Full engine name' + supported_categories = { + 'all': '0', + 'anime': '7', + 'games': '2', + 'movies': '6', + 'music': '1', + 'software': '3', + 'tv': '4' + } + + def __init__(self): + """ + Some initialization + """ + + def download_torrent(self, info): + """ + Providing this function is optional. + It can however be interesting to provide your own torrent download + implementation in case the search engine in question does not allow + traditional downloads (for example, cookie-based download). + """ + print(download_file(info)) + + # DO NOT CHANGE the name and parameters of this function + # This function will be the one called by nova2.py + def search(self, what, cat='all'): + """ + Here you can do what you want to get the result from the search engine website. + Everytime you parse a result line, store it in a dictionary + and call the prettyPrint(your_dict) function. + + `what` is a string with the search tokens, already escaped (e.g. "Ubuntu+Linux") + `cat` is the name of a search category in ('all', 'anime', 'books', 'games', 'movies', 'music', 'pictures', 'software', 'tv') + """ +``` + +**PLEASE note that the filename (without .py extension) must be identical to the class name. Otherwise, qBittorrent will refuse to install it!** + +## Parsing Results from Web Pages +After downloading the content of the web page containing the results (using `retrieve_url()`), you will want to parse it in order to create a `dict` per search result and call `prettyPrint(your_dict)` function to display it on stdout (in a format understandable by qBittorrent). + +In order to parse the pages, you can use the following python modules (not exhaustive): +* **[ADVISED METHOD]** [HTMLParser](https://docs.python.org/2/library/htmlparser.html) / [html.parser](https://docs.python.org/3/library/html.parser.html): Builtin python parser which replaces deprecated SGMLParser. Mostly similar to the SMGLParser +* `xml.dom.minidom`: XML parser. Be careful, this parser is very sensitive and the website must be fully XHTML compliant for this to work. +* `re`: If you like using regular expressions (regex) + +Note that the size is in provided bytes. + +To achieve this task we provide several helper functions such as `prettyPrinter()`. + +# Understanding The Code +## `prettyPrinter()` helper function +In fact, you don't really need to pay attention to the output syntax because we provide a function for this called `prettyPrinter(dictionary)`. You can import it using the following command: +```python +from novaprinter import prettyPrinter +``` + +You must pass to this function a dictionary containing the following keys (value should be `-1` if you do not have the info): +* `link` => A string corresponding the the download link (the .torrent file or magnet link) +* `name` => A unicode string corresponding to the torrent's name (i.e: "Ubuntu Linux v6.06") +* `size` => A string corresponding to the torrent size (i.e: "6 MB" or "200 KB" or "1.2 GB"...) +* `seeds` => The number of seeds for this torrent (as a string) +* `leech` => The number of leechers for this torrent (a a string) +* `engine_url` => The search engine url (i.e: https://www.mininova.org) +* `desc_link` => A string corresponding to the description page for the torrent +* `pub_date` => A unix timestamp corresponding to published date of the torrent (i.e: 1696870394) + +## `retrieve_url()` helper function +The `retrieve_url()` method takes an URL as parameter and returns the content of the URL as a string.
+This function is useful to get the search results from a Bittorrent search engine site. All you need to do is to pass the properly formatted URL to the function (the URL usually include GET parameters relative to search tokens, category, sorting, page number). + +```python +from helpers import retrieve_url +dat = retrieve_url(self.url + '/search?q=%s&c=%s&o=52&p=%d' % (what, self.supported_categories[cat], i)) +``` + +## `download_file()` helper function +The `download_file()` functions takes as a parameter the URL to a torrent file. This function will download the torrent to a temporary location and print on stdout: +```shell +path_to_temporary_file url +``` + +It prints two values separated by a space: +* The path to the downloaded file (usually in /tmp folder) +* The URL from which the file was downloaded + +Here is an example: +```python +from helpers import retrieve_url, download_file +print download_file(url) +> /tmp/esdzes https://www.mininova.org/get/123456 +``` +# Testing & Finalizing Your Code + +## Code Examples +Do not hesitate to use the official search engine plugins as an example. They are available [here](https://github.com/qbittorrent/search-plugins/tree/master/nova3/engines). +* kickasstorrents.py uses json module +* torrentreactor.py uses HTMLParser module + +## Testing Your Plugin +Before installing your plugin (in Qbittorrent) you can test run the plugin while debugging it. Hence, we advise that you download [these files](https://github.com/qbittorrent/qBittorrent/tree/master/src/searchengine/nova3). + +You will get the following structure: +``` +your_search_engine +-> nova2.py # the main search engine script which calls the plugins +-> nova2dl.py # standalone script called by qBittorrent to download a torrent using a particular search plugin +-> helpers.py # contains helper functions you can use in your plugins such as retrieve_url() and download_file() +-> novaprinter.py # contains some useful functions like prettyPrint(my_dict) to display your search results +-> socks.py # Required by helpers.py. This module provides a standard socket-like interface. +``` + +Put your plugin in `engines/` folder ( %localappdata%\qBittorrent\nova3\engines\ ) and then in CMD execute nova2.py script like this: +```shell +..\nova2.py your_search_engine_name category search_tokens +# e.g.: ..\nova2.py mininova all kubuntu linux +# e.g.: ..\nova2.py btjunkie books ubuntu +``` + +A successful result will output: +``` +DEBUG:root:C:\users\user\appdata\local\qbittorrent\nova3\qbt\qbt +the app will start listing links it finds in the following format: +link|name|size|#seeds|#leechers|engine|page url +``` + +## Install Your Plugin +1. Go to search tab in main window, click on "Search engines..." button. +2. Then, a new window will pop up, containing the list of installed search engine plugins. +3. Click on "Install a new one" at the bottom and select your `*.py` python script on you filesystem.
+If everything goes well, qBittorrent should notify you that it was successfully installed and your plugin should appear in the list. + +## Publish Your Plugin +Once you managed to write a search engine plugin for qBittorrent that works, feel free to post it on [this](https://plugins.qbittorrent.org) wiki page so that the other users can use it too.
+If you are lucky, your plugin may also be included in the [official repository](https://github.com/qbittorrent/search-plugins). + +## Notes +* As a convention, it is advised that you print the results sorted by number of seeds (the most seeds at the top) because these are usually the most interesting torrents. +* Please note that search engines usually display results on several pages. Hence, it is better to parse all these pages to get all results. All official plugins have multipage support. +* Some search engines do not provide all the informations required by `prettyPrinter()`. If it is the case, set `-1` as value for the given key (i.e.: `torrent_info['seeds'] = -1`) +* Plugins packaged in a python are no longer directly installable since qBittorrent v2.0.0. You must provide qBittorrent with the python file. diff --git a/wiki/Install-search-plugins.md b/wiki/Install-search-plugins.md new file mode 100644 index 0000000..f00dac0 --- /dev/null +++ b/wiki/Install-search-plugins.md @@ -0,0 +1,28 @@ +### Steps to install search plugins for qBittorrent version 3.1.10 or more recent + +0. Note that python plugins/scripts are, by its nature, not considered to be safe. Therefore any use of the unofficial plugins is at your own risk. It is a good practice to audit/take a look at the plugin/script before you install. + +1. Go to https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins + 1. Under `Download` column, click on the appropriate `Download` link + 1. Save the `.py` file into a temporary location on your local storage + +1. Using qBittorrent + Using the main window, click on `View` -> `Search Engine` to show search tab + ![screenshot](https://user-images.githubusercontent.com/14078661/51446055-a4431080-1cf3-11e9-8180-1994bdcbb672.png) + 1. Go to the `Search tab` + 1. Click on `Search plugins...` button. Which is located around the bottom right side. + 1. The `Search plugins` window will open. It shows a list of installed search engine plugins. + 1. Click on `Install a new one` button
+ ![screenshot](https://user-images.githubusercontent.com/14078661/51446120-bf625000-1cf4-11e9-98e1-b7e8b771c457.png)) + 1. The `Plugin source` window will open + 1. Click on `Local file` button + 1. Navigate to the `.py` file you downloaded in the step above. Select the `.py` file. + 1. If successful the following message will be display + > search engine plugin was successfully installed. + 1. If not successful the following message will be display + > search engine plugin could not be installed. + 1. Using [this page](https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins) under the `Comment` column, double check that your system meets the minimum requirements for each search plugin. Maybe your present system does not have the requirements. + 1. Click on `Close` button +1. You can delete the `.py` file from your temporary location on your local storage, as it is no longer needed. +1. Optionally, you can use the `Search plugins` window to Enable or Deactivate search plugins, or check for updates. +1. Done. You have successfully installed a new search plugin for qBittorrent. \ No newline at end of file diff --git a/wiki/New-Torznab-search-engine.md b/wiki/New-Torznab-search-engine.md new file mode 100644 index 0000000..1381e02 --- /dev/null +++ b/wiki/New-Torznab-search-engine.md @@ -0,0 +1,61 @@ +This guide will help you to configure the the new qBittorrent search engine. + +## Deprecation notice + +Until version 4.5.0, qBittorrent had a native search engine based on Python. qBittorrent team was in charge of checking the installation of Python and the maintenance of the [search plugins](https://github.com/qbittorrent/search-plugins) for the torrent sites. There were also [unofficial plugins](https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins) maintained by the community. + +Over the time, maintaining this system has become a burden due to the large number of torrent sites and the lack of developers with knowledge of Python. +Since version 4.5.0 the native search engine is replaced with a new search engine that makes calls to [Torznab compatible APIs](https://torznab.github.io/spec-1.3-draft/torznab/Specification-v1.3.html). This implies that the end user has to install additional software to perform searches in qBittorrent. + +## Torznab clients + +[Torznab](https://torznab.github.io/spec-1.3-draft/torznab/Specification-v1.3.html) is an API specification based on the Newznab WebAPI. The API is built around a simple XML/RSS feed with filtering and paging capabilities. + +There are several software compatible with this specification. Its goal is to support as many torrent sites as possible, parse the content and convert the results into Torznab format so it can be consumed by other applications such as qBittorrent. + +These are the most popular applications: +* [Jackett](https://github.com/Jackett/Jackett): **(recommended)**. It supports more than 500 torrent sites and has the biggest user base. +* [Prowlarr](https://github.com/Prowlarr/Prowlarr): It supports the same sites as Jackett but with more modern UI. +* [NZB Hydra](https://github.com/theotherp/nzbhydra2): It includes more features but supports less torrent sites. +* [Cardigann](https://github.com/cardigann/cardigann): Some sites still work, but it is no longer maintained. + +All of them work fine on qBittorrent, but we only provide instructions for Jackett. + +## Jackett installation +[Jackett](https://github.com/Jackett/Jackett) is available for Windows, Linux and macOS. It's also available as Docker container and Linux distribution package. + +You can find the installation instructions [here](https://github.com/Jackett/Jackett#installation-on-windows). It's really recommended to install Jackett as a system service. In this way it will start automatically when you start the computer and it will always be up to date. + +Once Jackett is installed. You can open the Web UI to configure the torrent sites. The Jackett URL is usually http://127.0.0.1:9117 The next step is to set up your favorite torrent sites. Click the "Add indexer" button and follow the instructions. + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_1.png) + +When you're done, use the "Manual search" to check that it works correctly. + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_2.png) + +## qBittorrent search engine + +By default the search engine is disabled. You can enable it in "View => Search engine". + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_3.png) + +Now you will see a new tab where you can search and configure the "Indexers" (torrent sites). + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_4.png) + +You have to add the indexers one by one. The name can be anything. The Toznab URL and API Key are copied from the Jackett Web UI. + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_5.png) + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_6.png) + +The indexers can be disabled and edited with the "right-click menu". + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_7.png) + +You can perform searches in all enabled indexers as usual. + +![](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/docs/qbittorrent_torznab_search_8.png) + +If some indexer is not working as expected (or you don't get results at all) check the qBittorrent and Jackett logs for further details. \ No newline at end of file diff --git a/wiki/Request-unofficial-search-plugin.md b/wiki/Request-unofficial-search-plugin.md new file mode 100644 index 0000000..bdfe934 --- /dev/null +++ b/wiki/Request-unofficial-search-plugin.md @@ -0,0 +1,73 @@ +In qBittorrent there are two kind of search plugins: +* Official: maintained by qBittorrent developers and can be updated through qBittorrent client. You can find them [here](https://github.com/qbittorrent/search-plugins/tree/master/nova3/engines). +* Unofficial: maintained by third parties. You can find them [here](https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins). + +If you know a torrent site that is not in the official/unofficial list, you can code it yourself with the instructions [here](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin) and update the following table. + +**Developers:** You could work on any plugin. It would make the person who made the request very happy. Sites in progress are already being worked on by someone. It is advisable to contact them and offer to help if you want to work on the same site. + +# Requested plugins + +Please keep the list sorted alphabetically by `Site` column + +| Site | In progress? | Plugin repository (Author) | Notes | +| -------------------- | :-----------: | :-------------------------: | ------------------------------ | +| [1tamilmv.com](https://1tamilmv.com) | NO | N/A | fast uploads & good quality indian movies/tv shows, no login required, [rss-feed](https://1tamilmv.com/index.php?/discover/all.xml/) | +| 720pier.ru | NO | N/A | Sport-focused. Fast with new uploads. Requires login | +| [anidex.info](https://github.com/nindogo/qbtSearchScripts/raw/master/anidex.py) | DONE | [Ni Ndogo](https://github.com/nindogo) | | +| [animetosho.org](https://animetosho.org) | DONE | [AlaaBrahim](https://github.com/AlaaBrahim/qBitTorrent-animetosho-search-plugin) | | +| Archive.org | NO | N/A | Jackett already supports archive, use jackett plugin | +| audiobookbay.nl | NO | N/A | | +| beyond-hd.me | NO | N/A | Amazing tracker for good quality movies/tv shows. Private tracker & requires login. | +| bit-titan.net | NO | N/A | good german tracker | +| [bitsearch.to](https://bitsearch.to/) | DONE | [BurningMop](https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/bitsearch.py) | BitSearch is a DHT based torrent search engine. | +| Btdb.eu | NO | N/A | | +| [btdig.com](https://btdig.com/) | DONE | [galaris](https://raw.githubusercontent.com/galaris/BTDigg-qBittorrent-plugin/main/btdig.py) | DHT search engine. Great for torrents that may not be in mainstream sites like TBP, 1337x or (the late) RARBG | +| demonoid.is | NO | N/A | | +| Descargas2020.org | NO | N/A | ~Inglés / Latino / Castellano~ This is no longer working | +| dirtytorrents.com | NO | N/A | ~Torrent search engine from different trackers~ This has been discontinued | +| dontorrent.org | NO | N/A | ~Inglés / Castellano~ moved to tomadivx.net | +| ex-torrenty.org | NO | N/A | | +| extremlymtorrents.ws | NO | N/A | | +| eztv.io | NO | N/A | This is no longer working. Use eztv.it instead. | +| gay-torrents.net | NO | N/A | LGBT Content, requires login | +| GranTorrent.eu | NO | N/A | ~Inglés / Latino / Castellano~ This is no longer working | +| idope.se | NO | N/A |Public, has hard to find stuff | +| limetorrents.info | NO | N/A | | +| mejortorrentt.net | NO | N/A | ~Inglés / Latino / Castellano~ This is no longer working | +| mobilism.org | NO | N/A | requires login | +| MVGROUP.org | NO | N/A | requires login | +| myanonamouse.net | NO | N/A | Requires Login | +| NewPCT (pctmix.com) | NO | N/A | Inglés / Castellano | +| [online-fix](https://online-fix.me) | DONE| [caiocinel](https://raw.githubusercontent.com/caiocinel/onlinefix-qbittorrent-plugin/main/onlinefix.py) | Multiplayer Games, Password-protected Archives, Requires Login | +| openpirate.org | NO | N/A | This is no longer working | +| Partis.si | NO | N/A | Nice Slovenian rep | +| pirateiro.com | NO | N/A | This is no longer working | +| pornleech.ch | NO | N/A | ~good seed count, terrible interface~ This is no longer working | +| rarbg.is | DONE | N/A | Already an official search plugin | +| rutracker.guru | NO | N/A | Easily search for Rutracker torrents without account | +| sharewood.tv | NO | N/A | French torrent | +| sktorrent.eu | NO | N/A | Requires Login | +| sound-park.world | NO | N/A | ~Torrent for music~ This is no longer working | +| speed.cd | NO | N/A | a nice private tracker | +| [tamilblasters.com](https://tamilblasters.com) | NO | N/A | latest movies fast uploads, indian movies/tv shows, login not required, [rss-feed](https://tamilblasters.com/index.php?/discover/all.xml/) | +| thepiratebay.org | NO | N/A | | +| [TheRarBg](https://therarbg.com) | DONE | [BurningMop](https://github.com/BurningMop/qBittorrent-Search-Plugins/blob/main/therarbg.py) | Great torrent indexer, RarBg successor | +| [toloka.to](https://toloka.to) | NO | N/A | The most popular Ukrainian tracker. Have the biggest content library in the Ukrainian language. Requires Login. Behind Cloudflare protection | +| torrent-paradise.ml | NO | N/A | This is no longer working | +| torrentday.com | NO | N/A | have invite | +| torrentdownloads.me | DONE | [BurningMop](https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/torrentdownloads.py) | Huge torrent indexer, moved to https://torrentdownloads.pro | +| torrenthashes.com | NO | N/A | This is no longer working | +| torrentleech.org | DONE | [444995](https://github.com/444995/qbit-search-plugins/blob/main/engines/torrentleech.py) | Great private tracker with a lot of content | +| [torrentmac.net](https://www.torrentmac.net/) | YES | [Golyb-q](https://raw.githubusercontent.com/Golyb-q/qbittorrent-search-plugins/main/torrentmac.py) | It's the best site for finding updated paid versions of software for macOS users, and I swear by it!| +| torrentz.io | NO | N/A | | +| Torrentz2.eu | NO | N/A | This is no longer working | +| tupelihd.com | NO | N/A | ~Inglés / Latino / Castellano~ This is no longer working | +| watchsomuch.org | NO | N/A | Requires Login | +| WorldWide torrents | NO | N/A | This is no longer working | +| xspeeds.eu | NO | N/A | Private Tracker, Requires Login | +| yinyueso.com | NO | N/A | This is no longer working | +| yts.gd | NO | N/A | moved to https://yts.mx/ | +| zamunda.net | YES | N/A | Supper stacked, Requires Login | +| [zetorrents.com](https://www.zetorrents.com/) | NO | [alexandre-eliot](https://raw.githubusercontent.com/alexandre-eliot/zetorrents_qbittorrent_search_plugin/main/zetorrents.py) | French, handles categories and subcategories, multiple pages search and french to english size conversion | +| [zooqle.skin](https://zooqle.skin/) | DONE | [444995](https://github.com/444995/qbit-search-plugins/blob/main/engines/zooqle.py) | Rich resources, very fast updates, and support for multilingual search. | \ No newline at end of file diff --git a/wiki/Unofficial-search-plugins-wiki.git.mediawiki b/wiki/Unofficial-search-plugins-wiki.git.mediawiki new file mode 100644 index 0000000..3b44d81 --- /dev/null +++ b/wiki/Unofficial-search-plugins-wiki.git.mediawiki @@ -0,0 +1,640 @@ +[Skip to content](https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins/_edit#start-of-content) +Navigation Menu +https://github.com/qbittorrent +/ +[search-plugins](https://github.com/qbittorrent/search-plugins) + +Type / to search +[Code](https://github.com/qbittorrent/search-plugins) +Issues +22 +Pull requests +4 +[Discussions](https://github.com/qbittorrent/search-plugins/discussions) +[Actions](https://github.com/qbittorrent/search-plugins/actions) +[Wiki](https://github.com/qbittorrent/search-plugins/wiki) +[Security](https://github.com/qbittorrent/search-plugins/security) +[Insights](https://github.com/qbittorrent/search-plugins/pulse) +Editing Unofficial search plugins + + +Unofficial search plugins +Write +Preview + +Edit mode: +MediaWiki +Here you can find unofficial search engine plugins for qBittorrent that are made available by the community + += Read First = +* Note that python plugins/scripts are, by its nature, not considered to be safe. Therefore any use of the unofficial plugins is at your own risk. It is a good practice to audit/take a look at the plugin/script before you install. +* To install search engine plugins, follow [[Install-search-plugins#steps-to-install-search-plugins-qbittorrent-version-3110-or-more-recent|this tutorial]]. +* To request search plugins not listed in this page, update [[Request-unofficial-search-plugin|this page]]. +* To write your own search plugins, please follow [[How-to-write-a-search-plugin|this tutorial]]. +* If you wrote one, you're welcome to add it to these tables. Please keep the list sorted by Search Engine name. +* '''If you experience issues with any of the plugins posted here, please report to the author directly.''' In case the author is unresponsive, you can try to fix it yourself. Then you can edit this wiki page and update the link to your fixed plugin. +* The plugins shown as ✖ or ❗ will result in the slowdown and malfunction of other plugins as well, hence the use of these plugins is strongly discouraged. + +⚠️ We removed support for Python 2. Please upgrade to Python 3 to continue using the search function. +The minimum supported Python version (across all platforms) is specified at [https://github.com/qbittorrent/qBittorrent/blob/master/INSTALL#L21-L23 here]. + += Plugins for Public Sites = + +{|class="sortable" +|- +! Search Engine +! Author (Repository) +! Version +! Last update +! Download link +! Comments +|- +| [[https://www.google.com/s2/favicons?domain=1337x.to#.png]] [http://1337x.to/ 1337x] +| [https://github.com/sa3dany sa3dany], [https://github.com/Alyetama Alyetama], [https://github.com/BurningMop BurningMop], [https://github.com/scadams scadams] +| 2.2 +| 20/Aug
2023 +| [https://gist.githubusercontent.com/scadams/56635407b8dfb8f5f7ede6873922ac8b/raw/f654c10468a0b9945bec9bf31e216993c9b7a961/one337x.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.x / python 3.6.0 +|- +|[[https://www.google.com/s2/favicons?domain=academictorrents.com#.png]] [https://academictorrents.com/ Academic Torrents] +|[https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +|1.2 +|19/Mar
2023 +|[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/academictorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.5
**READ REPOSITORY NOTES** +|- +|[[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/favicon.png]] [https://acg.rip/ acgrip] +|[https://github.com/Cc050511/qBit-search-plugins Yun] +|1.0 +|24/Apr
2023 +|[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/acgrip.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.5.2 / python 3.10
+|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/ali213.png]] [http://down.ali213.net/ ali213.net] +| [https://github.com/hannsen/qbittorrent_search_plugins/ hannsen] +| 1.00 +| 25/Dec
2017 +| [https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/ali213.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/hannsen/qbittorrent_search_plugins#user-content-ali213net--ali213py [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0
❗ qbt 4.3.0.1 / python 3.9 +|- +| [[https://www.google.com/s2/favicons?domain=anidex.info#.png]] [http://anidex.info/ anidex.info] +| [https://github.com/nindogo Ni Ndogo] +| 0.02 +| 06/Jul
2019 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/anidex.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://github.com/AlaaBrahim/qBitTorrent-animetosho-search-plugin/blob/main/screenshots/animetosho.png]] [http://animetosho.org/ animetosho.org] +| [https://github.com/AlaaBrahim AlaaBrahim] +| 1.0.0 +| 17/Dec
2023 +| [https://raw.githubusercontent.com/AlaaBrahim/qBitTorrent-animetosho-search-plugin/main/animetosho.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.x.x +|- +|[[https://raw.githubusercontent.com/nklido/qBittorrent_search_engines/master/engines/audiobookbay_icon_16x16.png]] [http://audiobookbay.fi AudioBook Bay (ABB) ] +|[https://github.com/nklido/qBittorrent_search_engines nKlido] +|0.0.2 +|21/May
2022 +|[https://raw.githubusercontent.com/nklido/qBittorrent_search_engines/master/engines/audiobookbay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.10
+|- +| [[https://www.google.com/s2/favicons?domain=bitsearch.to#.png]] [https://bitsearch.to/ Bit Search] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 05/Jan
2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/bitsearch.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=bt4gprx.com#.png]] [https://bt4gprx.com/ bt4gprx] +| [https://github.com/TuckerWarlock/qbittorrent-search-plugins TuckerWarlock] +| 2.0 +| 27/Aug
2023 +| [https://raw.githubusercontent.com/TuckerWarlock/qbittorrent-search-plugins/main/bt4gprx.com/bt4gprx.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.10.x
❗ Working when DDOS cloudfare
protection is disabled +|- +| [[https://www.google.com/s2/favicons?domain=btdig.com#.png]] [https://btdig.com/ btdig] +| [https://github.com/galaris/BTDigg-qBittorrent-plugin galaris] +| 1.1 +| 24/Jul
2024 +| [https://raw.githubusercontent.com/galaris/BTDigg-qBittorrent-plugin/main/btdig.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.4 / python 3.9.x +|- +| [[https://github.com/menegop/qbfrench/blob/master/cpasbien.png]] +[http://www.cpasbien.moe Cpasbien] +| [https://github.com/MarcBresson/cpasbien MarcBresson] +| 2.2 +|24/Dec
2023 +| [https://raw.githubusercontent.com/MarcBresson/cpasbien/master/src/cpasbien.py [[https://github.com/MarcBresson/cpasbien/blob/master/assets/Download.gif]]] +| ✔ qbt 4.5.x / python 3.11.x +|- +| [[https://github.com/bugsbringer/qbit-plugins/blob/master/darklibria.png]] [https://dark-libria.it/ dark-libria] +| [https://github.com/bugsbringer/qbit-plugins Bugsbringer] +| 0.10 +| 20/Jun
2020 +| [https://raw.githubusercontent.com/bugsbringer/qbit-plugins/master/darklibria.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/bugsbringer/qbit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://i.imgur.com/2QEr3r0.png]] [https://share.dmhy.org/ DMHY] +| [https://github.com/ZH1637/dmhy ZH] +| 1.0 +| 25/Nov
2023 +| [https://raw.githubusercontent.com/ZH1637/dmhy/main/dmhy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.x / python 3.10.0 +|- +| [[https://i.imgur.com/2QEr3r0.png]] [https://share.dmhy.org/ DMHY] +| [https://github.com/diazchika/dmhy dchika] +| 1.0 +| 8/Jul
2024 +| [https://raw.githubusercontent.com/diazchika/dmhy/main/dmhy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.x / python >= 3.7 +|- +|- +| [[https://github.com/Bioux1/qbtSearchPlugins/blob/main/dodi_repacks.png]] [https://dodi-repacks.site/ DODI Repacks] +| [https://github.com/Bioux1/qbtSearchPlugins Bioux1] +| 1.0 +| 27/Jun
2024 +| [https://raw.githubusercontent.com/Bioux1/qbtSearchPlugins/main/dodi_repacks.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://github.com/dangar16/dontorrent-plugin/blob/main/icono%20dontorrent.png]] [https://dontorrent.cologne/ Dontorrent] +| [https://github.com/dangar16/dontorrent-plugin dangar16] +| 1.0 +| 24/Sep
2024 +| [https://raw.githubusercontent.com/dangar16/dontorrent-plugin/main/dontorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.9.7 +|- +| [[https://github.com/iordic/qbittorrent-search-plugins/raw/master/images/icons/elitetorrent.png]] [https://www.elitetorrent.com/ Elitetorrent] +| [https://github.com/iordic/qbittorrent-search-plugins iordic] +| 1.5 +| 21/Sep
2024 +| [https://raw.githubusercontent.com/iordic/qbittorrent-search-plugins/master/engines/elitetorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.7 / python 3.9.5 +|- +| [[https://github.com/Bioux1/qbtSearchPlugins/blob/main/fitgirl_repacks.jpg]] [https://fitgirl-repacks.site/ FitGirl Repacks] +| [https://github.com/Bioux1/qbtSearchPlugins Bioux1] +| 1.0 +| 27/Jun
2024 +| [https://raw.githubusercontent.com/Bioux1/qbtSearchPlugins/main/fitgirl_repacks.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/glotorrents.png]] [https://glodls.to/ GloTorrents] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.5 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/glotorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.5 / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/kickasstorrents.png]] [https://katcr.to/ Kickass Torrent] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/kickasstorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://www.google.com/s2/favicons?domain=linuxtracker.org#.png]] [http://linuxtracker.org/ Linux Tracker] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.00 +| 12/Apr
2017 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/6074a7cccb90dfd5c81b7eaddd3138adec7f3377/engines/linuxtracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/00e876a51f2cb45ee22071c56fc7ba52dc117721/magnetdl.png]] [http://www.magnetdl.com/ MagnetDL] +| [https://github.com/nindogo/qbtSearchScripts Ni Ndogo] +| 1.3 +| 25/Jul
2018 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/magnetdl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/00e876a51f2cb45ee22071c56fc7ba52dc117721/magnetdl.png]] [http://www.magnetdl.com/ MagnetDL with categories] +| [https://Scare.ca/dl/qBittorrent/ Scare!] +| 2.0 +| 8/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/magnetdl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://www.google.com/s2/favicons?domain=anidex.info#.png]] +[https://maxitorrent.com/ MaxiTorrent] +| [https://github.com/joseeloren/qbittorrent-search-plugins joseeloren] +| 1.25 +| 16/Apr
2021 +| [https://raw.githubusercontent.com/joseeloren/search-plugins/master/nova3/engines/maxitorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.5.0 +|- +| [[https://github.com/iordic/qbittorrent-search-plugins/raw/master/images/icons/mejortorrent.png]] [https://www21.mejortorrent.zip/ MejorTorrent] +| [https://github.com/iordic/qbittorrent-search-plugins iordic] +| 1.0 +| 27/Sep
2024 +| [https://raw.githubusercontent.com/iordic/qbittorrent-search-plugins/master/engines/mejortorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.7 / python 3.9.5 +|- +|[[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/mikan-pic.png]] [https://mikanani.me mikanani] +|[https://github.com/Cc050511/qBit-search-plugins Yun] +|1.2 +|11/Feb
2024 +|[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/mikanani.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.5.2 / python 3.10
+|- +| [[https://www.google.com/s2/favicons?domain=myporn.club#.png]] [https://myporn.club/ My Porn Club] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 26/Dec
2023 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/mypornclub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://raw.githubusercontent.com/4chenz/pantsu-plugin/master/pantsu.png]] [https://nyaa.pantsu.cat/ Nyaa.Pantsu] +| [https://github.com/4chenz/pantsu-plugin/ 4chenz] +| 1.21 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/libellula/qbt-plugins/main/pantsu.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
✖ qbt 4.1.3 (intermittent failure) +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaapantsu.png]] [https://nyaa.pantsu.cat/ Nyaa.pantsu] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.3 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/libellula/qbt-plugins/c81ccd168f3d8e4e8d8492bcef19e1740cc18aa7/nyaapantsu.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://nyaa.si/ Nyaa.si] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.1 +| 01/Mar
2019 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.3.1 / python 3.10.5 +|- +| [[https://github.com/caiocinel/onlinefix-qbittorrent-plugin/raw/main/onlinefix.png]] [https://online-fix.me/ Online-Fix] +| [https://github.com/caiocinel/onlinefix-qbittorrent-plugin caiocinel] +| 1.0 +| 10/Aug
2024 +| [https://raw.githubusercontent.com/caiocinel/onlinefix-qbittorrent-plugin/main/onlinefix.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://pediatorrent.com/images/pelispedia/icon-109x109.png]] [https://pediatorrent.com/ PediaTorrent] +| [https://github.com/dangar16/pediatorrent-plugin dangar16] +| 1.0 +| 24/Sep
2024 +| [https://raw.githubusercontent.com/dangar16/pediatorrent-plugin/refs/heads/main/pediatorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.x +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/pirateiro.png]] [https://pirateiro.com/ Pirateiro] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/pirateiro.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://raw.githubusercontent.com/Larsluph/qbittorrent-search-plugins/prt/nova3/engines/pornrips.png]] [https://pornrips.to/ Pornrips] +| [https://github.com/Larsluph/qbittorrent-search-plugins Larsluph] +| 1.0 +| 20/Oct
2023 +| [https://raw.githubusercontent.com/Larsluph/qbittorrent-search-plugins/prt/nova3/engines/pornrips.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.11.6 +|- +| [[https://www.google.com/s2/favicons?domain=therarbg.com#.png]] [https://therarbg.com/ The RarBg] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.1 +| 13/Jan
2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/therarbg.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://github.com/Pireo/hello-world/blob/master/rockbox.png]] [https://rawkbawx.rocks/ RockBox] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 17/Jun
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/rockbox.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/imDMG/qBt_SE/blob/master/engines/rutor.png]] [http://rutor.info/ Rutor] +| [https://github.com/imDMG/qBt_SE imDMG] +| 1.8 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutor.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md#rutrackerorg [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/smallgames.png]] [http://small-games.info/ small-games.info] +| [https://github.com/hannsen/qbittorrent_search_plugins/ hannsen] +| 1.00 +| 25/Dec
2017 +| [https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/smallgames.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/hannsen/qbittorrent_search_plugins#user-content-small-gamesinfo--smallgamespy [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +|[[https://www.google.com/s2/favicons?domain=snowfl.com#.png]] [https://snowfl.com Snowfl] +|[https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +|1.3 +|28/Jul
2022 +|[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/snowfl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.5
**READ REPOSITORY NOTES** +|- +| [[https://www.google.com/s2/favicons?domain=solidtorrents.to#.png]] [https://solidtorrents.to/ SolidTorrents.to] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 05/Jan
2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/solidtorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=subsplease.org#.png]] [https://subsplease.org/ SubsPlease.org] +| [https://github.com/kli885/qBittorent-SubsPlease-Search-Plugin PlutoMonkey (kli885)] +| 1.0 +| 07/Sep
2024 +| [https://raw.githubusercontent.com/kli885/qBittorent-SubsPlease-Search-Plugin/main/subsplease.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.0 / python 3.8.x +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://sukebei.nyaa.si/ Sukebei (Nyaa)] +| [https://github.com/vt-idiot/qBit-SukebeiNyaa-plugin vt-idiot] +| 1.11 +| 21/Jun
2022 +| [https://github.com/vt-idiot/qBit-SukebeiNyaa-plugin/raw/master/engines/sukebeisi.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.3.1 / python 3.10.5 +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://sukebei.nyaa.si/ Sukebei Nyaa] +| [https://github.com/phuongtailtranminh/qBittorrent-Nyaa-Search-Plugin/ phuongtail
tranminh] +| 1.01 +| 19/May
2017 +| [https://raw.githubusercontent.com/phuongtailtranminh/qBittorrent-Nyaa-Search-Plugin/master/nyaa.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/4chenz/pantsu-plugin/master/pantsu.png]] [https://sukebei.pantsu.cat/ Sukebei.Pantsu] +| [https://github.com/4chenz/pantsu-plugin/ 4chenz] +| 1.21 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/libellula/qbt-plugins/main/sukebei.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
✖ qbt 4.1.3 (intermittent failure) +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/thepiratebay.png]] [https://thepiratebay.org/ ThePirateBay] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 13/Nov
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/thepiratebay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/thepiratebay.png]] [https://thepiratebay.org/ ThePirateBay with categories] +| [https://Scare.ca/dl/qBittorrent Scare!] +| 2.0 +| 1/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/thepiratebay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://raw.githubusercontent.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan/master/tokyotoshokan.png]] [https://tokyotosho.info/index.php Tokyo Toshokan] +| [https://github.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan BrunoReX] +| 2.3 +| 18/Mar
2018 +| [https://raw.githubusercontent.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan/master/tokyotoshokan.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
❌qbt 4.6+ Will break the plugin system. [https://github.com/qbittorrent/search-plugins/issues/274#issuecomment-2312625898 #274] / [https://github.com/qbittorrent/search-plugins/issues/284#issuecomment-2312601684 #284] +|- +| [[https://github.com/menegop/qbfrench/blob/master/torrent9.png]] +[https://www.torrent9.fm Torrent9] +| [https://raw.githubusercontent.com/menegop/qbfrench menegop] +| 2.0 +|01/Jan
2023 +| [https://raw.githubusercontent.com/menegop/qbfrench/master/torrent9.py [[https://github.com/menegop/qbfrench/blob/master/Download.gif]]] +| ✔ qbt 4.3.6 / python 3.8 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/torrentdownload.png]] [https://torrentdownload.info/ TorrentDownload] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/torrentdownload.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/torrentdownload.png]] [https://torrentdownload.info/ TorrentDownload with categories] +| [https://Scare.ca/dl/qBittorrent/ Scare!] +| 2.0 +| 7/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/torrentdownload.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://www.google.com/s2/favicons?domain=torrentdownloads.pro#.png]] [https://torrentdownloads.pro/ Torrent Downloads Pro] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 13/Jan
2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/torrentdownloads.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=torrentgalaxy.to#.png]] [https://torrentgalaxy.to/ TorrentGalaxy] +| [https://github.com/nindogo Ni Ndogo] +| 0.07 +| 5/Jul
2023 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/torrentgalaxy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.6+ / python 3.11.4 +|- +| [[https://www.google.com/s2/favicons?domain=traht.org#.png]] [https://traht.org/ TrahT] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 27/Dec
2023 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/traht.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://github.com/msagca/qbittorrent_plugins/blob/main/uniondht_icon.png]] [http://uniondht.org/ UnionDHT] +| [https://github.com/msagca/qbittorrent_plugins/ msagca] +| 1.1 +| 03/Dec
2021 +| [https://raw.githubusercontent.com/msagca/qbittorrent_plugins/main/uniondht.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=xxxclub.to#.png]] [https://xxxclub.to/ XXXClub] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 26/Dec
2023 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/main/xxxclubto.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=yourbittorrent.com#.png]] [https://yourbittorrent.com/ YourBittorrent] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 17/Jun
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/yourbittorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +|[[https://github.com/Pireo/hello-world/blob/master/yts.png]] [http://yts.mx/ YTS.MX] +|[https://github.com/khensolomon/leyts Lethil] +|3.2 +|2/Nov
2018 +|[https://raw.githubusercontent.com/khensolomon/leyts/master/yts.py +[[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]]] +|✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://github.com/Pireo/hello-world/blob/master/yts.png]] [http://yts.mx/ YTS.MX] +| [https://github.com/kaisomir/qbit-plugins kaisomir] +| 1.2 +| 07/Jan
2024 +| [https://raw.githubusercontent.com/kaisomir/qbit-plugins/main/yts_mx/yts_mx.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]]] +| ✔ qbt 4.6.2 / python 3.12.0 +|- +| 🔍 +[https://github.com/YGGverse/YGGtracker YGGtracker] +| [https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin YGGverse] +| 1.1.0 +| 19/Oct
2023 +| [https://raw.githubusercontent.com/YGGverse/qbittorrent-yggtracker-search-plugin/main/yggtracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.1 / v5.0.0alpha1 / python 3.11.4
Requires [https://github.com/yggdrasil-network/ Yggdrasil] connection +|- +| [[https://i.imgur.com/EiYFI5M.png]] [https://zooqle.skin/ Zooqle] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.10 +| 07/Aug
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/zooqle.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +|} + + += Plugins for Private Sites = +* The plugin/script may require editing before you can use it. +* Those sites may require registration and require adding your credentials to the plugin/script. + +{| +|- +! Search Engine +! Author (Repository) +! Version +! Last update +! Download link +! Comments +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/bakabt.png]] [https://bakabt.me BakaBT] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.30 +| 13/Apr
2017 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/bakabt.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/MadeOfMagicAndWires/qBit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.3.x / python 3.9.x +|- +| [[https://i.imgur.com/ien7TCt.png]] [https://danishbytes.club DanishBytes] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.40 +| 22/Jul
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/danishbytes.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +| [[https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/blob/master/filelist.png]] [https://filelist.io FileList] +| [https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin victor] +| 1.10 +| 07/Sep
2023 +| [https://raw.githubusercontent.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/master/filelist.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.8.x +|- +| [[https://github.com/Ooggle/qbittorrent-search-plugins/raw/master/engines/gazellegames.png]] [https://gazellegames.net GazelleGames] +| [https://github.com/Ooggle/qbittorrent-search-plugins Ooggle] +| 1.30 +| 07/Oct
2022 +| [https://raw.githubusercontent.com/Ooggle/qbittorrent-search-plugins/master/engines/gazellegames.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/Ooggle/qbittorrent-search-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.4.x / python 3.9+ +|- +| [[https://github.com/txtsd/qB-IPT/raw/master/iptorrents.png]] [https://iptorrents.com IPTorrents] +| [https://github.com/txtsd/qB-IPT txtsd (qB-IPT)] +| 1.01 +| 22/Oct
2019 +| [https://raw.githubusercontent.com/txtsd/qB-IPT/master/iptorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/txtsd/qB-IPT/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/kinozal.png]] [http://kinozal.tv/ Kinozal] +| [https://github.com/imDMG/qBt_SE imDMG] +| 2.12 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/kinozal.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://github.com/bugsbringer/qbit-plugins/blob/master/lostfilm.png]] [https://www.lostfilm.tv/ LostFilm.TV] +| [https://github.com/bugsbringer/qbit-plugins Bugsbringer] +| 0.14 +| 13/Jun
2020 +| [https://raw.githubusercontent.com/bugsbringer/qbit-plugins/master/lostfilm.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/bugsbringer/qbit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/darktohka/qbittorrent-plugins/master/resources/ncore.png]] [https://ncore.pro/ nCore] +| [https://github.com/darktohka/qbittorrent-plugins darktohka] +| 1.3 +| 16/Feb
2021 +| [https://raw.githubusercontent.com/darktohka/qbittorrent-plugins/master/ncore.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/darktohka/qbittorrent-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.6+ +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/nnmclub.png]] [https://nnm-club.me/ NoNaMe-Club] +| [https://github.com/imDMG/qBt_SE imDMG] +| 2.12 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/nnmclub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://raw.githubusercontent.com/TainakaDrums/qbPornolab/master/pornolab.png]] [https://pornolab.net/ Pornolab] +| [https://github.com/TainakaDrums/qbPornolab TainakaDrums] +| 1.0 +| 09/Mar
2021 +| [https://raw.githubusercontent.com/TainakaDrums/qbPornolab/master/pornolab.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/TainakaDrums/qbPornolab/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://i.imgur.com/28j2OFz.png]] [https://redacted.ch Redacted] +| [https://github.com/evyd13/search-plugins Evyd13] +| 1.00 +| 10/Oct
2021 +| [https://raw.githubusercontent.com/evyd13/search-plugins/master/nova3/engines/redacted_ch.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.10.x +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutracker.png]] [https://rutracker.org/ RuTracker] +| [https://github.com/imDMG/qBt_SE imDMG] +| 1.9 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://github.com/libellula/Official-search-engines-plugins-favicons/blob/bf2aaabe07ba94b993282d8dd888674469f2ab1e/favicon-16x16.png]] [https://rutracker.org/ RuTracker] +| [https://github.com/nbusseneau/qBittorrent-rutracker-plugin nbusseneau] +| 2.1.9 +| 11/Oct
2023 +| [https://raw.githubusercontent.com/nbusseneau/qBittorrent-rutracker-plugin/master/rutracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/nbusseneau/qBittorrent-rutracker-plugin/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.10.x
+|- +| [[https://i.imgur.com/M5UA6tt.png]] [https://www.torrentleech.org/ TorrentLeech] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.00 +| 06/Aug
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/torrentleech.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +| [[https://raw.githubusercontent.com/swannie-eire/prowlarr-qbittorrent-plugins/main/prowlarr-logo-lq.png]] [https://github.com/Prowlarr/Prowlarr Prowlarr] +| [https://github.com/swannie-eire/prowlarr-qbittorrent-plugins swannie-eire] +| 1.0 +| 17/Dec
2021 +| [https://raw.githubusercontent.com/swannie-eire/prowlarr-qbittorrent-plugins/main/prowlarr.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/swannie-eire/prowlarr-qbittorrent-plugins [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.3.x / python 3.+ +|- + +|- +| [[https://www.google.com/s2/favicons?domain=speedapp.io#.png]] [https://speedapp.io SpeedApp.IO] +| [https://github.com/miIiano/SpeedApp.io-qBittorent-search-plugin miIiano] +| 1.1 +| 11/Aug
2023 +| [https://raw.githubusercontent.com/miIiano/SpeedApp.io-qBittorent-search-plugin/main/speedapp.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/miIiano/SpeedApp.io-qBittorent-search-plugin [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.+ +|- + +|- +| [[https://www.google.com/s2/favicons?domain=unionfansub.com#.png]] [https://torrent.unionfansub.com/ UnionFansub] +| [https://gitlab.com/CrimsonKoba/qb-search-plugin CrimsonKoba] +| 1.2 +| 05/Jan
2024 +| [https://gitlab.com/CrimsonKoba/qb-search-plugin/-/raw/master/unionfansub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://gitlab.com/CrimsonKoba/qb-search-plugin [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.+ +|- + +| [[https://raw.githubusercontent.com/CravateRouge/qBittorrentSearchPlugins/master/yggtorrent.png]] [https://yggtorrent.fi/ YggTorrent] +| [https://github.com/CravateRouge/qBittorrentSearchPlugins CravateRouge] +| 1.0 +| 25/Nov
2019 +| [https://raw.githubusercontent.com/CravateRouge/qBittorrentSearchPlugins/master/yggtorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/CravateRouge/qBittorrentSearchPlugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ❗ Working when DDOS cloudfare
protection is disabled +|} +No file chosen +Attach files by dragging & dropping, selecting or pasting them. +Edit message +Write a small message here explaining this change. (Optional) +Footer +© 2024 GitHub, Inc. +Footer navigation +[Terms](https://docs.github.com/site-policy/github-terms/github-terms-of-service) +[Privacy](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement) +[Security](https://github.com/security) +[Status](https://www.githubstatus.com/) +[Docs](https://docs.github.com/) +[Contact](https://support.github.com/?tags=dotcom-footer) +Manage cookies +Do not share my personal information +Editing Unofficial search plugins · qbittorrent/search-plugins Wiki \ No newline at end of file diff --git a/wiki/Unofficial-search-plugins.mediawiki b/wiki/Unofficial-search-plugins.mediawiki new file mode 100644 index 0000000..4bae726 --- /dev/null +++ b/wiki/Unofficial-search-plugins.mediawiki @@ -0,0 +1,655 @@ +Here you can find unofficial search engine plugins for qBittorrent that are made available by the community + += Read First = +* Note that python plugins/scripts are, by its nature, not considered to be safe. Therefore any use of the unofficial plugins is at your own risk. It is a good practice to audit/take a look at the plugin/script before you install. +* To install search engine plugins, follow [[Install-search-plugins#steps-to-install-search-plugins-qbittorrent-version-3110-or-more-recent|this tutorial]]. +* To request search plugins not listed in this page, update [[Request-unofficial-search-plugin|this page]]. +* To write your own search plugins, please follow [[How-to-write-a-search-plugin|this tutorial]]. +* If you wrote one, you're welcome to add it to these tables. Please keep the list sorted by Search Engine name. +* '''If you experience issues with any of the plugins posted here, please report to the author directly.''' In case the author is unresponsive, you can try to fix it yourself. Then you can edit this wiki page and update the link to your fixed plugin. +* The plugins shown as ✖ or ❗ will result in the slowdown and malfunction of other plugins as well, hence the use of these plugins is strongly discouraged. + +⚠️ We removed support for Python 2. Please upgrade to Python 3 to continue using the search function. +The minimum supported Python version (across all platforms) is specified at [https://github.com/qbittorrent/qBittorrent/blob/master/INSTALL#L21-L23 here]. + += Plugins for Public Sites = + +{|class="sortable" +|- +! Search Engine +! Author (Repository) +! Version +! Last update +! Download link +! Comments +|- +| [[https://www.google.com/s2/favicons?domain=1337x.to#.png]] [http://1337x.to/ 1337x] +| [https://github.com/sa3dany sa3dany], [https://github.com/Alyetama Alyetama], [https://github.com/BurningMop BurningMop], [https://github.com/scadams scadams] +| 2.2 +| 20/Aug
2023 +| [https://gist.githubusercontent.com/scadams/56635407b8dfb8f5f7ede6873922ac8b/raw/f654c10468a0b9945bec9bf31e216993c9b7a961/one337x.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.x / python 3.6.0 +|- +|[[https://www.google.com/s2/favicons?domain=academictorrents.com#.png]] [https://academictorrents.com/ Academic Torrents] +|[https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +|1.2 +|19/Mar
2023 +|[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/academictorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.5
**READ REPOSITORY NOTES** +|- +|[[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/favicon.png]] [https://acg.rip/ acgrip] +|[https://github.com/Cc050511/qBit-search-plugins Yun] +|1.0 +|24/Apr
2023 +|[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/acgrip.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.5.2 / python 3.10
+|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/ali213.png]] [http://down.ali213.net/ ali213.net] +| [https://github.com/hannsen/qbittorrent_search_plugins/ hannsen] +| 1.00 +| 25/Dec
2017 +| [https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/ali213.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/hannsen/qbittorrent_search_plugins#user-content-ali213net--ali213py [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0
❗ qbt 4.3.0.1 / python 3.9 +|- +| [[https://www.google.com/s2/favicons?domain=anidex.info#.png]] [http://anidex.info/ anidex.info] +| [https://github.com/nindogo Ni Ndogo] +| 0.02 +| 06/Jul
2019 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/anidex.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://github.com/AlaaBrahim/qBitTorrent-animetosho-search-plugin/blob/main/screenshots/animetosho.png]] [http://animetosho.org/ animetosho.org] +| [https://github.com/AlaaBrahim AlaaBrahim] +| 1.1.0 +| 14/Nov
2024 +| [https://raw.githubusercontent.com/AlaaBrahim/qBitTorrent-animetosho-search-plugin/main/animetosho.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.x.x +|- +|[[https://raw.githubusercontent.com/nklido/qBittorrent_search_engines/master/engines/audiobookbay_icon_16x16.png]] [http://audiobookbay.fi AudioBook Bay (ABB) ] +|[https://github.com/nklido/qBittorrent_search_engines nKlido] +|0.0.2 +|21/May
2022 +|[https://raw.githubusercontent.com/nklido/qBittorrent_search_engines/master/engines/audiobookbay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.10
+|- +| [[https://www.google.com/s2/favicons?domain=bitsearch.to#.png]] [https://bitsearch.to/ Bit Search] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.1 +| 13/Apr/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/bitsearch.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=bt4gprx.com#.png]] [https://bt4gprx.com/ bt4gprx] +| [https://github.com/TuckerWarlock/qbittorrent-search-plugins TuckerWarlock] +| 2.0 +| 27/Aug
2023 +| [https://raw.githubusercontent.com/TuckerWarlock/qbittorrent-search-plugins/main/bt4gprx.com/bt4gprx.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.10.x
❗ Working when DDOS cloudfare
protection is disabled +|- +| [[https://www.google.com/s2/favicons?domain=btdig.com#.png]] [https://btdig.com/ btdig] +| [https://github.com/galaris/BTDigg-qBittorrent-plugin galaris] +| 1.1 +| 24/Jul
2024 +| [https://raw.githubusercontent.com/galaris/BTDigg-qBittorrent-plugin/main/btdig.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.4 / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=calidadtorrent.com#.png]] [https://calidadtorrent.com/ CalidadTorrent] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 24/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/calidadtorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://github.com/menegop/qbfrench/blob/master/cpasbien.png]] +[http://www.cpasbien.moe Cpasbien] +| [https://github.com/MarcBresson/cpasbien MarcBresson] +| 2.2 +|24/Dec
2023 +| [https://raw.githubusercontent.com/MarcBresson/cpasbien/master/src/cpasbien.py [[https://github.com/MarcBresson/cpasbien/blob/master/assets/Download.gif]]] +| ✔ qbt 4.5.x / python 3.11.x +|- +| [[https://github.com/bugsbringer/qbit-plugins/blob/master/darklibria.png]] [https://dark-libria.it/ dark-libria] +| [https://github.com/bugsbringer/qbit-plugins Bugsbringer] +| 0.10 +| 20/Jun
2020 +| [https://raw.githubusercontent.com/bugsbringer/qbit-plugins/master/darklibria.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/bugsbringer/qbit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://www.google.com/s2/favicons?domain=divxtotal.wtf#.png]] [https://divxtotal.wtf/ divxtotal] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 07/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/divxtotal.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- + +| [[https://i.imgur.com/2QEr3r0.png]] [https://share.dmhy.org/ DMHY] +| [https://github.com/ZH1637/dmhy ZH] +| 1.0 +| 25/Nov
2023 +| [https://raw.githubusercontent.com/ZH1637/dmhy/main/dmhy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.x / python 3.10.0 +|- +| [[https://i.imgur.com/2QEr3r0.png]] [https://share.dmhy.org/ DMHY] +| [https://github.com/diazchika/dmhy dchika] +| 1.0 +| 8/Jul
2024 +| [https://raw.githubusercontent.com/diazchika/dmhy/main/dmhy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.x / python >= 3.7 +|- +|- +| [[https://github.com/Bioux1/qbtSearchPlugins/blob/main/dodi_repacks.png]] [https://dodi-repacks.site/ DODI Repacks] +| [https://github.com/Bioux1/qbtSearchPlugins Bioux1] +| 1.0 +| 27/Jun
2024 +| [https://raw.githubusercontent.com/Bioux1/qbtSearchPlugins/main/dodi_repacks.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://github.com/dangar16/dontorrent-plugin/blob/main/icono%20dontorrent.png]] [https://dontorrent.cologne/ Dontorrent] +| [https://github.com/dangar16/dontorrent-plugin dangar16] +| 1.0 +| 24/Sep
2024 +| [https://raw.githubusercontent.com/dangar16/dontorrent-plugin/main/dontorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.9.7 +|- +| [[https://www.google.com/s2/favicons?domain=dontorrent.equipment#.png]] [https://dontorrent.equipment/ dontorrent] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 07/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/dontorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://github.com/iordic/qbittorrent-search-plugins/raw/master/images/icons/elitetorrent.png]] [https://www.elitetorrent.com/ Elitetorrent] +| [https://github.com/iordic/qbittorrent-search-plugins iordic] +| 1.5 +| 21/Sep
2024 +| [https://raw.githubusercontent.com/iordic/qbittorrent-search-plugins/master/engines/elitetorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.7 / python 3.9.5 +|- +| [[https://www.google.com/s2/favicons?domain=esmeraldatorrent.com#.png]] [https://esmeraldatorrent.com/ esmeraldatorrent] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 07/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/esmeraldatorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://github.com/Bioux1/qbtSearchPlugins/blob/main/fitgirl_repacks.jpg]] [https://fitgirl-repacks.site/ FitGirl Repacks] +| [https://github.com/Bioux1/qbtSearchPlugins Bioux1] +| 1.0 +| 27/Jun
2024 +| [https://raw.githubusercontent.com/Bioux1/qbtSearchPlugins/main/fitgirl_repacks.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/glotorrents.png]] [https://glodls.to/ GloTorrents] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.5 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/glotorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.5 / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/kickasstorrents.png]] [https://katcr.to/ Kickass Torrent] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/kickasstorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://www.google.com/s2/favicons?domain=linuxtracker.org#.png]] [http://linuxtracker.org/ Linux Tracker] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.00 +| 12/Apr
2017 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/6074a7cccb90dfd5c81b7eaddd3138adec7f3377/engines/linuxtracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/00e876a51f2cb45ee22071c56fc7ba52dc117721/magnetdl.png]] [http://www.magnetdl.com/ MagnetDL] +| [https://github.com/nindogo/qbtSearchScripts Ni Ndogo] +| 1.3 +| 25/Jul
2018 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/magnetdl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/00e876a51f2cb45ee22071c56fc7ba52dc117721/magnetdl.png]] [http://www.magnetdl.com/ MagnetDL with categories] +| [https://Scare.ca/dl/qBittorrent/ Scare!] +| 2.0 +| 8/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/magnetdl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://www.google.com/s2/favicons?domain=anidex.info#.png]] +[https://maxitorrent.com/ MaxiTorrent] +| [https://github.com/joseeloren/qbittorrent-search-plugins joseeloren] +| 1.25 +| 16/Apr
2021 +| [https://raw.githubusercontent.com/joseeloren/search-plugins/master/nova3/engines/maxitorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.5.0 +|- +| [[https://github.com/iordic/qbittorrent-search-plugins/raw/master/images/icons/mejortorrent.png]] [https://www21.mejortorrent.zip/ MejorTorrent] +| [https://github.com/iordic/qbittorrent-search-plugins iordic] +| 1.0 +| 27/Sep
2024 +| [https://raw.githubusercontent.com/iordic/qbittorrent-search-plugins/master/engines/mejortorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.7 / python 3.9.5 +|- +|[[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/mikan-pic.png]] [https://mikanani.me mikanani] +|[https://github.com/Cc050511/qBit-search-plugins Yun] +|1.2 +|11/Feb
2024 +|[https://raw.githubusercontent.com/Cc050511/qBit-search-plugins/main/mikanani.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.5.2 / python 3.10
+|- +| [[https://www.google.com/s2/favicons?domain=myporn.club#.png]] [https://myporn.club/ My Porn Club] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.1 +| 09/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/mypornclub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=naranjatorrent.com#.png]] [https://naranjatorrent.com/ naranjatorrent] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 07/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/naranjatorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://raw.githubusercontent.com/4chenz/pantsu-plugin/master/pantsu.png]] [https://nyaa.pantsu.cat/ Nyaa.Pantsu] +| [https://github.com/4chenz/pantsu-plugin/ 4chenz] +| 1.21 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/libellula/qbt-plugins/main/pantsu.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
✖ qbt 4.1.3 (intermittent failure) +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaapantsu.png]] [https://nyaa.pantsu.cat/ Nyaa.pantsu] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.3 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/refs/heads/main/engines/nyaapantsu.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://nyaa.si/ Nyaa.si] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.1 +| 01/Mar
2019 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.3.1 / python 3.10.5 +|- +| [[https://github.com/caiocinel/onlinefix-qbittorrent-plugin/raw/main/onlinefix.png]] [https://online-fix.me/ Online-Fix] +| [https://github.com/caiocinel/onlinefix-qbittorrent-plugin caiocinel] +| 1.0 +| 10/Aug
2024 +| [https://raw.githubusercontent.com/caiocinel/onlinefix-qbittorrent-plugin/main/onlinefix.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.12.4 +|- +| [[https://pediatorrent.com/images/pelispedia/icon-109x109.png]] [https://pediatorrent.com/ PediaTorrent] +| [https://github.com/dangar16/pediatorrent-plugin dangar16] +| 1.0 +| 24/Sep
2024 +| [https://raw.githubusercontent.com/dangar16/pediatorrent-plugin/refs/heads/main/pediatorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
+| ✔ qbt 4.6.5 / python 3.x +|- +| [[https://www.google.com/s2/favicons?domain=pediatorrent.com#.png]] [https://pediatorrent.com/ PediaTorrent] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 24/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/pediatorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/pirateiro.png]] [https://pirateiro.com/ Pirateiro] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/pirateiro.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://raw.githubusercontent.com/Larsluph/qbittorrent-search-plugins/prt/nova3/engines/pornrips.png]] [https://pornrips.to/ Pornrips] +| [https://github.com/Larsluph/qbittorrent-search-plugins Larsluph] +| 1.0 +| 20/Oct
2023 +| [https://raw.githubusercontent.com/Larsluph/qbittorrent-search-plugins/prt/nova3/engines/pornrips.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.x / python 3.11.6 +|- +| [[https://github.com/Pireo/hello-world/blob/master/rockbox.png]] [https://rawkbawx.rocks/ RockBox] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 17/Jun
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/rockbox.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/imDMG/qBt_SE/blob/master/engines/rutor.png]] [http://rutor.info/ Rutor] +| [https://github.com/imDMG/qBt_SE imDMG] +| 1.8 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutor.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md#rutrackerorg [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/smallgames.png]] [http://small-games.info/ small-games.info] +| [https://github.com/hannsen/qbittorrent_search_plugins/ hannsen] +| 1.00 +| 25/Dec
2017 +| [https://raw.githubusercontent.com/hannsen/qbittorrent_search_plugins/master/smallgames.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/hannsen/qbittorrent_search_plugins#user-content-small-gamesinfo--smallgamespy [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +|[[https://www.google.com/s2/favicons?domain=snowfl.com#.png]] [https://snowfl.com Snowfl] +|[https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +|1.3 +|28/Jul
2022 +|[https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/snowfl.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +|✔ qbt 4.3.x / python 3.8.5
**READ REPOSITORY NOTES** +|- +| [[https://www.google.com/s2/favicons?domain=solidtorrents.to#.png]] [https://solidtorrents.to/ SolidTorrents.to] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 05/Jan/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/solidtorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=subsplease.org#.png]] [https://subsplease.org/ SubsPlease.org] +| [https://github.com/kli885/qBittorent-SubsPlease-Search-Plugin PlutoMonkey (kli885)] +| 1.0 +| 07/Sep
2024 +| [https://raw.githubusercontent.com/kli885/qBittorent-SubsPlease-Search-Plugin/main/subsplease.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.0 / python 3.8.x +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://sukebei.nyaa.si/ Sukebei (Nyaa)] +| [https://github.com/vt-idiot/qBit-SukebeiNyaa-plugin vt-idiot] +| 1.11 +| 21/Jun
2022 +| [https://github.com/vt-idiot/qBit-SukebeiNyaa-plugin/raw/master/engines/sukebeisi.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.3.1 / python 3.10.5 +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/nyaasi.png]] [https://sukebei.nyaa.si/ Sukebei Nyaa] +| [https://github.com/phuongtailtranminh/qBittorrent-Nyaa-Search-Plugin/ phuongtail
tranminh] +| 1.01 +| 19/May
2017 +| [https://raw.githubusercontent.com/phuongtailtranminh/qBittorrent-Nyaa-Search-Plugin/master/nyaa.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/4chenz/pantsu-plugin/master/pantsu.png]] [https://sukebei.pantsu.cat/ Sukebei.Pantsu] +| [https://github.com/4chenz/pantsu-plugin/ 4chenz] +| 1.21 +| 02/Jan
2021 +| [https://raw.githubusercontent.com/libellula/qbt-plugins/main/sukebei.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
✖ qbt 4.1.3 (intermittent failure) +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/thepiratebay.png]] [https://thepiratebay.org/ ThePirateBay] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 13/Nov
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/thepiratebay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/thepiratebay.png]] [https://thepiratebay.org/ ThePirateBay with categories] +| [https://Scare.ca/dl/qBittorrent Scare!] +| 2.0 +| 1/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/thepiratebay.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://www.google.com/s2/favicons?domain=therarbg.com#.png]] [https://therarbg.com/ The RarBg] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.3 +| 20/Oct/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/therarbg.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=tomadivx.net#.png]] [https://tomadivx.net/ TomaDivx] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.1 +| 07/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/tomadivx.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://raw.githubusercontent.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan/master/tokyotoshokan.png]] [https://tokyotosho.info/index.php Tokyo Toshokan] +| [https://github.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan BrunoReX] +| 2.3 +| 18/Mar
2018 +| [https://raw.githubusercontent.com/BrunoReX/qBittorrent-Search-Plugin-TokyoToshokan/master/tokyotoshokan.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.0.x / python 3.5.0
❌qbt 4.6+ Will break the plugin system. [https://github.com/qbittorrent/search-plugins/issues/274#issuecomment-2312625898 #274] / [https://github.com/qbittorrent/search-plugins/issues/284#issuecomment-2312601684 #284] +|- +| [[https://github.com/menegop/qbfrench/blob/master/torrent9.png]] +[https://www.torrent9.fm Torrent9] +| [https://raw.githubusercontent.com/menegop/qbfrench menegop] +| 2.0 +|01/Jan
2023 +| [https://raw.githubusercontent.com/menegop/qbfrench/master/torrent9.py [[https://github.com/menegop/qbfrench/blob/master/Download.gif]]] +| ✔ qbt 4.3.6 / python 3.8 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/torrentdownload.png]] [https://torrentdownload.info/ TorrentDownload] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 28/Jul
2022 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/torrentdownload.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +| [[https://github.com/LightDestory/qBittorrent-Search-Plugins/raw/master/src/engines/torrentdownload.png]] [https://torrentdownload.info/ TorrentDownload with categories] +| [https://Scare.ca/dl/qBittorrent/ Scare!] +| 2.0 +| 7/Sep
2022 +| [https://Scare.ca/dl/qBittorrent/torrentdownload.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.4.4 / python 3.8.10 +|- +| [[https://www.google.com/s2/favicons?domain=torrentdownloads.pro#.png]] [https://torrentdownloads.pro/ Torrent Downloads Pro] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.1 +| 20/Oct/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/torrentdownloads.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=torrenflix.com#.png]] [https://torrenflix.com/ Torrenflix] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 23/Nov/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/torrenflix.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=torrentgalaxy.to#.png]] [https://torrentgalaxy.to/ TorrentGalaxy] +| [https://github.com/nindogo Ni Ndogo] +| 0.08 +| 9/Nov
2024 +| [https://raw.githubusercontent.com/nindogo/qbtSearchScripts/master/torrentgalaxy.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.1.6+ / python 3.11.4 +|- +| [[https://www.google.com/s2/favicons?domain=traht.org#.png]] [https://traht.org/ TrahT] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.0 +| 27/Dec/2023 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/traht.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.6.x / python 3.9.x +|- +| [[https://github.com/msagca/qbittorrent-plugins/blob/main/uniondht_icon.png]] [http://uniondht.org/ UnionDHT] +| [https://github.com/msagca/qbittorrent-plugins/ msagca] +| 1.2 +| 09/Oct
2024 +| [https://raw.githubusercontent.com/msagca/qbittorrent-plugins/main/uniondht.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0 / python 3.12 +|- +| [[https://www.google.com/s2/favicons?domain=xxxclub.to#.png]] [https://xxxclub.to/ XXXClub] +| [https://github.com/BurningMop/qBittorrent-Search-Plugins BurningMop] +| 1.3 +| 29/Oct/2024 +| [https://raw.githubusercontent.com/BurningMop/qBittorrent-Search-Plugins/refs/heads/main/xxxclubto.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 5.0.x / python 3.9.x +|- +| [[https://www.google.com/s2/favicons?domain=yourbittorrent.com#.png]] [https://yourbittorrent.com/ YourBittorrent] +| [https://github.com/LightDestory/qBittorrent-Search-Plugins LightDestory] +| 1.0 +| 17/Jun
2021 +| [https://raw.githubusercontent.com/LightDestory/qBittorrent-Search-Plugins/master/src/engines/yourbittorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.8.5 +|- +|[[https://github.com/Pireo/hello-world/blob/master/yts.png]] [http://yts.mx/ YTS.MX] +|[https://github.com/khensolomon/leyts Lethil] +|3.2 +|2/Nov
2018 +|[https://raw.githubusercontent.com/khensolomon/leyts/master/yts.py +[[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]]] +|✔ qbt 4.0.x / python 3.5.0 +|- +| [[https://github.com/Pireo/hello-world/blob/master/yts.png]] [http://yts.mx/ YTS.MX] +| [https://github.com/lazulyra/qbit-plugins lazulyra] +| 1.2 +| 07/Jan
2024 +| [https://raw.githubusercontent.com/lazulyra/qbit-plugins/main/yts_mx/yts_mx.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]]] +| ✔ qbt 4.6.2 / python 3.12.0 +|- +| 🔍 +[https://github.com/YGGverse/YGGtracker YGGtracker] +| [https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin YGGverse] +| 1.1.0 +| 19/Oct
2023 +| [https://raw.githubusercontent.com/YGGverse/qbittorrent-yggtracker-search-plugin/main/yggtracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.5.1 / v5.0.0alpha1 / python 3.11.4
Requires [https://github.com/yggdrasil-network/ Yggdrasil] connection +|- +| [[https://i.imgur.com/EiYFI5M.png]] [https://zooqle.skin/ Zooqle] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.10 +| 07/Aug
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/zooqle.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +|} + + += Plugins for Private Sites = +* The plugin/script may require editing before you can use it. +* Those sites may require registration and require adding your credentials to the plugin/script. + +{| +|- +! Search Engine +! Author (Repository) +! Version +! Last update +! Download link +! Comments +|- +| [[https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/bakabt.png]] [https://bakabt.me BakaBT] +| [https://github.com/MadeOfMagicAndWires/qBit-plugins Made Of Magic
And Wires] +| 1.30 +| 13/Apr
2017 +| [https://raw.githubusercontent.com/MadeOfMagicAndWires/qBit-plugins/master/engines/bakabt.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/MadeOfMagicAndWires/qBit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.3.x / python 3.9.x +|- +| [[https://i.imgur.com/ien7TCt.png]] [https://danishbytes.club DanishBytes] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.50 +| 22/Jul
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/danishbytes.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +| [[https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/blob/master/filelist.png]] [https://filelist.io FileList] +| [https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin victor] +| 1.10 +| 07/Sep
2023 +| [https://raw.githubusercontent.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/master/filelist.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/victorBuzdugan/QbittorrentFilelistSearchPlugin/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.8.x +|- +| [[https://github.com/Ooggle/qbittorrent-search-plugins/raw/master/engines/gazellegames.png]] [https://gazellegames.net GazelleGames] +| [https://github.com/Ooggle/qbittorrent-search-plugins Ooggle] +| 1.30 +| 07/Oct
2022 +| [https://raw.githubusercontent.com/Ooggle/qbittorrent-search-plugins/master/engines/gazellegames.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/Ooggle/qbittorrent-search-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.4.x / python 3.9+ +|- +| [[https://github.com/txtsd/qB-IPT/raw/master/iptorrents.png]] [https://iptorrents.com IPTorrents] +| [https://github.com/txtsd/qB-IPT txtsd (qB-IPT)] +| 1.01 +| 22/Oct
2019 +| [https://raw.githubusercontent.com/txtsd/qB-IPT/master/iptorrents.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/txtsd/qB-IPT/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/kinozal.png]] [http://kinozal.tv/ Kinozal] +| [https://github.com/imDMG/qBt_SE imDMG] +| 2.12 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/kinozal.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://github.com/bugsbringer/qbit-plugins/blob/master/lostfilm.png]] [https://www.lostfilm.tv/ LostFilm.TV] +| [https://github.com/bugsbringer/qbit-plugins Bugsbringer] +| 0.14 +| 13/Jun
2020 +| [https://raw.githubusercontent.com/bugsbringer/qbit-plugins/master/lostfilm.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/bugsbringer/qbit-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://raw.githubusercontent.com/darktohka/qbittorrent-plugins/master/resources/ncore.png]] [https://ncore.pro/ nCore] +| [https://github.com/darktohka/qbittorrent-plugins darktohka] +| 1.3 +| 16/Feb
2021 +| [https://raw.githubusercontent.com/darktohka/qbittorrent-plugins/master/ncore.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/darktohka/qbittorrent-plugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.1.x / python 3.6+ +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/nnmclub.png]] [https://nnm-club.me/ NoNaMe-Club] +| [https://github.com/imDMG/qBt_SE imDMG] +| 2.12 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/nnmclub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://raw.githubusercontent.com/TainakaDrums/qbPornolab/master/pornolab.png]] [https://pornolab.net/ Pornolab] +| [https://github.com/TainakaDrums/qbPornolab TainakaDrums] +| 1.0 +| 09/Mar
2021 +| [https://raw.githubusercontent.com/TainakaDrums/qbPornolab/master/pornolab.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/TainakaDrums/qbPornolab/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.5.0 +|- +| [[https://i.imgur.com/28j2OFz.png]] [https://redacted.ch Redacted] +| [https://github.com/evyd13/search-plugins Evyd13] +| 1.00 +| 10/Oct
2021 +| [https://raw.githubusercontent.com/evyd13/search-plugins/master/nova3/engines/redacted_ch.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt 4.3.x / python 3.10.x +|- +| [[https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutracker.png]] [https://rutracker.org/ RuTracker] +| [https://github.com/imDMG/qBt_SE imDMG] +| 1.9 +| 10/Sep
2023 +| [https://raw.githubusercontent.com/imDMG/qBt_SE/master/engines/rutracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/imDMG/qBt_SE/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.2.x / python 3.7+ +|- +| [[https://github.com/libellula/Official-search-engines-plugins-favicons/blob/bf2aaabe07ba94b993282d8dd888674469f2ab1e/favicon-16x16.png]] [https://rutracker.org/ RuTracker] +| [https://github.com/nbusseneau/qBittorrent-rutracker-plugin nbusseneau] +| 2.1.9 +| 11/Oct
2023 +| [https://raw.githubusercontent.com/nbusseneau/qBittorrent-rutracker-plugin/master/rutracker.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/nbusseneau/qBittorrent-rutracker-plugin/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.10.x
+|- +| [[https://i.imgur.com/M5UA6tt.png]] [https://www.torrentleech.org/ TorrentLeech] +| [https://github.com/444995/qbit-search-plugins 444995] +| 1.00 +| 06/Aug
2024 +| [https://raw.githubusercontent.com/444995/qbit-search-plugins/main/engines/torrentleech.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ] +| ✔ qbt v4.6.5 / python 3.11.1 +|- +| [[https://raw.githubusercontent.com/swannie-eire/prowlarr-qbittorrent-plugins/main/prowlarr-logo-lq.png]] [https://github.com/Prowlarr/Prowlarr Prowlarr] +| [https://github.com/swannie-eire/prowlarr-qbittorrent-plugins swannie-eire] +| 1.0 +| 17/Dec
2021 +| [https://raw.githubusercontent.com/swannie-eire/prowlarr-qbittorrent-plugins/main/prowlarr.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/swannie-eire/prowlarr-qbittorrent-plugins [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.3.x / python 3.+ +|- + +|- +| [[https://www.google.com/s2/favicons?domain=speedapp.io#.png]] [https://speedapp.io SpeedApp.IO] +| [https://github.com/miIiano/SpeedApp.io-qBittorent-search-plugin miIiano] +| 1.1 +| 11/Aug
2023 +| [https://raw.githubusercontent.com/miIiano/SpeedApp.io-qBittorent-search-plugin/main/speedapp.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/miIiano/SpeedApp.io-qBittorent-search-plugin [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.+ +|- + +|- +| [[https://www.google.com/s2/favicons?domain=unionfansub.com#.png]] [https://torrent.unionfansub.com/ UnionFansub] +| [https://gitlab.com/CrimsonKoba/qb-search-plugin CrimsonKoba] +| 1.2 +| 05/Jan
2024 +| [https://gitlab.com/CrimsonKoba/qb-search-plugin/-/raw/master/unionfansub.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://gitlab.com/CrimsonKoba/qb-search-plugin [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ✔ qbt 4.5.x / python 3.+ +|- + +| [[https://raw.githubusercontent.com/CravateRouge/qBittorrentSearchPlugins/master/yggtorrent.png]] [https://yggtorrent.fi/ YggTorrent] +| [https://github.com/CravateRouge/qBittorrentSearchPlugins CravateRouge] +| 1.0 +| 25/Nov
2019 +| [https://raw.githubusercontent.com/CravateRouge/qBittorrentSearchPlugins/master/yggtorrent.py [[https://raw.githubusercontent.com/Pireo/hello-world/master/Download.gif]] ]
[https://github.com/CravateRouge/qBittorrentSearchPlugins/blob/master/README.md [[https://github.com/Pireo/hello-world/blob/master/Help%20book.gif]] ] +| ❗ Working when DDOS cloudfare
protection is disabled +|} \ No newline at end of file diff --git "a/wiki/https:--raw.githubusercontent.com-qbittorrent-search\342\200\220plugins-master-nova3-engines-jackett.py.md" "b/wiki/https:--raw.githubusercontent.com-qbittorrent-search\342\200\220plugins-master-nova3-engines-jackett.py.md" new file mode 100644 index 0000000..69afb5b --- /dev/null +++ "b/wiki/https:--raw.githubusercontent.com-qbittorrent-search\342\200\220plugins-master-nova3-engines-jackett.py.md" @@ -0,0 +1,248 @@ +#VERSION: 4.0 +# AUTHORS: Diego de las Heras (ngosang@hotmail.es) +# CONTRIBUTORS: ukharley +# hannsen (github.com/hannsen) +# Alexander Georgievskiy + +import json +import os +import xml.etree.ElementTree +from urllib.parse import urlencode, unquote +from urllib import request as urllib_request +from http.cookiejar import CookieJar +from multiprocessing.dummy import Pool +from threading import Lock + +from novaprinter import prettyPrinter +from helpers import download_file + + +############################################################################### +# load configuration from file +CONFIG_FILE = 'jackett.json' +CONFIG_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), CONFIG_FILE) +CONFIG_DATA = { + 'api_key': 'YOUR_API_KEY_HERE', # jackett api + 'url': 'http://127.0.0.1:9117', # jackett url + 'tracker_first': False, # (False/True) add tracker name to beginning of search result + 'thread_count': 20, # number of threads to use for http requests +} +PRINTER_THREAD_LOCK = Lock() + + +def load_configuration(): + global CONFIG_PATH, CONFIG_DATA + try: + # try to load user data from file + with open(CONFIG_PATH) as f: + CONFIG_DATA = json.load(f) + except ValueError: + # if file exists, but it's malformed we load add a flag + CONFIG_DATA['malformed'] = True + except Exception: + # if file doesn't exist, we create it + save_configuration() + + # do some checks + if any(item not in CONFIG_DATA for item in ['api_key', 'tracker_first', 'url']): + CONFIG_DATA['malformed'] = True + + # add missing keys + if 'thread_count' not in CONFIG_DATA: + CONFIG_DATA['thread_count'] = 20 + save_configuration() + + +def save_configuration(): + global CONFIG_PATH, CONFIG_DATA + with open(CONFIG_PATH, 'w') as f: + f.write(json.dumps(CONFIG_DATA, indent=4, sort_keys=True)) + + +load_configuration() +############################################################################### + + +class jackett(object): + name = 'Jackett' + url = CONFIG_DATA['url'] if CONFIG_DATA['url'][-1] != '/' else CONFIG_DATA['url'][:-1] + api_key = CONFIG_DATA['api_key'] + thread_count = CONFIG_DATA['thread_count'] + supported_categories = { + 'all': None, + 'anime': ['5070'], + 'books': ['8000'], + 'games': ['1000', '4000'], + 'movies': ['2000'], + 'music': ['3000'], + 'software': ['4000'], + 'tv': ['5000'], + } + + def download_torrent(self, download_url): + # fix for some indexers with magnet link inside .torrent file + if download_url.startswith('magnet:?'): + print(download_url + " " + download_url) + response = self.get_response(download_url) + if response is not None and response.startswith('magnet:?'): + print(response + " " + download_url) + else: + print(download_file(download_url)) + + def search(self, what, cat='all'): + what = unquote(what) + category = self.supported_categories[cat.lower()] + + # check for malformed configuration + if 'malformed' in CONFIG_DATA: + self.handle_error("malformed configuration file", what) + return + + # check api_key + if self.api_key == "YOUR_API_KEY_HERE": + self.handle_error("api key error", what) + return + + # search in Jackett API + if self.thread_count > 1: + args = [] + indexers = self.get_jackett_indexers(what) + for indexer in indexers: + args.append((what, category, indexer)) + with Pool(min(len(indexers), self.thread_count)) as pool: + pool.starmap(self.search_jackett_indexer, args) + else: + self.search_jackett_indexer(what, category, 'all') + + def get_jackett_indexers(self, what): + params = [ + ('apikey', self.api_key), + ('t', 'indexers'), + ('configured', 'true') + ] + params = urlencode(params) + jacket_url = self.url + "/api/v2.0/indexers/all/results/torznab/api?%s" % params + response = self.get_response(jacket_url) + if response is None: + self.handle_error("connection error getting indexer list", what) + return + # process results + response_xml = xml.etree.ElementTree.fromstring(response) + indexers = [] + for indexer in response_xml.findall('indexer'): + indexers.append(indexer.attrib['id']) + return indexers + + def search_jackett_indexer(self, what, category, indexer_id): + # prepare jackett url + params = [ + ('apikey', self.api_key), + ('q', what) + ] + if category is not None: + params.append(('cat', ','.join(category))) + params = urlencode(params) + jacket_url = self.url + "/api/v2.0/indexers/" + indexer_id + "/results/torznab/api?%s" % params # noqa + response = self.get_response(jacket_url) + if response is None: + self.handle_error("connection error for indexer: " + indexer_id, what) + return + # process search results + response_xml = xml.etree.ElementTree.fromstring(response) + for result in response_xml.find('channel').findall('item'): + res = {} + + title = result.find('title') + if title is not None: + title = title.text + else: + continue + + tracker = result.find('jackettindexer') + tracker = '' if tracker is None else tracker.text + if CONFIG_DATA['tracker_first']: + res['name'] = '[%s] %s' % (tracker, title) + else: + res['name'] = '%s [%s]' % (title, tracker) + + res['link'] = result.find(self.generate_xpath('magneturl')) + if res['link'] is not None: + res['link'] = res['link'].attrib['value'] + else: + res['link'] = result.find('link') + if res['link'] is not None: + res['link'] = res['link'].text + else: + continue + + res['size'] = result.find('size') + res['size'] = -1 if res['size'] is None else (res['size'].text + ' B') + + res['seeds'] = result.find(self.generate_xpath('seeders')) + res['seeds'] = -1 if res['seeds'] is None else int(res['seeds'].attrib['value']) + + res['leech'] = result.find(self.generate_xpath('peers')) + res['leech'] = -1 if res['leech'] is None else int(res['leech'].attrib['value']) + + if res['seeds'] != -1 and res['leech'] != -1: + res['leech'] -= res['seeds'] + + res['desc_link'] = result.find('comments') + if res['desc_link'] is not None: + res['desc_link'] = res['desc_link'].text + else: + res['desc_link'] = result.find('guid') + res['desc_link'] = '' if res['desc_link'] is None else res['desc_link'].text + + # note: engine_url can't be changed, torrent download stops working + res['engine_url'] = self.url + + self.pretty_printer_thread_safe(res) + + def generate_xpath(self, tag): + return './{http://torznab.com/schemas/2015/feed}attr[@name="%s"]' % tag + + def get_response(self, query): + response = None + try: + # we can't use helpers.retrieve_url because of redirects + # we need the cookie processor to handle redirects + opener = urllib_request.build_opener(urllib_request.HTTPCookieProcessor(CookieJar())) + response = opener.open(query).read().decode('utf-8') + except urllib_request.HTTPError as e: + # if the page returns a magnet redirect, used in download_torrent + if e.code == 302: + response = e.url + except Exception: + pass + return response + + def handle_error(self, error_msg, what): + # we need to print the search text to be displayed in qBittorrent when + # 'Torrent names only' is enabled + self.pretty_printer_thread_safe({ + 'seeds': -1, + 'size': -1, + 'leech': -1, + 'engine_url': self.url, + 'link': self.url, + 'desc_link': 'https://github.com/qbittorrent/search-plugins/wiki/How-to-configure-Jackett-plugin', # noqa + 'name': "Jackett: %s! Right-click this row and select 'Open description page' to open help. Configuration file: '%s' Search: '%s'" % (error_msg, CONFIG_PATH, what) # noqa + }) + + def pretty_printer_thread_safe(self, dictionary): + global PRINTER_THREAD_LOCK + with PRINTER_THREAD_LOCK: + prettyPrinter(self.escape_pipe(dictionary)) + + def escape_pipe(self, dictionary): + # Safety measure until it's fixed in prettyPrinter + for key in dictionary.keys(): + if isinstance(dictionary[key], str): + dictionary[key] = dictionary[key].replace('|', '%7C') + return dictionary + + +if __name__ == "__main__": + jackett_se = jackett() + jackett_se.search("ubuntu server", 'software') \ No newline at end of file diff --git a/wiki/search-engine-qbtrnt.md b/wiki/search-engine-qbtrnt.md new file mode 100644 index 0000000..babe13c --- /dev/null +++ b/wiki/search-engine-qbtrnt.md @@ -0,0 +1,112 @@ +``` +import re +from html.parser import HTMLParser + +from helpers import download_file, retrieve_url +from novaprinter import prettyPrinter + + +class one337x(object): + url = 'https://1337x.to' + name = '1337x' + supported_categories = { + 'all': None, + 'anime': 'Anime', + 'software': 'Apps', + 'games': 'Games', + 'movies': 'Movies', + 'music': 'Music', + 'tv': 'TV', + } + + class MyHtmlParser(HTMLParser): + + def error(self, message): + pass + + A, TD, TR, HREF, TBODY, TABLE = ('a', 'td', 'tr', 'href', 'tbody', 'table') + + def __init__(self, url): + HTMLParser.__init__(self) + self.url = url + self.row = {} + self.column = None + self.insideRow = False + self.foundTable = False + self.foundResults = False + self.parser_class = { + 'name': 'name', + 'seeds': 'seeds', + 'leech': 'leeches', + 'size': 'size' + } + + def handle_starttag(self, tag, attrs): + params = dict(attrs) + if 'search-page' in params.get('class', ''): + self.foundResults = True + return + if self.foundResults and tag == self.TBODY: + self.foundTable = True + return + if self.foundTable and tag == self.TR: + self.insideRow = True + return + if self.insideRow and tag == self.TD: + classList = params.get('class', None) + for columnName, classValue in self.parser_class.items(): + if classValue in classList: + self.column = columnName + self.row[self.column] = -1 + return + + if self.insideRow and tag == self.A: + if self.column != 'name' or self.HREF not in params: + return + link = params[self.HREF] + if link.startswith('/torrent/'): + link = f'{self.url}{link}' + torrent_page = retrieve_url(link) + magnet_regex = r'href="magnet:.*"' + matches = re.finditer(magnet_regex, torrent_page, re.MULTILINE) + magnet_urls = [x.group() for x in matches] + self.row['link'] = magnet_urls[0].split('"')[1] + self.row['engine_url'] = self.url + self.row['desc_link'] = link + + def handle_data(self, data): + if self.insideRow and self.column: + if self.column == 'size': + data = data.replace(',', '') + self.row[self.column] = data + self.column = None + + def handle_endtag(self, tag): + if tag == self.TABLE: + self.foundTable = False + if self.insideRow and tag == self.TR: + self.insideRow = False + self.column = None + if not self.row: + return + prettyPrinter(self.row) + self.row = {} + + def download_torrent(self, info): + print(download_file(info)) + + def search(self, what, cat='all'): + parser = self.MyHtmlParser(self.url) + what = what.replace('%20', '+') + category = self.supported_categories[cat] + page = 1 + while True: + page_url = f'{self.url}/category-search/{what}/{category}/{page}/' if category else f'{self.url}/search/{what}/{page}/' + html = retrieve_url(page_url) + parser.feed(html) + if html.find('
  • ') == -1: + # exists on every page but the last + break + page += 1 + parser.close() +``` \ No newline at end of file