更新code

This commit is contained in:
烟雨 2022-05-26 18:19:31 +08:00
parent b96146fd84
commit 94c76de85f

View File

@ -1,18 +1,25 @@
#!/usr/bin/env bash #!/usr/bin/env bash
## Build 20211208-001-test ## Build 20220525-001-test
## 导入通用变量与函数 ## 导入通用变量与函数
dir_shell=/ql/shell #dir_shell=/ql/shell
. $dir_shell/share.sh #. $dir_shell/share.sh
## 目录
dir_root=/ql
dir_config=$dir_root/config
dir_scripts=$dir_root/scripts
dir_log=$dir_root/log
dir_db=$dir_root/db
dir_code=$dir_log/code
## 预设的仓库及默认调用仓库设置 ## 预设的仓库及默认调用仓库设置
## 将"repo=$repo1"改成repo=$repo2"或其他,以默认调用其他仓库脚本日志 ## 将"repo=$repo4"改成repo=$repo4"或其他,以默认调用其他仓库脚本日志
## 也可自行搜索本脚本内的"name_js=("和"name_js_only",将"repo"改成"repo2"或其他,用以自由组合调用仓库的脚本日志 ## 也可自行搜索本脚本内的"name_js=("和"name_js_only",将"repo"改成"repo2"或其他,用以自由组合调用仓库的脚本日志
repo1='panghu999_jd_scripts' #预设的 panghu999 仓库 repo1='panghu999_jd_scripts' #预设的 panghu999 仓库
repo2='JDHelloWorld_jd_scripts' #预设的 JDHelloWorld 仓库 repo2='JDHelloWorld_jd_scripts' #预设的 JDHelloWorld 仓库
repo3='he1pu_JDHelp' #预设的 he1pu 仓库 repo3='he1pu_JDHelp' #预设的 he1pu 仓库
repo4='shufflewzc_faker2' #预设的 shufflewzc 仓库 repo4='shufflewzc_faker2' #预设的 Hyominn_hyominnn 仓库
repo5='Wenmoux_scripts_wen_chinnkarahoi' #预设的 Wenmoux 仓库,用于读取口袋书店互助码。需提前拉取温某人的仓库或口袋书店脚本并完整运行。 repo5='Wenmoux_scripts_wen_chinnkarahoi' #预设的 Wenmoux 仓库,用于读取口袋书店互助码。需提前拉取温某人的仓库或口袋书店脚本并完整运行。
repo6='Aaron-lv_sync_jd_scripts' #预设的 Aaron-lv 仓库 repo6='Aaron-lv_sync_jd_scripts' #预设的 Aaron-lv 仓库
repo7='smiek2221_scripts' #预设的 smiek2221 仓库 repo7='smiek2221_scripts' #预设的 smiek2221 仓库
@ -25,7 +32,7 @@ DEBUG="1"
proc_num="10" proc_num="10"
## 备份配置文件开关默认是1表示开启设置为0表示关闭。备份路径 /ql/config/bak/ ## 备份配置文件开关默认是1表示开启设置为0表示关闭。备份路径 /ql/config/bak/
BACKUP="1" BACKUP="0"
## 是否删除指定天数以前的备份文件开关默认是1表示开启设置为0表示关闭。删除路径 /ql/config/bak/ ## 是否删除指定天数以前的备份文件开关默认是1表示开启设置为0表示关闭。删除路径 /ql/config/bak/
CLEANBAK="1" CLEANBAK="1"
## 定义删除指定天数以前的备份文件 ## 定义删除指定天数以前的备份文件
@ -84,7 +91,7 @@ UpdateType="1"
## 定义是否自动安装或修复缺失的依赖默认为1表示自动修复留空或其他数值表示不修复。 ## 定义是否自动安装或修复缺失的依赖默认为1表示自动修复留空或其他数值表示不修复。
FixDependType="" FixDependType=""
## 定义监控修复的依赖名称 ## 定义监控修复的依赖名称
package_name="canvas png-js date-fns axios crypto-js ts-md5 tslib @types/node dotenv got md5 requests typescript fs require tslib jsdom download js-base64 tough-cookie tunnel ws qrcode-terminal jieba prettytable form-data json5 global-agent" package_name="canvas png-js date-fns axios crypto-js ts-md5 tslib @types/node dotenv got md5 requests typescript fs require jsdom download js-base64 tough-cookie tunnel ws jieba prettytable form-data json5 global-agent"
## 需组合的环境变量列表env_name需要和var_name一一对应如何有新活动按照格式添加(不懂勿动) ## 需组合的环境变量列表env_name需要和var_name一一对应如何有新活动按照格式添加(不懂勿动)
env_name=( env_name=(
@ -187,16 +194,39 @@ name_chinese=(
京喜token 京喜token
) )
# 定义 json 数据查询工具
def_envs_tool(){
for i in $@; do
curl -s --noproxy "*" "http://0.0.0.0:5600/api/envs?searchValue=$i" -H "Authorization: Bearer $token"
done
}
def_json_total(){
def_envs_tool $1 | grep -Eo "\{\"value[^\}]+[^\}]+\}" | jq -r .$2
}
def_json(){
def_envs_tool $1 | grep -Eo "\{\"value[^\}]+[^\}]+\}" | grep "$3" | jq -r .$2
}
def_json_value(){
cat "$1" | perl -pe "{s|\n||g; s|\},|\}\n|g}" | grep -Eo "\{[^\}]+}" | grep "$3" | jq -r .$2
}
def_sub(){
local i j
for i in $(def_json_total $1 $2 | awk '/'$3'/{print NR}'); do
j=$((i - 1));
echo $j
done
}
## 生成pt_pin清单 ## 生成pt_pin清单
gen_pt_pin_array() { gen_pt_pin_array() {
local envs=$(eval echo "\$JD_COOKIE") local envs=$(eval echo "\$JD_COOKIE")
local array=($(echo $envs | sed 's/&/ /g')) local array=($(echo $envs | sed 's/&/ /g'))
local tmp1 tmp2 i pt_pin_temp local tmp1 tmp2 i pt_pin_temp
for i in "${!array[@]}"; do pt_pin=($(eval echo "\$JD_COOKIE" | perl -pe "{s|&|\n|g; s|.*pt_pin=([^; ]+)(?=;?).*|\1|g}" | awk 'BEGIN{for(i=0;i<10;i++)hex[i]=i;hex["A"]=hex["a"]=10;hex["B"]=hex["b"]=11;hex["C"]=hex["c"]=12;hex["D"]=hex["d"]=13;hex["E"]=hex["e"]=14;hex["F"]=hex["f"]=15;}{gsub(/\+/," ");i=$0;while(match(i,/%../)){;if(RSTART>1);printf"%s",substr(i,1,RSTART-1);printf"%c",hex[substr(i,RSTART+1,1)]*16+hex[substr(i,RSTART+2,1)];i=substr(i,RSTART+RLENGTH);}print i;}'))
pt_pin_temp=$(echo ${array[i]} | perl -pe "{s|.*pt_pin=([^; ]+)(?=;?).*|\1|; s|%|\\\x|g}")
remark_name[i]=$(cat $dir_db/env.db | grep ${array[i]} | grep remarks | perl -pe "{s|.*remarks\":\"([^\"]+).*|\1|g}" | tail -1)
[[ $pt_pin_temp == *\\x* ]] && pt_pin[i]=$(printf $pt_pin_temp) || pt_pin[i]=$pt_pin_temp
done
} }
## 导出互助码的通用程序,$1去掉后缀的脚本名称$2config.sh中的后缀$3活动中文名称 ## 导出互助码的通用程序,$1去掉后缀的脚本名称$2config.sh中的后缀$3活动中文名称
@ -260,7 +290,7 @@ export_codes_sub() {
done done
tmp_for_other="$tmp_for_other@\${$config_name_my$j}" tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
else else
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!" echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
tmp_for_other="$tmp_for_other@\${$config_name_my$j}" tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
fi fi
else else
@ -294,7 +324,7 @@ export_codes_sub() {
done done
tmp_for_other="$tmp_for_other@\${$config_name_my$k}" tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
else else
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!" echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
tmp_for_other="$tmp_for_other@\${$config_name_my$k}" tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
fi fi
else else
@ -321,7 +351,7 @@ export_codes_sub() {
done done
tmp_for_other="$tmp_for_other@\${$config_name_my$n}" tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
else else
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!" echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
tmp_for_other="$tmp_for_other@\${$config_name_my$n}" tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
fi fi
else else
@ -395,7 +425,7 @@ export_codes_sub() {
done done
tmp_for_other="$tmp_for_other@\${$config_name_my$k}" tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
else else
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!" echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
tmp_for_other="$tmp_for_other@\${$config_name_my$k}" tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
fi fi
else else
@ -408,22 +438,22 @@ export_codes_sub() {
esac esac
fi fi
else else
echo "#【$(date +%X)】 未运行过 $chinese_name 的脚本,未产生日志" echo "#【`date +%X`】 未运行过 $chinese_name 的脚本,未产生日志"
fi fi
} }
## 汇总输出 ## 汇总输出
export_all_codes() { export_all_codes() {
gen_pt_pin_array gen_pt_pin_array
[[ $DEBUG = "1" ]] && echo -e "\n#【$(date +%X)】 当前 code.sh 的线程数量:$ps_num" [[ $DEBUG = "1" ]] && echo -e "\n#【`date +%X`】 当前 code.sh 的线程数量:$ps_num"
[[ $DEBUG = "1" ]] && echo -e "\n#【$(date +%X)】 预设的 JD_COOKIE 数量:$(echo $JD_COOKIE | grep -o 'pt_key' | wc -l)" [[ $DEBUG = "1" ]] && echo -e "\n#【`date +%X`】 预设的 JD_COOKIE 数量:`echo $JD_COOKIE | grep -o 'pt_key' | wc -l`"
[[ $DEBUG = "1" ]] && echo -e "\n#【$(date +%X)】 预设的 JD_COOKIE 环境变量数量:$(echo $JD_COOKIE | sed 's/&/\n/g' | wc -l)" [[ $DEBUG = "1" ]] && echo -e "\n#【`date +%X`】 预设的 JD_COOKIE 环境变量数量:`echo $JD_COOKIE | sed 's/&/\n/g' | wc -l`"
[[ $DEBUG = "1" && "$(echo $JD_COOKIE | sed 's/&/\n/g' | wc -l)" = "1" && "$(echo $JD_COOKIE | grep -o 'pt_key' | wc -l)" -gt 1 ]] && echo -e "\n#【$(date +%X)】 检测到您将多个 COOKIES 填写到单个环境变量值,请注意将各 COOKIES 采用 & 分隔,否则将无法完整输出互助码及互助规则!" [[ $DEBUG = "1" && "$(echo $JD_COOKIE | sed 's/&/\n/g' | wc -l)" = "1" && "$(echo $JD_COOKIE | grep -o 'pt_key' | wc -l)" -gt 1 ]] && echo -e "\n#【`date +%X`】 检测到您将多个 COOKIES 填写到单个环境变量值,请注意将各 COOKIES 采用 & 分隔,否则将无法完整输出互助码及互助规则!"
echo -e "\n#【$(date +%X)】 从日志提取互助码编号和配置文件中Cookie编号完全对应如果为空就是所有日志中都没有。\n\n#【$(date +%X)】 即使某个MyXxx变量未赋值也可以将其变量名填在ForOtherXxx中jtask脚本会自动过滤空值。\n" echo -e "\n#【`date +%X`】 从日志提取互助码编号和配置文件中Cookie编号完全对应如果为空就是所有日志中都没有。\n\n#【`date +%X`】 即使某个MyXxx变量未赋值也可以将其变量名填在ForOtherXxx中jtask脚本会自动过滤空值。\n"
if [[ $DiyHelpType = "1" ]]; then if [[ $DiyHelpType = "1" ]]; then
echo -e "#【$(date +%X)】 您已启用指定活动采用指定互助模板功能!" echo -e "#【`date +%X`】 您已启用指定活动采用指定互助模板功能!"
else else
echo -n "#【$(date +%X)】 您选择的互助码模板为:" echo -n "#【`date +%X`】 您选择的互助码模板为:"
case $HelpType in case $HelpType in
0) 0)
echo "所有账号助力码全部一致。" echo "所有账号助力码全部一致。"
@ -445,12 +475,12 @@ export_all_codes() {
;; ;;
esac esac
fi fi
[[ $BreakHelpType = "1" ]] && echo -e "\n#【$(date +%X)】 您已启用屏蔽模式,账号 $BreakHelpNum 将不被助力!" [[ $BreakHelpType = "1" ]] && echo -e "\n#【`date +%X`】 您已启用屏蔽模式,账号 $BreakHelpNum 将不被助力!"
if [ "$ps_num" -gt $proc_num ]; then if [ "$ps_num" -gt $proc_num ]; then
echo -e "\n#【$(date +%X)】 检测到 code.sh 的线程过多 ,请稍后再试!" echo -e "\n#【`date +%X`】 检测到 code.sh 的线程过多 ,请稍后再试!"
exit exit
else else
[[ $repo ]] && echo -e "\n#【$(date +%X)】 默认查询 $repo 的活动脚本日志,格式化导出互助码,生成互助规则!" || echo -e "\n#【$(date +%X)】 遍历活动脚本日志,格式化导出互助码,生成互助规则!" [[ $repo ]] && echo -e "\n#【`date +%X`】 默认查询 $repo 的活动脚本日志,格式化导出互助码,生成互助规则!" || echo -e "\n#【`date +%X`】 遍历活动脚本日志,格式化导出互助码,生成互助规则!"
# dump_user_info # dump_user_info
for ((i = 0; i < ${#name_js[*]}; i++)); do for ((i = 0; i < ${#name_js[*]}; i++)); do
echo -e "\n## ${name_chinese[i]}" echo -e "\n## ${name_chinese[i]}"
@ -478,13 +508,13 @@ help_codes() {
if [ ! -f $ShareCode_log ] || [ -z "$(cat $ShareCode_log | grep "^$config_name_my\d")" ]; then if [ ! -f $ShareCode_log ] || [ -z "$(cat $ShareCode_log | grep "^$config_name_my\d")" ]; then
echo -e "\n## $chinese_name\n${config_name_my}1=''\n" >> $ShareCode_log echo -e "\n## $chinese_name\n${config_name_my}1=''\n" >> $ShareCode_log
fi fi
echo -e "\n#【$(date +%X)】 正在更新 $chinese_name 的互助码..." echo -e "\n#【`date +%X`】 正在更新 $chinese_name 的互助码..."
for ((i=1; i<=200; i++)); do for ((i=1; i<=200; i++)); do
local new_code="$(cat $latest_log_path | grep "^$config_name_my$i=.\+'$" | sed "s/\S\+'\([^']*\)'$/\1/")" local new_code="$(cat $latest_log_path | grep "^$config_name_my$i=.\+'$" | sed "s/\S\+'\([^']*\)'$/\1/")"
local old_code="$(cat $ShareCode_log | grep "^$config_name_my$i=.\+'$" | sed "s/\S\+'\([^']*\)'$/\1/")" local old_code="$(cat $ShareCode_log | grep "^$config_name_my$i=.\+'$" | sed "s/\S\+'\([^']*\)'$/\1/")"
if [[ $i -le $user_sum ]]; then if [[ $i -le $user_sum ]]; then
if [ -z "$(grep "^$config_name_my$i" $ShareCode_log)" ]; then if [ -z "$(grep "^$config_name_my$i" $ShareCode_log)" ]; then
sed -i "/^$config_name_my$(($i - 1))='.*'/ s/$/\n$config_name_my$i=\'\'/" $ShareCode_log sed -i "/^$config_name_my$[$i-1]='.*'/ s/$/\n$config_name_my$i=\'\'/" $ShareCode_log
fi fi
if [ "$new_code" != "$old_code" ]; then if [ "$new_code" != "$old_code" ]; then
if [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then if [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then
@ -514,7 +544,7 @@ help_rules() {
local i j k local i j k
#更新配置文件中的互助规则 #更新配置文件中的互助规则
echo -e "\n#【$(date +%X)】 正在更新 $chinese_name 的互助规则..." echo -e "\n#【`date +%X`】 正在更新 $chinese_name 的互助规则..."
if [ -z "$(cat $ShareCode_log | grep "^$config_name_for_other\d")" ]; then if [ -z "$(cat $ShareCode_log | grep "^$config_name_for_other\d")" ]; then
echo -e "${config_name_for_other}1=\"\"" >> $ShareCode_log echo -e "${config_name_for_other}1=\"\"" >> $ShareCode_log
fi fi
@ -523,7 +553,7 @@ help_rules() {
local old_rule="$(cat $ShareCode_log | grep "^$config_name_for_other$j=.\+\"$" | sed "s/\S\+\"\([^\"]*\)\"$/\1/")" local old_rule="$(cat $ShareCode_log | grep "^$config_name_for_other$j=.\+\"$" | sed "s/\S\+\"\([^\"]*\)\"$/\1/")"
if [[ $j -le $user_sum ]]; then if [[ $j -le $user_sum ]]; then
if [ -z "$(grep "^$config_name_for_other$j" $ShareCode_log)" ]; then if [ -z "$(grep "^$config_name_for_other$j" $ShareCode_log)" ]; then
sed -i "/^$config_name_for_other$(($j - 1))=".*"/ s/$/\n$config_name_for_other$j=\"\"/" $ShareCode_log sed -i "/^$config_name_for_other$[$j-1]=".*"/ s/$/\n$config_name_for_other$j=\"\"/" $ShareCode_log
fi fi
if [ "$new_rule" != "$old_rule" ]; then if [ "$new_rule" != "$old_rule" ]; then
sed -i "s/^$config_name_for_other$j=\"$old_rule\"$/$config_name_for_other$j=\"$new_rule\"/" $ShareCode_log sed -i "s/^$config_name_for_other$j=\"$old_rule\"$/$config_name_for_other$j=\"$new_rule\"/" $ShareCode_log
@ -578,7 +608,7 @@ export_codes_sub_only() {
echo "## 从日志中未找到任何互助码" echo "## 从日志中未找到任何互助码"
fi fi
else else
echo "#【$(date +%X)】 未运行过 $chinese_name 的脚本,未产生日志" echo "#【`date +%X`】 未运行过 $chinese_name 的脚本,未产生日志"
fi fi
} }
@ -588,42 +618,41 @@ update_help() {
1) 1)
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
backup_del backup_del
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助码和互助规则" echo -e "\n#【`date +%X`】 开始更新配置文件的互助码和互助规则"
for ((i = 0; i < ${#name_config[*]}; i++)); do for ((i = 0; i < ${#name_config[*]}; i++)); do
help_codes "${name_config[i]}" "${name_chinese[i]}" { help_codes "${name_config[i]}" "${name_chinese[i]}"; [[ "${name_config[i]}" != "TokenJxnc" ]] && help_rules "${name_config[i]}" "${name_chinese[i]}"; } &
[[ "${name_config[i]}" != "TokenJxnc" ]] && help_rules "${name_config[i]}" "${name_chinese[i]}"
done done
echo -e "\n#【$(date +%X)】 配置文件的互助码和互助规则已完成更新" echo -e "\n#【`date +%X`】 配置文件的互助码和互助规则已完成更新"
elif [ ! -f $latest_log_path ]; then elif [ ! -f $latest_log_path ]; then
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!" echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
fi fi
;; ;;
2) 2)
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
backup_del backup_del
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助码,不更新互助规则" echo -e "\n#【`date +%X`】 开始更新配置文件的互助码,不更新互助规则"
for ((i = 0; i < ${#name_config[*]}; i++)); do for ((i = 0; i < ${#name_config[*]}; i++)); do
help_codes "${name_config[i]}" "${name_chinese[i]}" help_codes "${name_config[i]}" "${name_chinese[i]}" &
done done
echo -e "\n#【$(date +%X)】 配置文件的互助码已完成更新" echo -e "\n#【`date +%X`】 配置文件的互助码已完成更新"
elif [ ! -f $latest_log_path ]; then elif [ ! -f $latest_log_path ]; then
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!" echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
fi fi
;; ;;
3) 3)
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
backup_del backup_del
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助规则,不更新互助码" echo -e "\n#【`date +%X`】 开始更新配置文件的互助规则,不更新互助码"
for ((i = 0; i < ${#name_config[*]}; i++)); do for ((i = 0; i < ${#name_config[*]}; i++)); do
[[ "${name_config[i]}" != "TokenJxnc" ]] && help_rules "${name_config[i]}" "${name_chinese[i]}" [[ "${name_config[i]}" != "TokenJxnc" ]] && help_rules "${name_config[i]}" "${name_chinese[i]}" &
done done
echo -e "\n#【$(date +%X)】 配置文件的互助规则已完成更新" echo -e "\n#【`date +%X`】 配置文件的互助规则已完成更新"
elif [ ! -f $latest_log_path ]; then elif [ ! -f $latest_log_path ]; then
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!" echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
fi fi
;; ;;
*) *)
echo -e "\n#【$(date +%X)】 您已设置不更新配置文件的互助码和互助规则,跳过更新!" echo -e "\n#【`date +%X`】 您已设置不更新配置文件的互助码和互助规则,跳过更新!"
;; ;;
esac esac
} }
@ -642,9 +671,17 @@ dump_user_info() {
echo -e "\n## 账号用户名及 COOKIES 整理如下:" echo -e "\n## 账号用户名及 COOKIES 整理如下:"
local envs=$(eval echo "\$JD_COOKIE") local envs=$(eval echo "\$JD_COOKIE")
local array=($(echo $envs | sed 's/&/ /g')) local array=($(echo $envs | sed 's/&/ /g'))
for ((m = 0; m < ${#pt_pin[*]}; m++)); do for ((i = 0; i < ${#pt_pin[*]}; i++)); do
j=$((m + 1)) remarks[i]="$(def_json JD_COOKIE remarks "pin=${pin[i]};" | head -1)"
echo -e "## 用户名 $j${pt_pin[m]} 备注:${remark_name[m]} $(check_jd_cookie ${array[m]})\nCookie$j=\"${array[m]}\"" if [[ ${remarks[i]} == *@@* ]]; then
remarks_name[i]="($(echo ${remarks[i]} | awk -F '@@' '{print $1}'))"
elif [[ ${remarks[i]} && ${remarks[i]} != null ]]; then
remarks_name[i]="(${remarks[i]})"
else
remarks_name[i]="(未备注)"
fi
j=$((i + 1))
echo -e "## 用户名 $j${pt_pin[i]} 备注:${remark_name[i]} `check_jd_cookie ${array[i]}`\nCookie$j=\"${array[i]}\""
done done
} }
@ -654,7 +691,7 @@ backup_del() {
local diff_time local diff_time
if [[ $BACKUP = "1" ]]; then if [[ $BACKUP = "1" ]]; then
for ((i = 0; i < ${#name_config[*]}; i++)); do for ((i = 0; i < ${#name_config[*]}; i++)); do
[[ -f $dir_log/.ShareCode/${name_config[i]}.log ]] && cp $dir_log/.ShareCode/${name_config[i]}.log $dir_log/.bak_ShareCode/${name_config[i]}_$(date "+%Y-%m-%d-%H-%M-%S").log [[ -f $dir_log/.ShareCode/${name_config[i]}.log ]] && cp $dir_log/.ShareCode/${name_config[i]}.log $dir_log/.bak_ShareCode/${name_config[i]}_`date "+%Y-%m-%d-%H-%M-%S"`.log
done done
fi fi
if [[ $CLEANBAK = "1" ]]; then if [[ $CLEANBAK = "1" ]]; then
@ -712,24 +749,14 @@ install_node_dependencies_all() {
node_dependencies_ori_status $1 node_dependencies_ori_status $1
if [[ $? = 1 ]]; then if [[ $? = 1 ]]; then
[[ $1 = "canvas" ]] && { [[ $1 = "canvas" ]] && { cnpm uninstall $1; rm -rf /ql/scripts/node_modules/canvas; rm -rf /usr/local/lib/node_modules/lodash/canvas; } || cnpm uninstall $1
cnpm uninstall $1
rm -rf /ql/scripts/node_modules/canvas
rm -rf /usr/local/lib/node_modules/lodash/canvas
} || cnpm uninstall $1
elif [ $? = 2 ]; then elif [ $? = 2 ]; then
[[ $1 = "canvas" ]] && { [[ $1 = "canvas" ]] && { cnpm uninstall $1 -g; rm -rf /usr/local/lib/node_modules/canvas; } || cnpm uninstall $1 -g
cnpm uninstall $1 -g
rm -rf /usr/local/lib/node_modules/canvas
} || cnpm uninstall $1 -g
fi fi
node_dependencies_ori_status $1 node_dependencies_ori_status $1
if [[ $? != 3 && $? != 4 ]]; then if [[ $? != 3 && $? != 4 ]]; then
[[ $1 = "canvas" ]] && { [[ $1 = "canvas" ]] && { apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev; cnpm install $1 -g --force; } || cnpm install $1 -g --force
apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev
cnpm install $1 -g --force
} || cnpm install $1 -g --force
fi fi
} }
@ -748,7 +775,8 @@ install_node_dependencies_all() {
done done
} }
cnpm install -g cnpm [[ ! $(npm get registry | grep "taobao.org") ]] && npm config set registry http://registry.npm.taobao.org
npm install -g cnpm
[[ $(npm ls cnpm -g) =~ (empty) ]] && npm install cnpm -g [[ $(npm ls cnpm -g) =~ (empty) ]] && npm install cnpm -g
for i in $package_name; do for i in $package_name; do
install_node_dependencie $i install_node_dependencie $i
@ -790,20 +818,21 @@ batch_deps_scripts() {
} }
scripts_source=( scripts_source=(
https://cdn.jsdelivr.net/gh/ccwav/QLScript2@main/ql.js https://raw.fastgit.org/ccwav/QLScript2/main/ql.js
https://cdn.jsdelivr.net/gh/ccwav/QLScript2@main/sendNotify.js https://raw.fastgit.org/ccwav/QLScript2/main/sendNotify.js
https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js https://raw.fastgit.org/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
) )
download_scripts(){ download_scripts(){
if [[ "$(test_connect $1)" -eq "200" ]]; then if [[ "$(test_connect $1)" -eq "200" ]]; then
curl -C - -s --connect-timeout 5 --retry 3 --noproxy "*" $1 -o $dir_config/tmp_$2 curl -C - -s --connect-timeout 5 --retry 3 --noproxy "*" $1 -o $dir_config/tmp_$2
[[ $(get_remote_filesize $1) -eq $(get_local_filesize $dir_config/tmp_$2 ) ]] && mv -f $dir_config/tmp_$2 $dir_config/$2 || rm -rf $dir_config/tmp_$2 [[ $(get_remote_filesize $1) -eq $(get_local_filesize $dir_config/tmp_$2 ) ]] && mv -f $dir_config/tmp_$2 $dir_config/$2 || rm -rf $dir_config/tmp_$2
#curl -C - -s --connect-timeout 5 --retry 3 --noproxy "*" $1 -o $dir_config/$2
fi fi
} }
for ((i = 0; i < ${#scripts_source[*]}; i++)); do for ((i = 0; i < ${#scripts_source[*]}; i++)); do
{ if [[ ${switch_status[i]} = "on" ]]; then download_scripts ${scripts_source[i]} ${scripts_name[i]}; fi; } & { if [[ ${switch_status[i]} = "on" ]]; then download_scripts ${scripts_source[i]} ${scripts_name[i]}; fi } &
done done
} }