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

群晖Download Station下载 自动添加tracker

Yuki2025-02-15 16:49:44NAS93

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

常规——任务名称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” 的相关文章

群晖NAS实现外网映射本地磁盘访问

群晖NAS实现外网映射本地磁盘访问

1、我的电脑右键管理,点服务,找到WebClient服务,设置启动类型设置为自动2、同时按windows+R按键打开运行,输入regedit打开注册表,然后到注册表找到下面的路径HKEY_ LOCAL_MACHINE\SYSTEMICurrentControlSet\Services\WebClie...

关于最近docker套件无法读取注册表、拉取镜像的解决办法

关于最近docker套件无法读取注册表、拉取镜像的解决办法

据不可靠消息,https://hub.docker.com 应该是被墙了...Docker搜索应该是只能使用官方地址registry.hub.docker.com,被墙导致:查询注册表失败注意:被墙无法通过修改hosts来解决,只能魔法。1、打开docker套件-注册表-设置2、注册表镜像...

Jellyfin提示:该客户端与媒体不兼容,服务器未发送兼容的媒体格式,解决办法

Jellyfin提示:该客户端与媒体不兼容,服务器未发送兼容的媒体格式,解决办法

下载FFmpeg官网下载 选择Linux32-bit and 64-bit for kernel选择最新的amd64位下载安装FFmpeg解压并上传到jellyfin共享文件夹中现在进入jellyfin的管理页面,控制台-播放设置-FFmpeg路径选择上述共享文件夹测试播放...

群晖自动更新hosts

群晖自动更新hosts

关于群晖NAS video station TMDB连接测试失败及搜刮结果下载失败的解决方案如果使用过别的脚本或者hosts手动添加过相关的地址可以先在任务计划中执行以下脚本来清理hosts文件#!/bin/shLOCAL_HOST_LIST=`cat /etc/hosts | grep -v &q...

WinSCP修改NAS文件

WinSCP修改NAS文件

1 打开WinSCP root权限1.1 控制面板 - 终端机和SNMP - 启动SHH功能1.2 下载putty,填入NAS地址,填写端口号,选择SSH,点击Open1.3 弹出的页面中输入帐号密码(输入时无显示正常)1.4 然后输入sudo -i 输入密码进入root模式2 启用roo...

解决华擎J3455群晖918开关机极慢及局域网传输极低问题

解决华擎J3455群晖918开关机极慢及局域网传输极低问题

华擎J3455主板在安装使用黑群晖918时,开机引导到进入系统大约10分钟左右,而且局域网千兆传输最低甚至只有十几兆,所以这块主板也是NAS伙伴诟病最多的一块妖板。现在可以通过修改华擎j3455主板的,彻底解决安装使用群晖DSM系统时,开机启动极慢、局域网传输速度极不稳定,u盘传输异常等等问题。修改...