diff --git a/ShellCrash_PR b/ShellCrash_PR new file mode 160000 index 0000000..6e278d6 --- /dev/null +++ b/ShellCrash_PR @@ -0,0 +1 @@ +Subproject commit 6e278d6abadeaa60d051bd54b77d932e2844d496 diff --git a/scripts/menu.sh b/scripts/menu.sh index 87c997b..e4dedf5 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/ash # Copyright (C) Juewuy CRASHDIR=$( @@ -233,6 +233,7 @@ log_pusher() { #日志菜单 [ -n "$push_bark" ] && stat_bark=32m已启用 || stat_bark=33m未启用 [ -n "$push_Po" ] && stat_Po=32m已启用 || stat_Po=33m未启用 [ -n "$push_PP" ] && stat_PP=32m已启用 || stat_PP=33m未启用 + [ -n "$push_SynoChat" ] && stat_SynoChat=32m已启用 || stat_SynoChat=33m未启用 [ "$task_push" = 1 ] && stat_task=32m已启用 || stat_task=33m未启用 [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 echo ----------------------------------------------- @@ -242,9 +243,10 @@ log_pusher() { #日志菜单 echo -e " 4 Bark推送-IOS ——\033[$stat_bark\033[0m" echo -e " 5 Passover推送 ——\033[$stat_Po\033[0m" echo -e " 6 PushPlus推送 ——\033[$stat_PP\033[0m" - echo -e " 7 推送任务日志 ——\033[$stat_task\033[0m" - echo -e " 8 设置设备名称 ——\033[$device_s\033[0m" - echo -e " 9 清空日志文件" + echo -e " 7 SynoChat推送 ——\033[$stat_SynoChat\033[0m" + echo -e " 8 推送任务日志 ——\033[$stat_task\033[0m" + echo -e " 9 设置设备名称 ——\033[$device_s\033[0m" + echo -e " 10 清空日志文件" echo ----------------------------------------------- read -p "请输入对应数字 > " num case $num in @@ -418,18 +420,54 @@ log_pusher() { #日志菜单 log_pusher ;; 7) + echo ----------------------------------------------- + if [ -n "$push_SynoChat" ]; then + read -p "确认关闭SynoChat日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_SynoChat= + setconfig push_SynoChat + } + else + echo ----------------------------------------------- + read -p "请输入你的Synology DSM主页地址 > " URL + echo ----------------------------------------------- + read -p "请输入你的Synology Chat Token > " TOKEN + echo ----------------------------------------------- + echo -e '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' + echo ----------------------------------------------- + read -p "请输入你的user_id > " USERID + if [ -n "$URL" ]; then + push_SynoChat=$USERID + setconfig push_SynoChat $USERID + setconfig push_ChatURL $URL + setconfig push_ChatTOKEN $TOKEN + setconfig push_ChatUSERID $USERID + ${CRASHDIR}/start.sh logger "已完成SynoChat日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + setconfig push_ChatURL + setconfig push_ChatTOKEN + setconfig push_ChatUSERID + push_SynoChat= + setconfig push_SynoChat + fi + fi + sleep 1 + log_pusher + ;; + 8) [ "$task_push" = 1 ] && task_push='' || task_push=1 setconfig task_push $task_push sleep 1 log_pusher ;; - 8) + 9) read -p "请输入本设备自定义推送名称 > " device_name setconfig device_name $device_name sleep 1 log_pusher ;; - 9) + 10) echo -e "\033[33m运行日志及任务日志均已清空!\033[0m" rm -rf ${TMPDIR}/ShellCrash.log sleep 1 diff --git a/scripts/start.sh b/scripts/start.sh index 0590e5a..be5bd20 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -128,6 +128,9 @@ logger() { #日志工具 content="{\"token\":\"${push_PP}\",\"title\":\"ShellCrash日志推送\",\"content\":\"$log_text\"}" webpush "$url" "$content" & } + [ -n "$push_SynoChat" ] && { + curl -X POST "${push_ChatURL}/webapi/entry.cgi?api=SYNO.Chat.External&method=chatbot&version=2&token=${push_ChatTOKEN}" -H 'content-Type: application/json' -d "payload={\"text\":\"${log_text}\", \"user_ids\":[${push_ChatUSERID}]}" >/dev/null 2>&1 + } } & } croncmd() { #定时任务工具