Skip to content

Latest commit

 

History

History
114 lines (91 loc) · 3.96 KB

README.md

File metadata and controls

114 lines (91 loc) · 3.96 KB

Yoink - Free leech manager

GitHub Go Report Card GitHub go.mod Go version GitHub release (latest by date)

An exclamation that transfers ownership of an object to the person who utters it, regardless of previous property rights.

yoink is an app designed to help you download torrents marked as free leech in order to mantain your ratio in private trackers.

yoink can search all your trackers using prowlarr as the indexer and automatically add them to your qBitTorrent client to start seeding

Basic behavior

  1. Get a list of torrents marked as freeleech from prowlarr.
  2. Connect to qBitTorrent and filter-out any already downloaded torrent.
  3. Upload remaining torrents to qBitTorrent and start seeding.

Configuration

Some properties can be passed by environment variable.

File

total_freeleech_size: "200GB" # Max space to use for downloads. If 0, no limit is applied
category: "FreeLeech" # Category to use for downloads.
paused: true # Whether to pause torrents after adding them to qBittorrent
qbittorrent: # Connection details for qBittorrent
  host: "http://localhost:8080"
  username: "admin"
  password: "adminadmin"
prowlarr: # Connection details for Prowlarr
  host: "http://localhost:8081"
  api_key: "1234567890"
indexers: # List of indexers to use. Filters out any indexers not in this list
- id: 1 # ID of the indexer in Prowlarr
  max_seeders: 20 # Maximum number of seeders to allow. 0 = no limit
  max_size: "50GB" # Maximum file size to allow. 0 = no limit
  min_leechers: 0 # Minimum number of leechers to allow. 0 = no limit
- id: 3 # ID of the indexer in Prowlarr
  max_seeders: 10 # Maximum number of seeders to allow. 0 = no limit
  max_size: "50GB" # Maximum file size to allow. 0 = no limit
  min_leechers: 0 # Minimum number of leechers to allow. 0 = no limit

Environment

Environment variables will override config file

Environment variables:
  TOTAL_FREELEECH_SIZE string
    	Max space to use for downloads. If 0, no limit is applied (default "200GB")
  CATEGORY string
    	Category to use for downloads. (default "FreeLeech")
  PAUSED bool
    	Whether to pause torrents after adding them to qBittorrent (default "true")
  QBIT_HOST string
    	Connection details for qBittorrent
  QBIT_USER string
    	Connection details for qBittorrent
  QBIT_PASS string
    	Connection details for qBittorrent
  PROWLARR_HOST string
    	Connection details for Prowlarr
  PROWLARR_API_KEY string
    	Connection details for Prowlarr

Usage

CLI parameters will override environment variables

$ yoink --help
Usage: yoink --config=STRING <command>

Yoink! Command line tool for finding and downloading freeleech torrents.

Flags:
  -h, --help             Show context-sensitive help.
  -c, --config=STRING    configuration file.
      --dry-run          Dry run. Don't upload torrents to qBittorrent.
      --version          print version information and quit

Commands:
  indexers --config=STRING
    List indexers.

  print-config --config=STRING
    Print the configuration.

Run "yoink <command> --help" for more information on a command.

Example:

# don't save sensitive info in config file
$ PROWLARR_API_KEY=XXXXXXXXXX QBIT_PASS=SecurePassword yoink --config ./config.yaml

Docker:

$ docker run -e "PROWLARR_API_KEY=XXXXXXXXXX" \
    -e "QBIT_PASS=SecurePassword" \
    -v ./config.yaml:/config.yaml:ro \
    ghcr.io/mrmarble/yoink:latest