Jackett and alternative solutions (interfaces and api) for searching torrents

Hello everyone! In this short article I will tell you about what is Jacketthow useful and simple is this solution in terms of finding the right distributions, and what alternatives exist for both the user interface and API (Application Programming Interface).

Introduction

I have already told you (here and here) about my small projectwhich allows you to configure the management of torrent clients and provides access to the Cinema Hall tracker interface (+ integration with the database TMDB) via a bot in Telegram. Although further we will talk about something a little different, I wanted to emphasize that such a solution is already a good alternative to the stack servarr (and based on the feedback received, launching the bot turned out to be even easier for some), the purpose of which is to combine all interfaces into one and the ability to search and manage content downloads from a phone while being away from home. Of the obvious disadvantages of the bot, only one tracker is supported for searching for media content, although this can often be enough.

By the way, I recently added the ability to instructions to run the bot in a container Docker.

Back to the solutions servarr It is worth clarifying that, unlike a bot, this solution has a different architectural approach, for example, Sonar allows automate the process of searching and downloading TV series, tracking the release of new episodes, and automatically downloading based on specified criteria, although you will still have to use the interface from time to time. The main problem I encountered was the lack of a search for content with Russian localization, which is partly solved by Jackett (like other services in this article, it is open source at GitHub).

Jackett

Jackett – This tracker jacket first of all API (in simple terms, a remote control software interface for using its functions in other applications) for very big number of providers for the purpose of centralized and simultaneous (parallel) search for distributions in several trackers. But in addition to APIfor the average user it can be useful primarily for its search interface, after getting to know it, you will no longer have to go to different sites to find a distribution that suits you and most likely you will completely delete all bookmarks with trackers from the browser. What is especially surprising is that everything is immediately available out of the box, without the need to install additional plugins or modules (as is the case with plugins for qBittorrentwhich I will talk about below), and you can launch it using an executable file, or a service in the Windows system (which you can download from the repository at GitHub), or for example in a container Docker (which is much more convenient). Here is an example of launching a container with one command:

# Создаем директорию для хранения файлов конфигурации, которые будут сохранены в системе даже после удаления образа
sudo mkdir /jackett
# Скачиваем образ и запускаем контейнер
sudo docker run -d \
  --name=jackett \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e AUTO_UPDATE=true `#optional` \
  -e RUN_OPTS= `#optional` \
  -p 9117:9117 \
  -v /jackett/data:/config \
  -v /jackett/blackhole:/downloads \
  --restart unless-stopped \
  lscr.io/linuxserver/jackett:latest

Configurations for all trackers (aka indexers) will be stored in the directory /jackett/data/Jackett/Indexers/ (in Windows: C:\ProgramData\Jackett\Indexers), and the configuration of the server itself is located here: /jackett/data/Jackett/ServerConfig.json (in Windows: C:\ProgramData\Jackett\ServerConfig.json). You can easily move from Windows to Linux (straight into a container, which is what I did), without having to reconfigure all connections, just by replacing the files in the specified directories.

The interface is as simple and at the same time convenient as you can imagine. All settings are on the main and single page in the browser, and adding trackers for indexing queries is done in a modal interface window.

Jackett interface.

Jackett interface.

The number of Russian-language trackers for searching is 63of which 26 are public (i.e. do not require authorization to search and download files). The total number is as many as 612. It is possible that you will be able to find a new useful source for yourself from the list, but in any case, it is more convenient to add and use several indexers at once.

Filtering indexers (trackers) by region for adding and further use in searches.

Filtering indexers (trackers) by region for adding and further use in searches.

All that is required from the user is to select the providers that suit you (which is very easy to do using the built-in filters) and click ➕ to add it. If it is a public tracker, you need to click on the settings button and fill in the autorotation data, after which you can immediately start searching and downloading torrent files by calling the interface using the button Manual search:

Searching for distributions by keyword "The Rookie" in 5 trackers and filter by the keyword 1080, which corresponds to Full HD resolution.

We search for distributions by the keyword “The Rookie” in 5 trackers and filter by the keyword 1080, which corresponds to the Full HD resolution.

Besides searching, Jackett provides an RSS news feed with category support (filtering by content type, genre, region, etc.). This is very convenient if you want to follow feeds on a specific topic. For example, I am interested in ROM-s on Nintendo Switchto do this I open the tracker settings and find the desired category identifier (via a key combination Ctrl+F in the browser) by name:

Find Category ID for RSS Feed.

Finding an identifier Category For RSS Feed.

In the list of indexers, click сору RSS Feed and we substitute the identifier we need at the end of the copied line URL addresses. As a result, we get something like this: http://127.0.0.1:9117/api/v2.0/indexers/tracker/results/torznab/api?apikey=<ВАШ_ТОКЕН>&t=search&cat=101605 (Where 101605 – identifier number) which can be added to any RSS client for monitoring. For reading feeds I can recommend a desktop application Fluent Reader (available for all platforms, has a nice and modern interface) or browser extension – Feedbro.

That's basically all there is to the interface, you can start binding further Jackett To Sonar, Radarr or other applications in their interface settings (how to do this is described on the interface page) via API (access token is in the upper right corner of the interface) to use the search for distributions through JackettHere is an example of adding in the settings Sonar:

Adding Jackett to Sonarr settings.

Adding Jackett to Sonarr settings.

qBittorrent Search Plugins

If you are more interested in the search interface, then in the case of Jackett There is just one minusit is necessary to install the server part on the device (well, also access to the local network to the server, if you use a dedicated computer for such purposes), and there are alternatives, for example, plugins for the torrent client qBittorrent(which can also act RSS client in the next tab) where the search looks like this:

Search for distributions via the search interface in the qBittorrent client.

Search for distributions via the search interface in the qBittorrent client.

The convenience of this solution is that based on the search results, it is possible to immediately view the contents of any distribution and download the content on the client. The interface is very similar to Jackettalthough in my opinion less attractive, each new request opens a new window (which can be more convenient at times), and to connect a large number of trackers requires much more settings.

For this functionality to work, you need to install a plugin for the corresponding trackers. An unofficial (created by third-party developers) list of plugins can be found in Wiki on GitHub. For example, for the most popular Russian-language four, the repository is located herewhich are still supported to this day. Installation instructions can usually be found in the plugin repository description, although the overall process is always the same (except for filling in autorotation data via configuration), which you can read about here. To make the installation of plugins a little easier, you can use script on PowerShell (also useful for debugging when writing your own plugins that use the language Python).

A little bit about API

Although the ability to search in the interface Jackett This is a very convenient option, it is more of a demonstration of its functions that are available through API external applications. Here is an example of a request to API through Windows PowerShell:

# Переменная с API токеном доступа
$API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Прочитать RSS в указанном трекере (RuTor)
Invoke-RestMethod "http://127.0.0.1:9117/api/v2.0/indexers/rutor/results/torznab/api?apikey=$API_KEY"
# Используем категорию для фильтрации новостной ленты
Invoke-RestMethod "http://192.168.3.101:9117/api/v2.0/indexers/rutor/results/torznab/api?apikey=$API_KEY&cat=8000"
# Производим поиск
$query = "The+Rookie"
Invoke-RestMethod "http://127.0.0.1:9117/api/v2.0/indexers/rutor/results/torznab/api?apikey=$API_KEY&t=search&cat=&q=$query"

The default data output is in the format XML:

Search query via PowerShell and Curl to Jackett API.

Search query via PowerShell and Curl to Jackett API.

At the output we get a typed number of properties, where the key parameters here are Title with the distribution title, distribution size (size), and also guide And link (Magnet link with content info hash) for downloading, which do not always sufficiently describe the contents of the distribution (there is no information about the translation, voice acting, etc.).

When creating Cinema bot (mentioned at the beginning of the article), I searched for a long time APIwhich would give much more information for distribution analysis and convenient use in the bot without the need to extract data directly from the tracker page. Although the solution was not found, I managed to find another interesting project – Torrent-Api. It is basically an alternative to Jackett api, only for 16 trackers, but without the user interface. It was originally written in JavaScript using Expresslater rewritten to Python using FastAPIand documentation is available for ease of reference Swaggerwhich this framework generates automatically. It was this project and the lack of a similar solution for Russian-speaking providers that prompted us to create our own API server – TorAPIin which, in addition to searching, it will be possible to obtain additional information for each distribution by its identifier.

Detailed information about the project TorAPI you can find it in the repository at GitHub. The purpose of this API in addition to searching – getting detailed information about any distribution in the specified tracker. The description of the published distributions very often contains a lot of useful information, which is often taken from various sources and can also be supplemented by the author, which makes it unique in its own way. When searching by identifier, it is possible to get a detailed description of a film, series or other content, as well as the contents of the distribution (list of files), links to posters, ratings in cinema databases, information about translation, voice acting, etc. This is public and available to everyone APIwhich is published on Verceland it is also possible to run it locally in a container Docker. Specification OpenAPI available on the official website Swagger Hub.

Extension for Google Chrome

API it's just backend (essentially – information in text form), therefore, to demonstrate the work TorAPI a simple interface was written that runs in a modal window (on top of the current tab in the browser), and visually resembles Jackett. The interface is accessible via extension LibreKinopoisk for Google Chrome, and it does not require you (but this option is supported) to install the server part and other settings for its operation, except for installing the extension itself. The search looks like this:

LibreKinopoisk extension interface for searching distributions.

LibreKinopoisk extension interface for searching distributions.

Initially (before the implementation of the mentioned functionality) this extension was inspired by another project – YoKbut due to the inoperability of the players provided in the original extension, it was rewritten and expanded with additional buttons for faster content search in external sources. Detailed information about the extension's capabilities, as well as installation instructions, can be found at GitHub.

Summary

You can choose any solution that is convenient for you, as for me, using a centralized search is much more convenient, and most importantly faster than visiting each site separately. What I still lack is a mobile solution, especially when I am on the road and want to find and download something to my phone or tablet. This problem is also solved by botbut for me this is not always enough, so in the future there are plans to implement a full-fledged application. And if you know of other interesting and useful projects on this topic, then tell us about them in the comments!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *