zzsj0928 / luci-app-pushbot

PushBot running on openwrt
359 stars 63 forks source link

报告两个DIY推送的缺陷 并且分析了下原因 请填写正确的Token/webhook 参数值错误,请检查设置项 #100

Open LOVE2CMOL opened 1 year ago

LOVE2CMOL commented 1 year ago

自定义推送 显示“读取设置出错,请检查设置项”,“请填写正确的Token/webhook" pushbot未运行 #78 /usr/bin/pushbot文件89行

[ -z "${dd_webhook}${pp_token}${we_webhook}${fs_webhook}${bark_token}${pushdeer_key}" ] && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】请填写正确的Token/Webhook " >> ${logfile} && return 1

原因 对webhook参数进行了检测而没对diy这种情况进行判断 diy没有webhook选项 导致为空 直接return

自定义推送 定时推送 提示 “【!!!】参数值错误,请检查设置项“ ”【!!!】推送失败,请检查网络或设置信息 “ /usr/bin/pushbot文件103行 diy_send()函数

/usr/bin/jq -r '.[]' ${tempjsonpath}|grep -w "null" && echo "`date "+%Y-%m-%d %H:%M:%S"` 【!!!】参数值错误,请检查设置项  `/usr/bin/jq -r '.' ${tempjsonpath}|grep "null"`" >> ${logfile} && return 1

原因 对jsonpath里面的参数进行了null的暴力检测 如果前面的(下面代码)参数缺少任意一个 jq就会填入null 而代码进行了null检测 导致return运行失败

    str_title_start=`/usr/bin/jq -r '.str_title_start' ${jsonpath}`
    str_title_end=`/usr/bin/jq -r '.str_title_end' ${jsonpath}`
    str_linefeed=`/usr/bin/jq -r '.str_linefeed' ${jsonpath}`
    str_splitline=`/usr/bin/jq -r '.str_splitline' ${jsonpath}`
    str_space=`/usr/bin/jq -r '.str_space' ${jsonpath}`
    str_tab=`/usr/bin/jq -r '.str_tab' ${jsonpath}`
    font_red=`/usr/bin/jq -r '.font_red' ${jsonpath}`
    font_green=`/usr/bin/jq -r '.font_green' ${jsonpath}`
    font_green2=`/usr/bin/jq -r '.font_green2' ${jsonpath}`
    font_blue=`/usr/bin/jq -r '.font_blue' ${jsonpath}`
    font_purple=`/usr/bin/jq -r '.font_purple' ${jsonpath}`
    font_end=`/usr/bin/jq -r '.font_end' ${jsonpath}`
    font_end2=`/usr/bin/jq -r '.font_end2' ${jsonpath}`
    percentsym=`/usr/bin/jq -r '.percentsym' ${jsonpath}`
    boldstar=`/usr/bin/jq -r '.boldstar' ${jsonpath}`
    table_tab=`/usr/bin/jq -r '.tabletab' ${jsonpath}`