NPCHK Blog

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

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

前言

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

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

安裝Flexget

安裝Python軟體包管理工具:

apt-get update
apt-get install python-pip

更新Python軟體包管理工具:

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

安裝Flexget:

pip install 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」並重啟生效

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

apt-get install python-setuptools
easy_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專用:
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

設置Flexget刷新頻率

使用Cron並選擇默認的Nano:

crontab -e

例如每10分鐘刷新:

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

10分鐘後查看狀態:

flexget status







發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *