选项->下载里面勾选Torrent 完成时运行外部程序
填入/path/to/up.sh "%F" "%N" "%L"
以下是up.sh脚本内容

#!/bin/bash
if [ -d "$1" ];then
  if [ "$3" = "" ]; then
    rclone copy "$1" gd:/Downloads/"$2" --use-mmap -v --transfers=1
  else
    rclone copy "$1" gd:/"$3"/"$2" --use-mmap -v --transfers=1
  fi
else
  if [ "$3" = "" ]; then
    rclone copy "$1" gd:/Downloads --use-mmap -v --transfers=1
  else
    rclone copy "$1" gd:/"$3" --use-mmap -v --transfers=1
  fi
fi

以上脚本假定rclone将Google Drive挂载为gd:,并将没有分类的种子上传到gd:/Downloads,有分类的种子上传到gd:/分类
参数解释:

  • --use-mmap
    • 如果设置了此标志,则rclone将使用mmap在基于Unix的平台上和Windows的VirtualAlloc分配的匿名内存作为其传输缓冲区(大小由--buffer-size)控制。这样分配的内存不会进入Go堆,并且可以在完成后立即返回到OS。
    • 如果未设置此标志,则rclone将使用Go内存分配器分配和释放缓冲区,这可能会使用更多内存,因为内存页被较少主动地返回给OS。
    • 这可能无法在所有平台上正常运行,因此默认情况下处于禁用状态。将来可能会默认启用。
  • -v 输出最低限的log。启用此项可以使用journalctl -u qbittorrent -f查看传输情况。qbittorrent是你自定义的qBittorrent-nox的systemd service文件名。
  • --transfers=1 同时传输文件个数。默认是4,因为我经常传输大文件所以调小一些以节约内存。大量小文件可以适量增大。

总之,因为官方的良好支持,编写qBittorrent自动上传的脚本并无太大难度。对的我是在明示aria2