winget install --id=Jackett.Jackett -e
Jackett works as a proxy server, it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar, etc) into tracker-site-specific http queries, parses the html response, then sends 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.
Our server is no longer maintained. If you have a problem, request, or question then please open a new issue here.
This project is a new fork and is recruiting development help. If you can help out please contact us.
Please see our troubleshooting and contributing guidelines before submitting any issues or pull requests
Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends 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 & translation logic - removing the burden from other apps.
Developer note: The software implements the Torznab (with hybrid nZEDb/Newznab category numbering) and TorrentPotato APIs.
A third-party Golang SDK for Jackett is available from webtor-io/go-jackett
Trackers marked with have no active maintainer and may be broken or missing features. If you have an invite please send it to jacketttest [at] gmail [dot] com or garfieldsixtynine [at] gmail [dot] com get them fixed/improved.
Jackett accepts Torznab queries following the specifications described in the Torznab document.
For example, .../api/v2.0/indexers/<aJackettIndexerName>/results/torznab/api?apikey=<yourJackettApiKey>&t=caps
would return the capabilities of the indexer, and .../api/v2.0/indexers/<aJackettIndexerName>/results/torznab/api?apikey=<yourJackettApiKey>&t=search&q=keywords
would perform a free text search on that indexer.
A list of supported API search modes and parameters:
t=search:
params : q
t=tvsearch:
params : q, season, ep, imdbid, tvdbid, rid, tmdbid, tvmazeid, traktid, doubanid, year, genre
t=movie:
params : q, imdbid, tmdbid, traktid, doubanid, year, genre
t=music:
params : q, album, artist, label, track, year, genre
t=book:
params : q, title, author, publisher, year, genre
Examples:
.../api?apikey=APIKEY&t=search&cat=1,3&q=Show+Title+S01E02
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&q=Show+Title&season=1&ep=2
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&genre=comedy&season=2023&ep=02/13
.../api?apikey=APIKEY&t=movie&cat=2&q=Movie+Title&year=2023
.../api?apikey=APIKEY&t=movie&cat=2&imdbid=tt1234567
.../api?apikey=APIKEY&t=music&cat=4&album=Title&artist=Name
.../api?apikey=APIKEY&t=book&cat=5,6&genre=horror&publisher=Stuff
A special "filter" indexer is available at .../api/v2.0/indexers/<filter>/results/torznab
It will query the configured indexers that match the <filter>
expression criteria and return the combined results as "all".
Supported filters
Filter | Condition
-|-
type:<type>
| where the indexer type is equal to <type>
tag:<tag>
| where the indexer tags contain <tag>
lang:<tag>
| where the indexer language start with <lang>
test:{passed\|failed}
| where the last indexer test performed passed
or failed
status:{healthy\|failing\|unknown}
| where the indexer state is healthy
(successfully operates in the last minutes), failing
(generates errors in the recent call) or unknown
(unused for a while)
Supported operators
Operator | Condition
-|-
!<expr>
| where not <expr>
<expr1>+<expr2>[+<expr3>...]
| where <expr1>
and <expr2>
[and <expr3>
...]
<expr1>,<expr2>[,<expr3>...]
| where <expr1>
or <expr2>
[or <expr3>
...]
Example 1:
The "filter" indexer at .../api/v2.0/indexers/tag:group1,!type:private+lang:en/results/torznab
will query all the configured indexers tagged with group1
or all the indexers not private and with en
language (en-en
,en-us
,...)
Example 2:
The "filter" indexer at /api/v2.0/indexers/!status:failing,test:passed
will query all the configured indexers not failing
or which passed
its last test.
A special "all" indexer is available at /api/v2.0/indexers/all/results/torznab
.
It will query all configured indexers and return the combined results.
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the "all" indexer. Using the "all" indexer has no advantages (besides reduced management overhead), the only disadvantages:
To get all Jackett indexers including their capabilities you can use t=indexers
on the "all" indexer. To get only configured/unconfigured indexers you can also add configured=true/false
as a query parameter.
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
To get started with using the installer for Jackett, follow the steps below:
When installed as a service the tray icon acts as a way to open/start/stop Jackett. If you opted to not install it as a service then Jackett will run its web server from the tray tool.
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://github.com/dotnet/core/blob/master/Documentation/linux-prereqs.md
A) Command to download and install the latest package and run the Jackett service:
cd /opt && f=Jackett.Binaries.LinuxAMDx64.tar.gz && sudo wget -Nc https://github.com/Jackett/Jackett/releases/latest/download/"$f" && sudo tar -xzf "$f" && sudo rm -f "$f" && cd Jackett* && sudo ./install_service_systemd.sh && systemctl status jackett.service && cd - && echo -e "\nVisit http://127.0.0.1:9117"
B) Or manually:
Jackett.Binaries.LinuxAMDx64.tar.gz
release from the releases pagesudo ./install_service_systemd.sh
You need root permissions to install the service. The service will start on each logon. You can always stop it by running systemctl stop jackett.service
from Terminal. You can start it again using systemctl start jackett.service
. Logs are stored as usual under ~/.config/Jackett/log.txt
and also in journalctl -u jackett.service
.Download and extract the latest Jackett.Binaries.LinuxAMDx64.tar.gz
release from the releases page, open a Terminal, cd to the jackett folder, and run Jackett with the command ./jackett
If you want to run it with a user without a /home directory you need to add Environment=XDG_CONFIG_HOME=/path/to/folder
to your systemd file, this folder will be used to store your config files.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://github.com/dotnet/core/blob/master/Documentation/linux-prereqs.md
Jackett.Binaries.LinuxARM32.tar.gz
or Jackett.Binaries.LinuxARM64.tar.gz
(32 bit is the most common on ARM) release from the releases pagesudo ./install_service_systemd.sh
You need root permissions to install the service. The service will start on each logon. You can always stop it by running systemctl stop jackett.service
from Terminal. You can start it again using systemctl start jackett.service
. Logs are stored as usual under ~/.config/Jackett/log.txt
and also in journalctl -u jackett.service
.Download and extract the latest Jackett.Binaries.LinuxARM32.tar.gz
or Jackett.Binaries.LinuxARM64.tar.gz
(32 bit is the most common on ARM) release from the releases page, open a Terminal, cd to the jackett folder and run Jackett with the command ./jackett
If you want to run it with a user without a /home directory you need to add Environment=XDG_CONFIG_HOME=/path/to/folder
to your systemd file, this folder will be used to store your config files.
mono-devel
and the ca-certificates-mono
packages.mono-locale-extras
package is also required.apt-get install libcurl4-openssl-dev
yum install libcurl-devel
Jackett.Binaries.Mono.tar.gz
release from the releases page and run Jackett using mono with the command mono --debug JackettConsole.exe
.sudo ./install_service_systemd_mono.sh
You need root permissions to install the service. The service will start on each logon. You can always stop it by running systemctl stop jackett.service
from Terminal. You can start it again it using systemctl start jackett.service
. Logs are stored as usual under ~/.config/Jackett/log.txt
and also in journalctl -u jackett.service
.If you want to run it with a user without a /home directory you need to add Environment=XDG_CONFIG_HOME=/path/to/folder
to your systemd file, this folder will be used to store your config files.
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
On a CentOS/RedHat 7 system: jewflix.jackett
On an Ubuntu 16 system: chrisjohnson00.jackett
wget https://raw.githubusercontent.com/Jackett/Jackett/master/uninstall_service_systemd.sh --quiet -O -|sudo bash
macOS 12.0+ (Monterey) or greater
Jackett.Binaries.macOS.tar.gz
or Jackett.Binaries.macOSARM64.tar.gz
release from the releases page.install_service_macos
.The service will start on each logon. You can always stop it by running launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist
from Terminal. You can start it again it using launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
.
Logs are stored as usual under ~/.config/Jackett/log.txt
.
Download and extract the latest Jackett.Binaries.macOS.tar.gz
or Jackett.Binaries.macOSARM64.tar.gz
release from the releases page and run Jackett with the command ./jackett
.
curl -sSL https://raw.githubusercontent.com/Jackett/Jackett/master/uninstall_jackett_macos| bash
Detailed instructions are available at LinuxServer.io Jackett Docker. The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system e.g. QNAP, Synology. Thanks to LinuxServer.io
Detailed instructions are available at Jackett's Wiki.
Jackett is available as a beta package from SynoCommunity
Detailed instructions are available at Jackett's Wiki.
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base path override" Jackett option accordingly.
Example config for apache:
<Location /jackett>
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ProxyPass http://127.0.0.1:9117
ProxyPassReverse http://127.0.0.1:9117
</Location>
Example config for Nginx:
location /jackett {
proxy_pass http://127.0.0.1:9117;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_redirect off;
}
Jackett has an internal cache to increase search speed and reduce the number of requests to torrent sites. The default values should be good for most users. If you have problems, you can reduce the TTL value in the configuration or even disable the cache. Keep in mind that you can be banned by the sites if you make a lot of requests.
If you have enabled the Jackett internal cache, but have an indexer for which you would prefer to fetch fresh results (thus ignoring the internal cache) then add the &cache=false parameter to your torznab query.
Some indexers are protected by Cloudflare or similar services and Jackett is not able to solve the challenges. For these cases, FlareSolverr has been integrated into Jackett. This service is in charge of solving the challenges and configuring Jackett with the necessary cookies. Setting up this service is optional; most indexers don't need it.
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request. To use it, please just request a free API key on OMDb (1,000 daily requests limit) and paste the key in Jackett
You can pass various options when running via the command line:
-i, --Install
Install Jackett windows service (Must be admin)
-s, --Start
Start the Jacket Windows service (Must be admin)
-k, --Stop
Stop the Jacket Windows service (Must be admin)
-u, --Uninstall
Uninstall Jackett windows service (Must be admin).
-r, --ReserveUrls
(Re)Register windows port reservations (Required for
listening on all interfaces).
-l, --Logging
Log all requests/responses to Jackett
-t, --Tracing
Enable tracing
-c, --UseClient
Override web client selection.
[automatic(Default)/httpclient/httpclient2]
-x, --ListenPublic
Listen publicly
-z, --ListenPrivate
Only allow local access
-p, --Port
Web server port
-n, --IgnoreSslErrors
[true/false] Ignores invalid SSL certificates
-d, --DataFolder
Specify the location of the data folder (Must be an admin on Windows)
--NoRestart
Don't restart after the update
--PIDFile
Specify the location of the PID file
--NoUpdates
Disable automatic updates
--help
Display this help screen.
--version
Display version information.
# manually install osx dotnet via:
https://dotnet.microsoft.com/download?initial-os=macos
# then:
git clone https://github.com/Jackett/Jackett.git
cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f net8.0 --self-contained -r osx-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/net8.0/osx-x64/jackett # run jackett
sudo apt install nuget msbuild dotnet-sdk-8.0 # install build tools (Debian/ubuntu)
git clone https://github.com/Jackett/Jackett.git
cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f net8.0 --self-contained -r linux-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/net8.0/linux-x64/jackett # run jackett