Как qBittorrent ищет торренты внутри себя и кто пишет для него плагины
Открою одну вещь, о которой многие узнают только спустя годы пользования qBittorrent. В клиенте есть встроенный поиск по трекерам. Не браузерная вкладка, не сторонний сайт — отдельное окно, где набираешь запрос и получаешь список раздач с разных площадок. Работает это благодаря плагинам, и живут они в отдельном репозитории qbittorrent/search-plugins.
Я сам долго игнорировал эту кнопку. Пока однажды не надоело бегать по десятку сайтов в поисках нужной раздачи.
Что это вообще такое
Репозиторий хранит набор Python-скриптов, которые qBittorrent подгружает для функции поиска. Каждый плагин — это адаптер под конкретный трекер или поисковик: он формирует запрос к сайту, разбирает ответ и отдаёт клиенту нормализованный список результатов с названиями, размерами, числом сидов и ссылками на торрент-файлы.
Здесь важная деталь. Репозиторий не ведёт команда разработчиков самого qBittorrent — им занимаются сторонние контрибьюторы. Это такая общая площадка, где люди складывают и обмениваются своими плагинами. Звёзд у проекта прилично, больше семи тысяч, но пугаться не стоит: активность идёт в пул-реквестах к уже существующим плагинам, а не в бурном добавлении новых.
Кстати, официально новые плагины сейчас почти не принимают — у мейнтейнеров нет на это ресурсов. Зато правки к сломавшимся скриптам встречают с распростёртыми объятиями.
Кому это нужно
Если вы качаете торренты через qBittorrent и хотите искать раздачи, не выходя из клиента, репозиторий для вас. Ну и вторая аудитория — те, кому интересно написать плагин под свой любимый трекер. Документация для этого есть в вики проекта.
Как это выглядит на практике: ставите плагин, и в окне поиска qBittorrent появляется ещё один источник. Десяток источников сразу — и вот у вас почти собственный метапоисковик по трекерам.
Основные возможности
Список неофициальных плагинов лежит в вики. Это отправная точка для большинства пользователей.
Отдельно стоит выделить интеграцию с Jackett. Это популярный прокси для трекеров, и qBittorrent умеет ходить через него. Как настроить связку, рассказано в отдельной инструкции. Удобно тем, кто и так держит Jackett для других клиентов.
Если нужного плагина нет, можно оставить запрос. Сообщество иногда откликается, но обещать не буду — всё зависит от того, найдётся ли человек с интересом к конкретному трекеру.
Хотите сделать самому? В вики есть гайд по написанию плагинов и инструкция по установке. Ставить можно из файла или по ссылке прямо в интерфейсе.
Логика обновления такая: qBittorrent умеет сам обновлять установленные плагины, поэтому ломающиеся скрипты подтягиваются с фиксами. При условии, что кто-то эти фиксы написал.
Технические детали
Весь код — на Python. В 2020 году из репозитория выпилили поддержку Python 2, так что теперь нужен Python 3. Если у вас старая сборка qBittorrent с Python 2, поиск просто перестанет работать — придётся обновляться.
Плагин по сути — это класс с несколькими методами. Нужно реализовать формирование поискового запроса, парсинг HTML или JSON ответа сайта и возврат результатов в определённой структуре. Ничего экзотического, обычный веб-скрейпинг. Пишете через requests, разбираете через BeautifulSoup или регулярки, отдаёте список словарей.
Лицензия — GPL-2.0, что логично для экосистемы qBittorrent.
В README есть заметка, которую стоит прочитать внимательно: используете плагины и сайты, к которым они ходят, на свой страх и риск. Ответственность за соблюдение авторских прав и местных законов лежит лично на вас. Это не формальность — тема чувствительная.
Как это выглядит в жизни
Сценарий простой. Ищу, скажем, редкий документальный фильм. Вместо того чтобы открывать пять вкладок, захожу в поиск qBittorrent, выбираю пару источников, вбиваю название. Получаю общий список с сидами и размерами, сортирую и качаю прямо оттуда. Всё в одном окне.
Второй кейс — свои плагины под нишевые трекеры. Такое часто делают под закрытые площадки, которые не хотят светиться в публичных списках. Пишете скрипт под свою учётку, ставите локально, и никаких лишних глаз.
Третий, менее очевидный. Если вы умеете парсить сайты, плагины — неплохой способ изучить устройство qBittorrent изнутри. Кодовая база небольшая, каждый плагин самодостаточен, можно читать и разбираться без погружения во весь клиент.
Минусы, о которых стоит знать
Не всё гладко. Плагины ломаются регулярно, потому что сайты меняют вёрстку, а мейнтейнеров мало. Официальные новые плагины не принимают, так что рассчитывать на быструю поддержку экзотики не стоит.
Документации в репозитории почти нет — почти всё вынесено в вики, и её местами приходится собирать по кусочкам. Плюс юридическая сторона: чем качаете и откуда, решаете вы, и проект честно об этом предупреждает.
Проект стоит внимания, если вы активный пользователь qBittorrent и хотите искать раздачи из клиента. Стартовать лучше с вики и списка неофициальных плагинов, а не с чтения исходников.
Заходить стоит тем, кто готов возиться: обновлять плагины руками, чинить сломавшиеся, писать свои под конкретные трекеры. Если нужен инструмент, который работает из коробки без вмешательства, — этот репозиторий вас, скорее всего, разочарует. А вот разработчикам на Python с интересом к веб-скрейпингу тут есть где разгуляться.
