NPCHK Blog

路邊小博客(<ゝω・)☆

[Linux] Flexget訂閱RSS自動下載教學

前言

我們可以使用Flexget為Deluge、Transmission、qBittorrent和rtorrent達成自動下載種子。
以下將會撰寫:

  • 安裝Flexget – Ubuntu/Debian
  • Flexget配置文件 — config.yml的基本寫法
  • Flexget與Bittorrent軟體的連接:
    • Deluge
    • Transmission
    • qBittorrent
    • rtorrent
  • 設置Flexget的自動執行與刷新時間

上次更新時間: 2020年3月5日

安裝Flexget

安裝Python軟體包管理工具:

apt update
apt install python3-pip

更新Python軟體包管理工具:

pip3 install --upgrade pip
hash -d pip3
pip3 install --upgrade setuptools

安裝Flexget:

pip3 install --ignore-installed flexget

配置文件

創建config.yml:

mkdir -p ~/.config/flexget
cd .config/flexget
touch config.yml

配置文件必須用YAML的格式編寫,子組件需比上級縮進兩空格。

nano config.yml

例子(1):
任務名稱是Anime,下載種子.torrent檔案到/home/torrent/並過濾名稱包含「hdtv」/「480p」/「720p」的種子
然後設置Bittorrent軟體的監控目錄為/home/torrent/即可。
缺點:不支援磁力鏈結

tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    download: /home/torrent/
    accept_all: yes
    regexp:
      reject:
        - hdtv
        - 480p
        - 720p

例子(2) Deluge專用:
Flexget可以直接Push種子/磁鏈給Deluge
使用前請打開Deluge的「Allow Remote Connections」並重啟生效
使用前需安裝「deluge-client」讓Flexget可以連接到Deluge

pip3 install deluge-client
tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    accept_all: yes
    deluge:
      host: 127.0.0.1
      port: 58846

例子(3) Transmission專用:
Flexget可以Push種子/磁鏈給Transmission
使用前需安裝「Transmission RPC」讓Flexget可以連接到Transmission

pip3 install transmissionrpc
tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    accept_all: yes
    transmission:
      host: 127.0.0.1
      port: 9091
      username: Transmission用戶名
      password: Transmission密碼

例子(4) qBittorrent專用:
Flexget可以直接Push種子/磁鏈給qBittorrent

tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    accept_all: yes
    qbittorrent:
      host: 127.0.0.1
      port: 8080
      username: qBittorrent用戶名
      password: qBittorrent密碼

例子(5) rtorrent專用:
建議使用rutorrent內置的rss功能
Flexget可以直接Push種子/磁鏈給rtorrent
方法一 (不安全 慎用): SCGI,SCGI端口根據.rtorrent.rc而定
已知問題: 最大Push數量為10/20顆種子

tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    accept_all: yes
    rtorrent:
      uri: scgi://127.0.0.1:5000

方法二: XMLRPC
已知問題: Push大量種子會導致紅種

tasks:
  Anime:
    rss: http://RSS-LINK.com/rss.php
    accept_all: yes
    rtorrent:
      uri: http://localhost:80/RPC2
      username: Rutorrent用戶名
      password: Rutorrent密碼

建議使用監控目錄方案 或 RuTorrent的RSS Plugin。

編輯後可以測試一下:

flexget --test execute

更多進階設置推薦參閱:
https://linkthis.me/2018/02/15/the-note-of-using-flexget/

設置Flexget刷新頻率

我們使用crontab進行工作排程:

crontab -e

如果出現類似以下輸出,建議選擇「/bin/nano」:

no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]:

輸入以下內容,例如每2分鐘刷新:

*/2 * * * * /usr/local/bin/flexget --cron execute

2分鐘後查看狀態:

flexget status

有問題可以查看日誌:

cat ~/.config/flexget/flexget.log






  1. MU表示:

    大大您好,設置Flexget刷新頻率我一直卡在這步驟,一直無法刷新
    使用Cron並選擇默認的Nano、例如每10分鐘刷新,
    這2個地方我一直不明白,希望大大能夠更仔細地說明,拜託了,感謝!

    1. Admin表示:

      感謝反饋,已經更新該部分了

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料