树莓派安装flexget配合qbittorrent实现追剧自动化

环境

  • 树莓派3b with OpenMediaVault (与Raspbian相差无几)
  • QBitTorrent-nox 树莓派安装Qbt
  • python2.7-3.6
  • pip2 / pip3 (18.1以上)

准备

  • 剧集RSS
    • 我使用了 ShowRSS,但是其提供的(有些)种子链接自带CloudFlare的DDoS防护,下载前会等待几秒,导致Flexget无法成功获取种子文件。这里需要一个可以正常下载种子文件的RSS服务。

参考

步骤

安装前的准备工作

  1. 在安装flexget前,需要升级pip。如果pip版本低于18,在安装Flask依赖时会报错。
    pip install --upgrade pip
    # pip3
    pip3 install --upgrade pip
    # 或者按照官方方式,下载脚本后运行来安装
  2. 安装后需要将新版本pip链接到/usr/bin/下(需要取消链接旧pip,或apt卸载旧pip)
    # pip2
    ln -s /usr/local/bin/pip /usr/bin/pip
    # pip3
    ln -s /usr/local/bin/pip3 /usr/bin/pip3

安装Flexget

执行指令

# pip2
pip install flexget
# pip3
pip3 install flexget
# 选其一

配置Flexget

  1. 首先新建配置目录和保存种子文件的目录(配置文件目录为固定~/.flexget/,或者~/.config/flexget/,~/.flexget/的优先级高)
    # flexget配置文件夹
    mkdir ~/.flexget/
    # 自订下载文件夹
    mkdir /your/directory/here
  2. 在配置目录下新建config.yml配置文件,按照yml格式(官方强烈建议使用两格空格缩进,不要使用tab,但是实际测试vim配置为noexpandtab以及4格空格后使用也没有问题)写入配置。
    vim ~/.flexget/config.yml
    # 写入以下配置
    web_server: # 使用webui
        bind: 0.0.0.0 # 绑定地址,localhost需要nginx代理
        port: 8081 # web监听端口,设置为qbittorrent后一位方便记忆
        web_ui: yes # 开启webui
        run_v2: yes # 使用2.0版本(React编写)的ui
    
    schedules: # 配置定时更新
        - tasks: [Series] # 括号中填写下文的task 
          schedule:
              minute: "*/30" # 每隔30分钟更新,官方建议间隔不要低于30分钟,否则可能造成种子下载错乱
    
    tasks:
        Series: # task名称
            rss: http://showrss.info/user/xxx # RSS地址
            accept_all: yes # 如果不添加任何的过滤规则,则需要添加此字段(否则无法正常下载种子,因为flexget至少需要一项过滤规则)
            download: /root/Downloads/Torrents/ # 下载地址,填写之前新建目录
            qbittorrent: yes # qbittorrent相关配置,如果不想详细配置,填写yes即可,flexget会遵循qbt的默认设置
               # host: xxxxx # 指定qbittorrent的地址,如果在本机可填写localhost
               # port: 8080 # 指定qbittorrent的监听地址,因为无法下载种子,这里不确定填写qbt的web监听地址(默认为8080)还是qbt的监听地址(默认为8999)
               # username: xxxxxx # 指定qbt的登录用户名和密码,如果qbt中开启了忽略本地身份验证,这两项可以不填
               # password: ******

    如果选择的RSS订阅服务没有自带过滤选项,则需要在task下自订过滤规则。
    Flexget还提供了很多其他配置选项,可以在官网了解。

  3. 测试配置
    flexget --test --loglevel {waring|debug|info|...}

    如果没通过测试,检查输出的critical信息排查错误。
    注意这里的一个坑点,使用vim编辑完毕,在行间或句间wq退出后可能导致flexget检测到行间/句间的结束符(可能是我vim配置问题),需要删除整段重新填写。

  4. 设置webui登录密码
    flexget web passwd [your password here]

    对密码强度有一定要求。

  5. 运行flexget
    flexget daemon start -d
  6. 配置开机启动,在/etc/rc.local写入
    flexget daemon start -d
  7. 在浏览器输入IP+Port可以访问Flexget的webui。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据