Linux配置PT自动自动下载环境:安装qbittorrent和Flexget

首页 / 教程相关 / 正文

一、Qbittorrent安装

1.安装软件源命令

apt-get update && sudo apt-get install software-properties-common -y

2.添加软件源

add-apt-repository ppa:qbittorrent-team/qbittorrent-stable

3.安装qbittorrent

apt-get update && sudo apt-get install qbittorrent-nox -y

4.设置开机启动

# 安装vim编辑器(新手建议学习使用nano)  
apt-get install vim  

# 新建并打开配置文件  
apt-get install vim -y && vim /etc/systemd/system/qbittorrent-nox.service  

复制以下到配置文件

[Unit]  
Description=qBittorrent-nox  
After=network.target  
[Service]  
User=root  
Type=forking  
RemainAfterExit=yes  
ExecStart=/usr/bin/qbittorrent-nox -d  
[Install]  
WantedBy=multi-user.target  
# 重新载入配置  
systemctl daemon-reload  

# 启动qbittorrent  
systemctl start qbittorrent-nox  

# 设置为开机启动  
systemctl enable qbittorrent-nox  

Qbittorrent安装并设置开机自启完成,默认登录地址服务器地址:8080
默认账号:admin 默认密码:adminadmin

5.Qbittorrent操作命令

操作命令
启动:systemctl start qbittorrent-nox
停止:systemctl stop qbittorrent-nox
状态:systemctl status qbittorrent-nox

二、Flexget安装

1.创建Linux新用户

脚本安装的Flexget使用普通用户操作,不使用root用户运行,操作的时候切换到普通用户即可;如果有非root账户,可跳过此步
# 说明:将命令中的sunpma用户替换成自行设定的用户  

# 创建用户  
useradd sunpma  

# 设置密码  
passwd sunpma  

# 创建用户文件  
mkdir /home/sunpma  

# 切换用户  
su sunpma  

2.使用脚本安装Flexget

# 安装脚本
bash <(wget -qO- https://github.com/Aniverse/inexistence/raw/master/00.Installation/package/flexget/install)  

# 配置脚本(自行设定后面的用户,密码,端口,然后粘贴运行即可)  
bash <(wget -qO- https://github.com/Aniverse/inexistence/raw/master/00.Installation/package/flexget/configure) -u 用户 -p 密码 -w 端口  

3.填写FlexGet配置文件

配置文件config.yml最好是本地创建好后上传到服务器,在SSH复制粘贴大概率会出错,本地也不要用TXT进行编辑,会导致编码不正确;

3.1 配置文件config.yml示例及说明

# 各种模板(用于下面任务执行时直接调用)
templates:
# 剩余空间模板,当path对应的路径的剩余空间小于space规定的数值的时候停止RSS下载 
  freespace:
    free_space:
      path: /
      space: 10240
# 下载模板  
#其中Path为下载地址,host无需修改,port为QB Web端口
  qb:
    qbittorrent:
      path: /home/anony/download/
      host: localhost
      port: 2017
      username: admin
      password: adminadmin
# 体积过滤模板,min 是符合条件的最小种子体积,max 是符合条件的最大种子体积,单位均为 MB
# strict是表示在无法确定大小的情况下是否下载
  size:
    content_size:
      min: 20
      max: 102400
      strict: no

# 任务(告诉Flexget怎么执行)
tasks:
# Web-HDSky 是任务名称,可以随便起
  HDSky:
    rss: https://hdsky.me/torrentrss.php

    verify_ssl_certificates: no

    if:
      #此句表示标题中有HDSky就下载,类似可以设置多个
      - "'HDSky' in title": accept
      #此句表示标题中有HDSkyweb就不下载
      - "'HDSkyweb' in title": reject

    #此段表示执行上面预设的模板,可根据需要增删  
    template:
      - freespace
      - size
      - qb

    #此段表示在QB里添加种子标签HDSky
    qbittorrent:
      label: HDSky

#此部分表示每三分钟自动执行一次上面HDSky下任务,若用此方法自动执行,需将末尾no改为yes(推荐使用cron自动执行,下文会说到)
#tasks 处写要执行 RSS 的任务名称,minutes 3 表示每隔 3 分钟执行一次上述任务,可以针对不同的 tasks 采用不同的 RSS 周期
# schedules:
#   - tasks: [HDSky,MTeam]
#     interval:
#       minutes: 3
#   - tasks: [TTG]
###     interval:
###       minutes: 1

# WebUI设定(根据需要更改)
web_server:
  port: 2021
  web_ui: yes
# base_url: /flexget
# base_url 是为了反代设置的,需要使用反代的话就取消这个的注释

# 默认关闭schedules功能,使用cron进行RSS
schedules: no

3.2 使用cron自动执行下载

使用 cron 的话,schedules 最好改成 no,正如以上设置默认的那样(schedules: no)
首先在 SSH 输入 crontab -e,选择一个文本编辑器,默认的 nano 即可 (nano 使用教程:http://man.linuxde.net/nano
设置 2 分钟执行一次 RSS,就在文件的最底下输入(这里的数字 2 就是 2 分钟执行一次的意思)
*/2 * * * * /usr/local/bin/flexget execute
保存、退出,之后可以在 WebUI 中看 Log 来判断 Flexget 是否有在正常工作

4.Flexget操作命令说明

命令作用
flexget -V查看Flexget版本
flexget check检查config.yml配置文件是否有格式错误
flexget execute正式RSS一次
flexget execute --learn正式RSS一次,但不下载种子,仅标记为已下载
flexget web passwd要设置的密码
flexget daemon start --daemonize开启 Webui 后台运行
which flexget查看flexget位置
crontab -e配置自动订阅
flexget status检查RSS订阅情况
flexget daemon reload-config修改配置文件后执行重新加载
su sunpma切换用户

三、注意

如果安装有宝塔面板等,以上使用的端口别忘了放行。
另外可搭配自动删除脚本实现无干预刷流量,有时间再写这个吧

参考:
SunPa'Blog
Githubusercontent
评论区
头像