当前位置: 首页 > 工具软件 > FlexGet > 使用案例 >

家用服务器搭建总结-Flexget(三)

刁俊人
2023-12-01

接上一篇家用服务器搭建总结-Samba(二).,完成目录规划和samba文件共享服务器后,可以开始配置flexget + transmission的神奇组合了。

1 需求

最原始的很简单,就是希望服务器可以下载我想让它下载的torrent。经过调研,考虑使用flexget通过rss订阅的方式下载torrent。哪些希望下载的种子,可以是特定的搜索rss,或者是下载框的rss,或者是收藏rss,具体取决于实际情况。

2 实施

假定有三个需要订阅的rss($RSS_URL1,$RSS_URL2, $RSS_URL3),希望分别存放到三个目录内(比如/mnt/U//learning_room, /mnt/U/dressing_room/mnt/U/living_room

2.1 安装flexget

Debian10 默认安装了python2.7和python3.7。考虑到2.7马上就要不支持了,采用python3.7。

$ pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
$ pip3 install flexget --user
$ pip3 install transmissionrpc --user # 安装transmissionrpc支持

2.2 配置flexget

$ (dad) mkdir ~/.flexget
$ (dad) vim ~/.flexget/config.yml

配置内容包括三部分:

2.3.1 tasks

tasks是任务的意思,flexget管理多个任务。

tasks:
    dad-favor:
        rss:
            url: $RSS_URL1
            all_entries: yes
        template: LEARNING_ROOM
        priority: 1
        accept_all: yes
    mom-collection:
        rss:
            url: $RSS_URL2
            all_entries: yes
        template: DRESSING_ROOM
        priority: 1
        accept_all: yes
    watch_list:
        rss:
            url: $RSS_URL3
            all_entries: yes
        template: LIVING_ROOM
        priority: 1
        accept_all: yes

2.3.2 template

template定义了模板,定义了transmission的相关参数。

templates:
    LEARNING_ROOM:
        transmission:
            host: 127.0.0.1
            port: 9091
            path: /mnt/U/learning_room
    DRESSING_ROOM:
        transmission:
            host: 127.0.0.1
            port: 9091
            path: /mnt/U/dressing_room
    LIVING_ROOM:
        transmission:
            host: 127.0.0.1
            port: 9091
            path: /mnt/U/living_room

2.3.3 schedules定期任务

我在网页上把希望下载的内容,添加到收藏里,服务器每隔一段时间(本文的例子里是一个小时)去获取rss订阅的内容。

schedules:
    - tasks:
        - dad-favor
        - mom-collection
        - watch-list
      interval:
          minutes: 60

完成上述三个配置后,可以执行试试看:

$ (dad) flexget daemon start -d --autoreload-config
YYYY-MM-DD HH:MM INFO     manager     Daemonizing...
YYYY-MM-DD HH:MM INFO     manager     Daemonize complete. New PID: ddddd
$ (dad) ps faux | grep flexget
dad     ddddd   0.2  4.7  333692 97184 ?        Sl   HH:MM   0:00 /usr/bin/python3 /usr/local/bin/flexget daemon start -d --autoreload-config
$ (dad) flexget daemon status
There is a FlexGet process already running for this config, sending execution there.
YYYY-MM-DD HH:MM INFO     manager                       Daemon running. (PID: ddddd)
$ (dad) flexget execute      # 手工触发flexget去执行tasks,跑完就可以看到transmission添加了相关的下载任务
There is a FlexGet process already running for this config, sending execution there.
...
$ (dad) flexget daemon stop  # 停止flexget后台进程

3 完成

以后想下载东西,只需要在网页浏览的时候,收藏起来就好啦,对于开始下载的任务,可以再去掉收藏。完美!
之前有使用过一段时间的qBittorrent,但最后还是决定切换回transmission,具体如何迁移,请看下一篇家用服务器搭建总结-qBittorrent迁移Transmission(四)

 类似资料: