KickassTorrents CLI and Telegram bot


Keywords
jackett, streaming, torrent
License
GPL-3.0+
Install
pip install katcr==3.0.7

Documentation

http://i.imgur.com/ofx75lO.png

CLI client to torrent searches and streaming. Easily search torrents in multiple providers such as KickAssTorrents, ThePirateBay, and any Jackett provider.

pypi release downloads python_versions coverage pypi_versions aur_package actions

Table of contents

Features

  • Display results in a nice utf-8 table
  • Interactive mode, choose and open torrent with a nice text user interface
  • Open torrent directly with your preferred client (via xdg-open)
  • Stream torrent with torrentstream
  • Searches on all available engines until it gets results
  • Search torrents in:
    • Eztv
    • Jackett
    • Katcr
    • NyaaSi
    • Skytorrents
    • ThePirateBay
poetry run katcr search --stream --engine Jackett --engine ThePirateBay "Big Buck Bunny"
poetry run katcr search --stream --engine Jackett:eztv "Big Buck Bunny"

./docs/stream.png

Installation

This is a python package available on pypi, just run

pip install katcr

Or, with streaming (see Streaming)

Make sure your python version is at least python3.8 and you're using that version's pip.

On archlinux, you can install it from AUR (https://aur.archlinux.org/packages/katcr/), with your favourite aur package installer, such as yay.

yay -S katcr

Usage

Exposes a katcr search command.

--pages (optional) Number of pages to search for in each engine (Except on Jackett)
--engine (optional) Engines available. See Features section. You can use this option multiple times (as in --engine Eztv --engine ThePirateBay)
--nointeractive
  (optional) Do not open text user interface, just print all the results
--open (optional) Use xdg-open to open magnet link. For example to download it with your preferred torrent download client.
--stream (optional) Use torrentstreaming to stream. See Streaming section
USAGE
  katcr search [--pages <...>]  [--engine <...>] [--nointeractive [<...>]]
               [--open [<...>]] [--stream [<...>]] <search>

ARGUMENTS
  <search>               Search term

OPTIONS
  --pages                Pages to search on search engines (default: "1")
  --engine               Engines (multiple values allowed)
  --nointeractive        Print results directly to stdout
  --open                 Open selected magnet with xdg-open
  --stream               Stream with torrentstream, plays using PLAYER envvar or xdg-open

GLOBAL OPTIONS
  -h (--help)            Display this help message
  -q (--quiet)           Do not output any message
  -v (--verbose)         Increase the verbosity of messages: "-v" for normal output, "-vv" for more verbose output
                         and "-vvv" for debug
  -V (--version)         Display this application version
  --ansi                 Force ANSI output
  --no-ansi              Disable ANSI output
  -n (--no-interaction)  Do not ask any interactive question

Streaming

Streaming requires libtorrent . With libtorrent installed, you'll need to install katcr's streaming extras, for that matter, install it with [stream],

pip install katcr[stream]

Then, just run it with

poetry run katcr search --engine Jackett "Big Buck Bunny" --stream

Jackett Support

You can easily use a Jackett instance to search on all your configured provider.

This allows you to search on any jackett-supported site (that's about supported 300 trackers). Jackett is probably the best way to use this software, as it has a more active mantainance of the tracker sites.

To enable Jackett use, simply export your jackett URL and TOKEN as environmental variables

You can search on individual jackett providers by specifying the provider separated by ":", as in:

poetry run katcr --engine=jackett:thepiratebay "Big Buck Bunny"

Note that you need to have the provider configured correctly in jackett.

JACKETT_HOST=http://127.0.0.1:9117 JACKETT_APIKEY=<redacted> poetry run katcr --engine=jackett "Big Buck Bunny"

Or, for a more permanent solution, write a config file to ${XDG_CONFIG_HOME}/katcr.ini (wich is usually ~/.config/katcr.ini) with the host and apikeys values:

[jackett]
host = http://127.0.0.1
apikey = 12345
# host = https://127.0.0.1
# host = https://127.0.0.1/prefix/
# ssl and prefix supported

Bot

Katcr comes with a bot command, connecting to telegram

docs/bot.png

To start a katcr bot, you need a bot token from the GodFather. Open a conversation to GodFather to get more information on how to get a token.

Just launch the bot with --token=your_token

USAGE
console bot [--token [<...>]]

OPTIONS
  --token                Bot token. Ask BotFather

GLOBAL OPTIONS
  -h (--help)            Display this help message
  -q (--quiet)           Do not output any message
  -v (--verbose)         Increase the verbosity of messages: "-v" for normal output, "-vv" for more verbose output
                         and "-vvv" for debug
  -V (--version)         Display this application version
  --ansi                 Force ANSI output
  --no-ansi              Disable ANSI output
  -n (--no-interaction)  Do not ask any interactive question

Docker

Katcr comes docker-ready, to execute it, just run:

docker run xayon/katcr search --engine ThePirateBay "Big Buck Bunny"

Notes

I like ⭐, star this project to show your appreciation!

Disclaimer

This project does not promote piracy. You can find a list of good public domain movies that are available as torrents at public domain torrents.

Logo

Logo is based on robot cat by Arsenty

Contributors

Made with contributors-img