当前位置:首页 > NAS > 正文内容

群晖Download Station下载 自动添加tracker

Yuki2025-02-15 16:49:44NAS138

控制面板——任务计划——新增——计划的任务——用户定义的脚本

常规——任务名称tracker用户账号root

计划——在以下天中运行(每天00:00)运行

任务设置

#!/bin/bash  


DISABLE_COLOR=false  


BLACK="\e[30m"  

RED="\e[31m"  

GREEN="\e[32m"  

YELLOW="\e[33m"  

BLUE="\e[34m"  

MAGENTA="\e[35m"  

CYAN="\e[36m"  

LIGHT_GRAY="\e[37m"  

DARK_GRAY="\e[90m"  

LIGHT_RED="\e[91m"  

LIGHT_GREEN="\e[92m"  

LIGHT_YELLOW="\e[93m"  

LIGHT_BLUE="\e[94m"  

LIGHT_MAGENTA="\e[95m"  

LIGHT_CYAN="\e[96m"  

WHITE="\e[97m"  

END="\e[0m"  


if [ $DISABLE_COLOR == true ]; then  

  BLACK=""  

  RED=""  

  GREEN=""  

  YELLOW=""  

  BLUE=""  

  MAGENTA=""  

  CYAN=""  

  LIGHT_GRAY=""  

  DARK_GRAY=""  

  LIGHT_RED=""  

  LIGHT_GREEN=""  

  LIGHT_YELLOW=""  

  LIGHT_BLUE=""  

  LIGHT_MAGENTA=""  

  LIGHT_CYAN=""  

  WHITE=""  

  END=""  

fi  


# 群晖DS 任务状态定义  

TASK_STATUS_WAITING=1  

TASK_STATUS_DOWNLOADING=2  

TASK_STATUS_PAUSED=3  

TASK_STATUS_FINISHING=4  

TASK_STATUS_FINISHED=5  

TASK_STATUS_HASH_CHECKING=6  

TASK_STATUS_SEEDING=7  

TASK_STATUS_FILEHOSTING_WAITING=8  

TASK_STATUS_EXTRACTING=9  

TASK_STATUS_ERROR=10  

TASK_STATUS_BROKEN_LINK=11  

TASK_STATUS_DESTINATION_NOT_EXIST=12  

TASK_STATUS_DESTINATION_DENIED=13  

TASK_STATUS_DISK_FULL=14  

TASK_STATUS_QUOTA_REACHED=15  

TASK_STATUS_TIMEOUT=16  

TASK_STATUS_EXCEED_MAX_FILE_SYSTEM_SIZE=17  

TASK_STATUS_EXCEED_MAX_DESTINATION_SIZE=18  

TASK_STATUS_EXCEED_MAX_TEMP_SIZE=19  

TASK_STATUS_ENCRYPTED_NAME_TOO_LONG=20  

TASK_STATUS_NAME_TOO_LONG=21  

TASK_STATUS_TORRENT_DUPLICATE=22  

TASK_STATUS_FILE_NOT_EXIST=23  

TASK_STATUS_REQUIRED_PREMIUM_ACCOUNT=24  

TASK_STATUS_NOT_SUPPORTED_TYPE=25  

TASK_STATUS_TRY_IT_LATER=26  

TASK_STATUS_TASK_ENCRYPTION=27  

TASK_STATUS_MISSING_PYTHON=28  

TASK_STATUS_PRIVATE_VIDEO=29  

TASK_STATUS_FTP_ENCRYPTION_NOT_SUPPORTED_TYPE=30  

TASK_STATUS_EXTRACT_FAILED=31  

TASK_STATUS_EXTRACT_FAILED_WRONG_PASSWORD=32  

TASK_STATUS_EXTRACT_FAILED_INVALID_ARCHIVE=33  

TASK_STATUS_EXTRACT_FAILED_QUOTA_REACHED=34  

TASK_STATUS_EXTRACT_FAILED_DISK_FULL=35  

TASK_STATUS_UNKNOWN=36  


trackerlistUrl="https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_all.txt"  

trackerlistUrl="https://cf.trackerslist.com/all.txt"  


trackerList=$(curl -f $trackerlistUrl 2>/dev/null)  

if [[ $? != 0 ]]; then  

  echo "Tracker list url unavailable please check url: $trackerlistUrl"  

  exit 1  

fi  

trackerList=$(echo '"'$trackerList'"' | jq -c 'split(" ")')  

trackerListLength=$(jq 'length' <<<$trackerList)  


if [[ $trackerListLength == 0 ]]; then  

  echo "No found tracker please check tracker list: $trackerlistUrl"  

  exit 1  

fi  


pakcageList=$(synowebapi --exec api=SYNO.Core.Package method=list version=2 additional='["status"]' 2>/dev/null | jq -c '.data.packages | map(select(.id == "DownloadStation"))')  


isRunning=$(jq -r 'map(select(.id == "DownloadStation") | .additional.status) | .[]' <<<$pakcageList)  


if [ $isRunning != "running" ]; then  

  echo -e "Download Station$RED not running$END exit"  

  exit  

fi  


echo "Download Station is running go next step"  


downloadList=$(synowebapi --exec api=SYNO.DownloadStation2.Task method=list version=2 limit=-1 "status=[$TASK_STATUS_DOWNLOADING]" 2>/dev/null | jq -c '.data.task | map(select(.type == "bt"))')  

downloadListCount=$(jq 'length' <<<$downloadList)  


if [[ $downloadListCount -eq 0 ]]; then  

  echo "Not found bt download task"  

  exit  

fi  


echo "Download tasks count: $downloadListCount"  


for idx in $(seq 0 $((downloadListCount - 1))); do  

  echo "----------------Task [$idx]------------------"  

  task=$(jq -c ".[$idx]" <<<$downloadList)  

  taskId=$(jq -r .id <<<$task)  

  taskName=$(jq -r .title <<<$task)  

  taskTrackerList=$(synowebapi --exec api=SYNO.DownloadStation2.Task.BT.Tracker method=list version=2 task_id="$taskId" limit=-1 2>/dev/null | jq -c '.')  

  taskTrackerListMap=$(jq -c '.data.items | reduce .[] as $i ({}; .[$i.url] = 1)' 2>/dev/null <<<$taskTrackerList)  

  if [[ $? != 0 ]]; then  

    echo "Task: 【$taskName】 is busy skip task; $taskTrackerList"  

    continue  

  fi  

  taskTrackerListCount=$(jq '.data.total' <<<$taskTrackerList)  

  echo "Task:【$taskName】 has tracker count: $taskTrackerListCount"  

  needAddedTrackerList=$(jq -c --argjson hashMap $taskTrackerListMap 'map(select(. | in($hashMap) == false))' <<<$trackerList)  

  needAddedTrackerListLength=$(jq 'length' <<<$needAddedTrackerList)  


  if [[ $needAddedTrackerListLength == 0 ]]; then  

    echo "The task does not need to add a new tracker"  

    continue  

  fi  


  echo "A list of trackers that need to be added to the task: $needAddedTrackerList , count: $needAddedTrackerListLength"  


  result=$(synowebapi --exec api=SYNO.DownloadStation2.Task.BT.Tracker method=add version=2 task_id=$taskId tracker=$needAddedTrackerList 2>/dev/null)  


  if [[ $(jq '.success' <<<$result) == true ]]; then  

    echo "Task: [$taskName] tracker list add success"  

  else  

    echo "Task: [$taskName] tracker list add fail"  

  fi  

done  


echo "Automatically add tracker script to complete" 


扫描二维码推送至手机访问。

版权声明:本文由发布,如需转载请注明出处。

本文链接:http://suzumiya.fun:8003/?id=45

分享给朋友:
返回列表

上一篇:群晖搭建clash实现科学代理

没有最新的文章了...

“群晖Download Station下载 自动添加tracker” 的相关文章

黑群晖显示真正CPU信息

黑群晖显示真正CPU信息

1.将ch_cpuinfo及LANG.txt上传到文件夹中2.使用putty以root权限登录黑群,执行以下命令:sudo -icd /volume1/web   ---[核对文件所在位置]./ch_cpuinfo选择输入【1】首次运行选择Y确认等待进度走完退出SSH重新登录DS...

群晖更新Docker容器方法

群晖更新Docker容器方法

事实上Docker容器不存在更新一说,只有替换,用新的替换旧的以达到“更新”的目的 1、打开Docker在注册表菜单搜索“需要更新的文件”点击下载2、打开Docker侧栏中的容器菜单,找到正在运行的“待更新”容器,点最右边的开关停止运行3、在容器菜单,找到刚才已经停止的“待更新”容器,点[...

群晖配置Clash

群晖配置Clash

配置文件创建config.yaml文件,需要上传到群晖的/docker/clash/文件夹中*只能用yaml不能用yml修改如下信息 # HTTP 代理端口port: 7890# SOCKS5 代理端口socks-port: 7891# 混合代理端口mixed-port: 7890# Li...

群晖文件夹清理缓存删除方法

群晖文件夹清理缓存删除方法

以download station为例sudo -i #进入存储空间1cd /volume1#查询文件大小du -ah --max-depth=1#进入该存储空间du -sh /volume1/@download#删除文件夹命令rm -rf /volume1/@download...

Synology群晖CPU构架查询表|NAS

Synology群晖CPU构架查询表|NAS

本文展示群晖NAS各个型号使用的cpu内存及套件架构,根据需求对照配置选购适合自己的NAS。群晖的架构与使用的cpu有关,常见的有xpenology、apollolake、braswell、xpen-haswell、xpen-silvermont,更多架构还有xpen-core2-sse41、pen...

群辉Alist套件长时间未登录找回密码

群辉Alist套件长时间未登录找回密码

长时间未登录alist导致alist用户名和密码不可用,提示Failed find user: record not found首先群晖控制面板打开SSH,MobaXterm登录群晖sudo -i打开root权限DSM7.x/var/packages/alist3/target/bin/alist...