FlexGet 官网是这样描述自己的,媒体文件的多功能自动化工具。可以支持 torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, 等等作为输入。FlexGet 是 Python 编写的,所以如果想要实现更加复杂的功能,也可以自己写脚本来处理。

FlexGet 一大被称道的就是可以实现 PT 或者 BT 的自动下载,并且直接传给 Deluge, transmission, uTorrent, rTorrent, SABnzb 等等客户端进行下载。FlexGet 也集成了 trakt, thetvdb.com, imdb.com 等等网站可以用来追踪剧集。

FlexGet 可以自定义任务,自定义运行时间,有一个友好的 Web 界面,然后还有很多很多有待发现的功能。

在没有了解到 FlexGet 之前,我都是手动将 torrent 文件下载到 ~/Downloads 目录中,然后在 crontab 中将下载目录中的所有 torrent 文件 rsync 到 Transmission 或者 ruTorrent 的 watch 文件夹中的。

*/1 * * * * rsync -avz -e "ssh -p xxxx" --remove-source-files /home/einverne/Downloads/*.torrent xxx@ip:/share/Transmission/watch/

但是自从有了 Flexget 我发现借助 Flexget 可以实现很多自动化工作,以前手工执行的工作完全可以解放出来。比如将 PT 中收藏的内容自动下载到硬盘中,比如自动下载 PT 中最近更新的 Free 。

docker install

使用 Docker 进行安装,我这里用的是 wiserain/flexget 镜像:

docker create \
    --name=flexget \
    -e PUID=1000 \
    -e PGID=1000 \
    -e FG_WEBUI_PASSWD=yourhorriblesecret \
    -e FG_LOG_LEVEL=info \
    -e TZ=Asia/Shanghai \
    -p 3539:3539 \
    -v /Documents/flexget/config:/config \
    -v /Documents/flexget/downloads:/downloads \
    wiserain/flexget

说明:

  • config 目录中是 flexget 的配置文件
  • /data 目录可以保存 Flexget 下载的文件

Plugins

flexget 更多的插件可以在这里 查到。

template

templates:
  freespace:
    free_space:
      path: /home/down
      space: 10240
  qb:
    qbittorrent:
      path: /home/down
      host: localhost
      port: 8080
      username: admin
      password: password
  de:
    deluge:
      password: "deluge"
      path: /home/down
  tr:
    transmission:
      host: localhost
      port: 9091
      username: admin
      password: "password"
tasks:
  BTSchool:
    rss: https://pt.btschool.net/torrentrss.php?rows=10&tea1=1&tea2=1&tea3=1&tea4=1&linktype=dl&passkey=1111111111111111111111
    accept_all: yes
    template:
      - de
  HDChina:
    rss: https://hdchina.org/torrentrss.php?rows=10&tea15=1&tea16=1&icat=1&ismalldescr=1&isize=1&iuplder=1&linktype=dl&passkey=1111111111111111111111
    accept_all: yes
    template:
      - qb
    qbittorrent:
      label: HDChina
  CHDBits:
    rss: https://chdbits.co/torrentrss.php?rows=10&icat=1&ismalldescr=1&isize=1&iuplder=1&linktype=dl&passkey=1111111111111111111111
    accept_all: no
    if:
      - "'CHDPAD' in title": reject
      - "'CHDPad' in title": reject
      - "'CHD' in title": accept
    template:
      - tr
  U2:
    rss: https://u2.dmhy.org/torrentrss.php?rows=10&icat=1&ismalldescr=1&isize=1&iuplder=1&passkey=1111111111111111111111&linktype=dl&passkey=1111111111111111111111
    accept_all: no
    regexp:
      accept_excluding:
        - DVD
        - ADC
        - TTG
        - TSDM
      from: title
    download: /home/torrent/
  Mteam-sweety:
    rss: https://tp.m-team.cc/torrentrss.php?https=1&rows=10&cat410=1&cat429=1&ismalldescr=1&isize=1&iuplder=1&linktype=dl&passkey=1111111111111111111111
    accept_all: no
    regexp:
      accept:
        - sweety
      from: title
    download: /home/torrent/
  GZtown:
    rss: https://pt.gztown.net/torrentrss.php?rows=10&icat=1&ismalldescr=1&isize=1&iuplder=1&linktype=dl&passkey=1111111111111111111111
    accept_all: no
    if:
      - "'GZtown' in title": accept
    download: /home/torrent/
  HDSky:
    rss: https://hdsky.me/torrentrss.php?rows=10&tea6=1&tea1=1&tea28=1&tea9=1&tea31=1&tea18=1&linktype=dl&passkey=1111111111111111111111
    accept_all: yes
    download: /home/torrent/
  Ourbits:
    rss: https://ourbits.club/torrentrss.php?rows=10&tea1=1&tea2=1&tea3=1&tea12=1&tea42=1&tea31=1&tea46=1&linktype=dl&passkey=1111111111111111111111
    accept_all: yes
    download: /home/torrent/

定义 Schedules

schedules:
  - tasks: '*'
    interval:
      minutes: 1

tasks:
  ezrss:
    rss: http://eztv.ag/ezrss.xml
    accept_all: yes
    content_size:
      min: 200
      max: 4444
      strict: no
    download: /data
  ptschool:
    rss: https://pt.btschool.club/torrentrss.php
    accept_all: yes
    download: /data