LinuxCommandLibrary

flexget

Automate downloading content based on defined rules

TLDR

Run all Flexget tasks now

$ flexget execute --now
copy

Start the Flexget daemon and daemonize its process
$ flexget daemon start --daemonize
copy

List all series recorded in Flexget
$ flexget series list
copy

Run a task from a configuration file
$ flexget -c [path/to/config.yml] execute --task [task_name]
copy

SYNOPSIS

flexget [options] [command] [args]

PARAMETERS

-h, --help
    Show help message and exit

--version
    Display program version and exit

--test
    Test config without downloading

--now=NOW
    Override current date/time (YYYY-MM-DD [HH:MM])

--no-cache
    Disable cache during execution

--debug
    Enable debugging output

--loglevel=LEVEL
    Set log level (critical|error|warning|notice|info|debug)

--logfile=FILE
    Log output to specified FILE

-c CONFIG, --config=CONFIG
    Use alternate config file

--cli-config=CLI_CONFIG
    CLI overrides for config

--plugins-enabled=PLUGINS
    Comma-separated enabled plugins

--plugins-disabled=PLUGINS
    Comma-separated disabled plugins

DESCRIPTION

Flexget is a powerful, plugin-driven Python tool for automating content acquisition from RSS feeds, Usenet, torrents, and direct downloads. Users define sophisticated rules in YAML config files to filter, prioritize, and manage media like TV shows, movies, and ebooks. It supports quality preferences, series tracking, notifications, and integration with download clients such as Transmission, Deluge, or SABnzbd.

Key features include daemon mode for continuous operation, entry manipulation via plugins (e.g., regex filters, IMDb lookup), scheduling, and database for tracking seen content. Flexget excels in handling complex scenarios like multi-source searching, path mapping, and post-processing scripts. It's highly customizable, with over 100 plugins available, making it ideal for headless Linux servers. Installation via pip: pip install flexget. Configuration at ~/.flexget/config.yml enables tasks with feeds, accept/reject rules, and downloaders.

CAVEATS

Heavy reliance on YAML config; requires Python 3.8+ and pip install. Not in standard repos; manual setup for daemon/service. Database can grow large with heavy use.

SUBCOMMANDS

Key: execute (run tasks), daemon start/stop/restart (background mode), check (scan feeds), db purge/vacuum (manage DB), install (setup series/movies). Use flexget COMMAND --help for details.

CONFIGURATION

Edit ~/.flexget/config.yml. Example task:

tasks:
mytv:
rss: https://example.com/feed
series: '*'
download: /path/to/downloads

HISTORY

Developed since 2008 by community; reached v3.x in 2020s with improved plugin system, async support, and YAML v1.2. Actively maintained on GitHub for TV/movie automation.

SEE ALSO

Copied to clipboard