更新code
This commit is contained in:
parent
b96146fd84
commit
94c76de85f
@ -1,22 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Build 20211208-001-test
|
||||
## Build 20220525-001-test
|
||||
|
||||
## 导入通用变量与函数
|
||||
dir_shell=/ql/shell
|
||||
. $dir_shell/share.sh
|
||||
#dir_shell=/ql/shell
|
||||
#. $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"或其他,用以自由组合调用仓库的脚本日志
|
||||
repo1='panghu999_jd_scripts' #预设的 panghu999 仓库
|
||||
repo2='JDHelloWorld_jd_scripts' #预设的 JDHelloWorld 仓库
|
||||
repo3='he1pu_JDHelp' #预设的 he1pu 仓库
|
||||
repo4='shufflewzc_faker2' #预设的 shufflewzc 仓库
|
||||
repo5='Wenmoux_scripts_wen_chinnkarahoi' #预设的 Wenmoux 仓库,用于读取口袋书店互助码。需提前拉取温某人的仓库或口袋书店脚本并完整运行。
|
||||
repo6='Aaron-lv_sync_jd_scripts' #预设的 Aaron-lv 仓库
|
||||
repo7='smiek2221_scripts' #预设的 smiek2221 仓库
|
||||
repo="" #空值,表示遍历所有仓库脚本日志
|
||||
repo1='panghu999_jd_scripts' #预设的 panghu999 仓库
|
||||
repo2='JDHelloWorld_jd_scripts' #预设的 JDHelloWorld 仓库
|
||||
repo3='he1pu_JDHelp' #预设的 he1pu 仓库
|
||||
repo4='shufflewzc_faker2' #预设的 Hyominn_hyominnn 仓库
|
||||
repo5='Wenmoux_scripts_wen_chinnkarahoi' #预设的 Wenmoux 仓库,用于读取口袋书店互助码。需提前拉取温某人的仓库或口袋书店脚本并完整运行。
|
||||
repo6='Aaron-lv_sync_jd_scripts' #预设的 Aaron-lv 仓库
|
||||
repo7='smiek2221_scripts' #预设的 smiek2221 仓库
|
||||
repo="" #空值,表示遍历所有仓库脚本日志
|
||||
|
||||
## 调试模式开关,默认是0,表示关闭;设置为1,表示开启
|
||||
DEBUG="1"
|
||||
@ -25,7 +32,7 @@ DEBUG="1"
|
||||
proc_num="10"
|
||||
|
||||
## 备份配置文件开关,默认是1,表示开启;设置为0,表示关闭。备份路径 /ql/config/bak/
|
||||
BACKUP="1"
|
||||
BACKUP="0"
|
||||
## 是否删除指定天数以前的备份文件开关,默认是1,表示开启;设置为0,表示关闭。删除路径 /ql/config/bak/
|
||||
CLEANBAK="1"
|
||||
## 定义删除指定天数以前的备份文件
|
||||
@ -48,20 +55,20 @@ front_num="5"
|
||||
## 如果只是想要控制某个活动以执行某种互助规则,可以参考下面 case 这个命令的例子来控制
|
||||
## 活动名称参见 name_config 定义内容;具体可在本脚本中搜索 name_config=( 获悉
|
||||
DiyHelpType=""
|
||||
diy_help_rules() {
|
||||
diy_help_rules(){
|
||||
case $1 in
|
||||
Fruit)
|
||||
tmp_helptype="0" # 东东农场使用“全部一致互助模板”,所有账户要助力的码全部一致
|
||||
;;
|
||||
DreamFactory | JdFactory)
|
||||
tmp_helptype="1" # 京喜工厂和东东工厂使用“均等机会互助模板”,所有账户获得助力次数一致
|
||||
;;
|
||||
Jdzz | Joy)
|
||||
tmp_helptype="2" # 京东赚赚和疯狂的Joy使用“随机顺序互助模板”,本套脚本内账号间随机顺序助力,每次生成的顺序都不一致。
|
||||
;;
|
||||
*)
|
||||
tmp_helptype=$HelpType # 其他活动仍按默认互助模板生产互助规则。
|
||||
;;
|
||||
Fruit)
|
||||
tmp_helptype="0" # 东东农场使用“全部一致互助模板”,所有账户要助力的码全部一致
|
||||
;;
|
||||
DreamFactory | JdFactory)
|
||||
tmp_helptype="1" # 京喜工厂和东东工厂使用“均等机会互助模板”,所有账户获得助力次数一致
|
||||
;;
|
||||
Jdzz | Joy)
|
||||
tmp_helptype="2" # 京东赚赚和疯狂的Joy使用“随机顺序互助模板”,本套脚本内账号间随机顺序助力,每次生成的顺序都不一致。
|
||||
;;
|
||||
*)
|
||||
tmp_helptype=$HelpType # 其他活动仍按默认互助模板生产互助规则。
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@ -74,8 +81,8 @@ diy_help_rules() {
|
||||
## c) 设定为 BreakHelpNum="6-12" 表示从第 6 至 12 个账号均不被助力;
|
||||
## d) 设定为 BreakHelpNum="4 9-14 15~18 19_21" 表示第4个账号、第9至14账号、第15至18账号、第19至21账号均不被助力。注意序号区间连接符仅支持 - ~ _;
|
||||
## 不按示例填写可能引发报错。
|
||||
BreakHelpType="0" ## 屏蔽模式
|
||||
BreakHelpNum="4 9-14 15~18 19_21" ## 屏蔽账号序号或序号区间
|
||||
BreakHelpType="0" ## 屏蔽模式
|
||||
BreakHelpNum="4 9-14 15~18 19_21" ## 屏蔽账号序号或序号区间
|
||||
|
||||
## 定义是否自动更新配置文件中的互助码和互助规则
|
||||
## 默认为 UpdateType="1" 表示更新互助码和互助规则;UpdateType="2" 表示只更新互助码,不更新互助规则;UpdateType="3" 表示只更新互助规则,不更新互助码;留空或其他数值表示不更新。
|
||||
@ -84,119 +91,142 @@ UpdateType="1"
|
||||
## 定义是否自动安装或修复缺失的依赖,默认为1,表示自动修复;留空或其他数值表示不修复。
|
||||
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=(
|
||||
FRUITSHARECODES
|
||||
PETSHARECODES
|
||||
PLANT_BEAN_SHARECODES
|
||||
DREAM_FACTORY_SHARE_CODES
|
||||
DDFACTORY_SHARECODES
|
||||
JDJOY_SHARECODES
|
||||
JDZZ_SHARECODES
|
||||
JXNC_SHARECODES
|
||||
BOOKSHOP_SHARECODES
|
||||
JD_CASH_SHARECODES
|
||||
JDSGMH_SHARECODES
|
||||
JDCFD_SHARECODES
|
||||
JDHEALTH_SHARECODES
|
||||
JD818_SHARECODES
|
||||
CITY_SHARECODES
|
||||
MONEYTREE_SHARECODES
|
||||
FRUITSHARECODES
|
||||
PETSHARECODES
|
||||
PLANT_BEAN_SHARECODES
|
||||
DREAM_FACTORY_SHARE_CODES
|
||||
DDFACTORY_SHARECODES
|
||||
JDJOY_SHARECODES
|
||||
JDZZ_SHARECODES
|
||||
JXNC_SHARECODES
|
||||
BOOKSHOP_SHARECODES
|
||||
JD_CASH_SHARECODES
|
||||
JDSGMH_SHARECODES
|
||||
JDCFD_SHARECODES
|
||||
JDHEALTH_SHARECODES
|
||||
JD818_SHARECODES
|
||||
CITY_SHARECODES
|
||||
MONEYTREE_SHARECODES
|
||||
)
|
||||
var_name=(
|
||||
ForOtherFruit
|
||||
ForOtherPet
|
||||
ForOtherBean
|
||||
ForOtherDreamFactory
|
||||
ForOtherJdFactory
|
||||
ForOtherJoy
|
||||
ForOtherJdzz
|
||||
ForOtherJxnc
|
||||
ForOtherBookShop
|
||||
ForOtherCash
|
||||
ForOtherSgmh
|
||||
ForOtherCfd
|
||||
ForOtherHealth
|
||||
ForOtherCarni
|
||||
ForOtherCity
|
||||
ForOtherMoneyTree
|
||||
ForOtherFruit
|
||||
ForOtherPet
|
||||
ForOtherBean
|
||||
ForOtherDreamFactory
|
||||
ForOtherJdFactory
|
||||
ForOtherJoy
|
||||
ForOtherJdzz
|
||||
ForOtherJxnc
|
||||
ForOtherBookShop
|
||||
ForOtherCash
|
||||
ForOtherSgmh
|
||||
ForOtherCfd
|
||||
ForOtherHealth
|
||||
ForOtherCarni
|
||||
ForOtherCity
|
||||
ForOtherMoneyTree
|
||||
)
|
||||
|
||||
## name_js为脚本文件名,如果使用ql repo命令拉取,文件名含有作者名
|
||||
## 所有有互助码的活动,把脚本名称列在 name_js 中,对应 config.sh 中互助码后缀列在 name_config 中,中文名称列在 name_chinese 中。
|
||||
## name_js、name_config 和 name_chinese 中的三个名称必须一一对应。
|
||||
name_js=(
|
||||
"$repo"_jd_fruit
|
||||
"$repo"_jd_pet
|
||||
"$repo"_jd_plantBean
|
||||
"$repo"_jd_dreamFactory
|
||||
"$repo"_jd_jdfactory
|
||||
"$repo"_jd_crazy_joy
|
||||
"$repo"_jd_jdzz
|
||||
"$repo"_jd_jxnc
|
||||
"$repo"_jd_bookshop
|
||||
"$repo"_jd_cash
|
||||
"$repo"_jd_sgmh
|
||||
"$repo"_jd_cfd
|
||||
"$repo"_jd_health
|
||||
"$repo"_jd_carnivalcity
|
||||
"$repo"_jd_city
|
||||
"$repo"_jd_moneyTree_he?p
|
||||
"$repo"_jd_cfd
|
||||
"$repo"_jd_fruit
|
||||
"$repo"_jd_pet
|
||||
"$repo"_jd_plantBean
|
||||
"$repo"_jd_dreamFactory
|
||||
"$repo"_jd_jdfactory
|
||||
"$repo"_jd_crazy_joy
|
||||
"$repo"_jd_jdzz
|
||||
"$repo"_jd_jxnc
|
||||
"$repo"_jd_bookshop
|
||||
"$repo"_jd_cash
|
||||
"$repo"_jd_sgmh
|
||||
"$repo"_jd_cfd
|
||||
"$repo"_jd_health
|
||||
"$repo"_jd_carnivalcity
|
||||
"$repo"_jd_city
|
||||
"$repo"_jd_moneyTree_he?p
|
||||
"$repo"_jd_cfd
|
||||
)
|
||||
|
||||
name_config=(
|
||||
Fruit
|
||||
Pet
|
||||
Bean
|
||||
DreamFactory
|
||||
JdFactory
|
||||
Joy
|
||||
Jdzz
|
||||
Jxnc
|
||||
BookShop
|
||||
Cash
|
||||
Sgmh
|
||||
Cfd
|
||||
Health
|
||||
Carni
|
||||
City
|
||||
MoneyTree
|
||||
TokenJxnc
|
||||
Fruit
|
||||
Pet
|
||||
Bean
|
||||
DreamFactory
|
||||
JdFactory
|
||||
Joy
|
||||
Jdzz
|
||||
Jxnc
|
||||
BookShop
|
||||
Cash
|
||||
Sgmh
|
||||
Cfd
|
||||
Health
|
||||
Carni
|
||||
City
|
||||
MoneyTree
|
||||
TokenJxnc
|
||||
)
|
||||
|
||||
name_chinese=(
|
||||
东东农场
|
||||
东东萌宠
|
||||
京东种豆得豆
|
||||
京喜工厂
|
||||
东东工厂
|
||||
crazyJoy任务
|
||||
京东赚赚
|
||||
京喜农场
|
||||
口袋书店
|
||||
签到领现金
|
||||
闪购盲盒
|
||||
京喜财富岛
|
||||
东东健康社区
|
||||
京东手机狂欢城
|
||||
城城领现金
|
||||
摇钱树
|
||||
京喜token
|
||||
东东农场
|
||||
东东萌宠
|
||||
京东种豆得豆
|
||||
京喜工厂
|
||||
东东工厂
|
||||
crazyJoy任务
|
||||
京东赚赚
|
||||
京喜农场
|
||||
口袋书店
|
||||
签到领现金
|
||||
闪购盲盒
|
||||
京喜财富岛
|
||||
东东健康社区
|
||||
京东手机狂欢城
|
||||
城城领现金
|
||||
摇钱树
|
||||
京喜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清单
|
||||
gen_pt_pin_array() {
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local tmp1 tmp2 i pt_pin_temp
|
||||
for i in "${!array[@]}"; do
|
||||
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
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local tmp1 tmp2 i pt_pin_temp
|
||||
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;}'))
|
||||
}
|
||||
|
||||
## 导出互助码的通用程序,$1:去掉后缀的脚本名称,$2:config.sh中的后缀,$3:活动中文名称
|
||||
@ -214,7 +244,7 @@ export_codes_sub() {
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
if cd $dir_log &>/dev/null && [[ $(ls ./*$task_name*/*.log 2>/dev/null | wc -l) -gt 0 ]]; then
|
||||
if cd $dir_log &>/dev/null && [[ $(ls ./*$task_name*/*.log 2> /dev/null | wc -l) -gt 0 ]]; then
|
||||
## 寻找所有互助码以及对应的pt_pin
|
||||
i=0
|
||||
pt_pin_in_log=()
|
||||
@ -260,7 +290,7 @@ export_codes_sub() {
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
else
|
||||
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
fi
|
||||
else
|
||||
@ -294,7 +324,7 @@ export_codes_sub() {
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
else
|
||||
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
else
|
||||
@ -321,7 +351,7 @@ export_codes_sub() {
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
else
|
||||
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
fi
|
||||
else
|
||||
@ -347,7 +377,7 @@ export_codes_sub() {
|
||||
fi
|
||||
done
|
||||
tmp_ramdom_for_other=""
|
||||
random_num_list=$(seq $((front_num + 1)) $user_sum | sort -R)
|
||||
random_num_list=$(seq $((front_num+1)) $user_sum | sort -R)
|
||||
for x in $random_num_list; do
|
||||
tmp_ramdom_for_other="$tmp_ramdom_for_other@\${$config_name_my$x}"
|
||||
done
|
||||
@ -359,7 +389,7 @@ export_codes_sub() {
|
||||
HelpTemp="车头B模式"
|
||||
echo -e "\n## 采用\"$HelpTemp\"互助模板"
|
||||
[[ $user_sum -le $front_num ]] && front_num=$user_sum
|
||||
random_num_list=$(seq $((front_num + 1)) $user_sum | sort -R)
|
||||
random_num_list=$(seq $((front_num+1)) $user_sum | sort -R)
|
||||
for ((m = 0; m < ${#pt_pin[*]}; m++)); do
|
||||
tmp_for_other=""
|
||||
j=$((m + 1))
|
||||
@ -372,7 +402,7 @@ export_codes_sub() {
|
||||
done
|
||||
tmp_ramdom_for_other=""
|
||||
for x in $random_num_list; do
|
||||
[[ $m -eq $((x - 1)) ]] && continue
|
||||
[[ $m -eq $((x-1)) ]] && continue
|
||||
tmp_ramdom_for_other="$tmp_ramdom_for_other@\${$config_name_my$x}"
|
||||
done
|
||||
echo "$config_name_for_other$j=\"$tmp_for_other$tmp_ramdom_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
@ -395,7 +425,7 @@ export_codes_sub() {
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
else
|
||||
echo -e "\n#【$(date +%X)】 变量值填写不规范,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
else
|
||||
@ -408,22 +438,22 @@ export_codes_sub() {
|
||||
esac
|
||||
fi
|
||||
else
|
||||
echo "#【$(date +%X)】 未运行过 $chinese_name 的脚本,未产生日志"
|
||||
echo "#【`date +%X`】 未运行过 $chinese_name 的脚本,未产生日志"
|
||||
fi
|
||||
}
|
||||
|
||||
## 汇总输出
|
||||
export_all_codes() {
|
||||
gen_pt_pin_array
|
||||
[[ $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 | 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 采用 & 分隔,否则将无法完整输出互助码及互助规则!"
|
||||
echo -e "\n#【$(date +%X)】 从日志提取互助码,编号和配置文件中Cookie编号完全对应,如果为空就是所有日志中都没有。\n\n#【$(date +%X)】 即使某个MyXxx变量未赋值,也可以将其变量名填在ForOtherXxx中,jtask脚本会自动过滤空值。\n"
|
||||
[[ $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 | 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 采用 & 分隔,否则将无法完整输出互助码及互助规则!"
|
||||
echo -e "\n#【`date +%X`】 从日志提取互助码,编号和配置文件中Cookie编号完全对应,如果为空就是所有日志中都没有。\n\n#【`date +%X`】 即使某个MyXxx变量未赋值,也可以将其变量名填在ForOtherXxx中,jtask脚本会自动过滤空值。\n"
|
||||
if [[ $DiyHelpType = "1" ]]; then
|
||||
echo -e "#【$(date +%X)】 您已启用指定活动采用指定互助模板功能!"
|
||||
echo -e "#【`date +%X`】 您已启用指定活动采用指定互助模板功能!"
|
||||
else
|
||||
echo -n "#【$(date +%X)】 您选择的互助码模板为:"
|
||||
echo -n "#【`date +%X`】 您选择的互助码模板为:"
|
||||
case $HelpType in
|
||||
0)
|
||||
echo "所有账号助力码全部一致。"
|
||||
@ -440,17 +470,17 @@ export_all_codes() {
|
||||
4)
|
||||
echo "本套脚本内指定前 N 个账号优先助力,N 个以后账号间随机助力(随机部分账号顺序固定)。"
|
||||
;;
|
||||
*)
|
||||
*)
|
||||
echo "按账号编号优先。"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
[[ $BreakHelpType = "1" ]] && echo -e "\n#【$(date +%X)】 您已启用屏蔽模式,账号 $BreakHelpNum 将不被助力!"
|
||||
[[ $BreakHelpType = "1" ]] && echo -e "\n#【`date +%X`】 您已启用屏蔽模式,账号 $BreakHelpNum 将不被助力!"
|
||||
if [ "$ps_num" -gt $proc_num ]; then
|
||||
echo -e "\n#【$(date +%X)】 检测到 code.sh 的线程过多 ,请稍后再试!"
|
||||
echo -e "\n#【`date +%X`】 检测到 code.sh 的线程过多 ,请稍后再试!"
|
||||
exit
|
||||
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
|
||||
for ((i = 0; i < ${#name_js[*]}; i++)); do
|
||||
echo -e "\n## ${name_chinese[i]}:"
|
||||
@ -460,84 +490,84 @@ export_all_codes() {
|
||||
}
|
||||
|
||||
#更新配置文件中互助码的函数
|
||||
help_codes() {
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
local config_name=$1
|
||||
local chinese_name=$2
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local ShareCode_dir="$dir_log/.ShareCode"
|
||||
local ShareCode_log="$ShareCode_dir/$config_name.log"
|
||||
local i j k
|
||||
help_codes(){
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
local config_name=$1
|
||||
local chinese_name=$2
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local ShareCode_dir="$dir_log/.ShareCode"
|
||||
local ShareCode_log="$ShareCode_dir/$config_name.log"
|
||||
local i j k
|
||||
|
||||
#更新配置文件中的互助码
|
||||
[[ ! -d $ShareCode_dir ]] && mkdir -p $ShareCode_dir
|
||||
[[ "$1" = "TokenJxnc" ]] && config_name_my=$1
|
||||
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
|
||||
fi
|
||||
echo -e "\n#【$(date +%X)】 正在更新 $chinese_name 的互助码..."
|
||||
for ((i = 1; i <= 200; i++)); do
|
||||
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/")"
|
||||
if [[ $i -le $user_sum ]]; 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
|
||||
fi
|
||||
if [ "$new_code" != "$old_code" ]; then
|
||||
if [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then
|
||||
sed -i "s/^$config_name_my$i='$old_code'$/$config_name_my$i='$new_code'/" $ShareCode_log
|
||||
fi
|
||||
fi
|
||||
elif [[ $i -gt $user_sum ]] && [[ $i -gt 1 ]]; then
|
||||
sed -i "/^$config_name_my$i/d" $ShareCode_log
|
||||
elif [[ $i -eq 1 ]] && [[ -z "$new_code" ]]; then
|
||||
sed -i "s/^$config_name_my$i='\S*'$/$config_name_my$i=''/" $ShareCode_log
|
||||
#更新配置文件中的互助码
|
||||
[[ ! -d $ShareCode_dir ]] && mkdir -p $ShareCode_dir
|
||||
[[ "$1" = "TokenJxnc" ]] && config_name_my=$1
|
||||
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
|
||||
fi
|
||||
echo -e "\n#【`date +%X`】 正在更新 $chinese_name 的互助码..."
|
||||
for ((i=1; i<=200; i++)); do
|
||||
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/")"
|
||||
if [[ $i -le $user_sum ]]; 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
|
||||
fi
|
||||
done
|
||||
sed -i "1c ## 上次导入时间:$(date +%Y年%m月%d日\ %X)" $ShareCode_log
|
||||
if [ "$new_code" != "$old_code" ]; then
|
||||
if [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then
|
||||
sed -i "s/^$config_name_my$i='$old_code'$/$config_name_my$i='$new_code'/" $ShareCode_log
|
||||
fi
|
||||
fi
|
||||
elif [[ $i -gt $user_sum ]] && [[ $i -gt 1 ]]; then
|
||||
sed -i "/^$config_name_my$i/d" $ShareCode_log
|
||||
elif [[ $i -eq 1 ]] && [[ -z "$new_code" ]]; then
|
||||
sed -i "s/^$config_name_my$i='\S*'$/$config_name_my$i=''/" $ShareCode_log
|
||||
fi
|
||||
done
|
||||
sed -i "1c ## 上次导入时间:$(date +%Y年%m月%d日\ %X)" $ShareCode_log
|
||||
}
|
||||
|
||||
#更新配置文件中互助规则的函数
|
||||
help_rules() {
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
local config_name=$1
|
||||
local chinese_name=$2
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local ShareCode_dir="$dir_log/.ShareCode"
|
||||
local ShareCode_log="$ShareCode_dir/$config_name.log"
|
||||
local i j k
|
||||
help_rules(){
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
local config_name=$1
|
||||
local chinese_name=$2
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local ShareCode_dir="$dir_log/.ShareCode"
|
||||
local ShareCode_log="$ShareCode_dir/$config_name.log"
|
||||
local i j k
|
||||
|
||||
#更新配置文件中的互助规则
|
||||
echo -e "\n#【$(date +%X)】 正在更新 $chinese_name 的互助规则..."
|
||||
if [ -z "$(cat $ShareCode_log | grep "^$config_name_for_other\d")" ]; then
|
||||
echo -e "${config_name_for_other}1=\"\"" >>$ShareCode_log
|
||||
fi
|
||||
for ((j = 1; j <= 200; j++)); do
|
||||
local new_rule="$(cat $latest_log_path | 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 [ -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
|
||||
fi
|
||||
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
|
||||
fi
|
||||
elif [[ $j -gt $user_sum ]] && [[ $j -gt 1 ]]; then
|
||||
sed -i "/^$config_name_for_other$j/d" $ShareCode_log
|
||||
elif [[ $j -eq 1 ]] && [[ -z "$new_rule" ]]; then
|
||||
sed -i "s/^$config_name_for_other$j=\"\S*\"$/$config_name_for_other$j=\"\"/" $ShareCode_log
|
||||
#更新配置文件中的互助规则
|
||||
echo -e "\n#【`date +%X`】 正在更新 $chinese_name 的互助规则..."
|
||||
if [ -z "$(cat $ShareCode_log | grep "^$config_name_for_other\d")" ]; then
|
||||
echo -e "${config_name_for_other}1=\"\"" >> $ShareCode_log
|
||||
fi
|
||||
for ((j=1; j<=200; j++)); do
|
||||
local new_rule="$(cat $latest_log_path | 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 [ -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
|
||||
fi
|
||||
done
|
||||
sed -i "1c ## 上次导入时间:$(date +%Y年%m月%d日\ %X)" $ShareCode_log
|
||||
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
|
||||
fi
|
||||
elif [[ $j -gt $user_sum ]] && [[ $j -gt 1 ]]; then
|
||||
sed -i "/^$config_name_for_other$j/d" $ShareCode_log
|
||||
elif [[ $j -eq 1 ]] && [[ -z "$new_rule" ]]; then
|
||||
sed -i "s/^$config_name_for_other$j=\"\S*\"$/$config_name_for_other$j=\"\"/" $ShareCode_log
|
||||
fi
|
||||
done
|
||||
sed -i "1c ## 上次导入时间:$(date +%Y年%m月%d日\ %X)" $ShareCode_log
|
||||
}
|
||||
|
||||
export_codes_sub_only() {
|
||||
export_codes_sub_only(){
|
||||
if [ "$(cat $dir_scripts/"$repo"_jd_cfd.js | grep "// console.log(\`token")" != "" ]; then
|
||||
echo -e "\n# 正在修改 "$repo"_jd_cfd.js ,待完全运行 "$repo"_jd_cfd.js 后即可输出 token !"
|
||||
fi
|
||||
@ -549,7 +579,7 @@ export_codes_sub_only() {
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
if cd $dir_log &>/dev/null && [[ $(ls ./*$task_name*/*.log 2>/dev/null | wc -l) -gt 0 ]]; then
|
||||
if cd $dir_log &>/dev/null && [[ $(ls ./*$task_name*/*.log 2> /dev/null | wc -l) -gt 0 ]]; then
|
||||
## 寻找所有互助码以及对应的pt_pin
|
||||
i=0
|
||||
pt_pin_in_log=()
|
||||
@ -578,57 +608,56 @@ export_codes_sub_only() {
|
||||
echo "## 从日志中未找到任何互助码"
|
||||
fi
|
||||
else
|
||||
echo "#【$(date +%X)】 未运行过 $chinese_name 的脚本,未产生日志"
|
||||
echo "#【`date +%X`】 未运行过 $chinese_name 的脚本,未产生日志"
|
||||
fi
|
||||
}
|
||||
|
||||
#更新互助码和互助规则
|
||||
update_help() {
|
||||
case $UpdateType in
|
||||
update_help(){
|
||||
case $UpdateType in
|
||||
1)
|
||||
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
|
||||
backup_del
|
||||
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助码和互助规则"
|
||||
echo -e "\n#【`date +%X`】 开始更新配置文件的互助码和互助规则"
|
||||
for ((i = 0; i < ${#name_config[*]}; i++)); do
|
||||
help_codes "${name_config[i]}" "${name_chinese[i]}"
|
||||
[[ "${name_config[i]}" != "TokenJxnc" ]] && help_rules "${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]}"; } &
|
||||
done
|
||||
echo -e "\n#【$(date +%X)】 配置文件的互助码和互助规则已完成更新"
|
||||
echo -e "\n#【`date +%X`】 配置文件的互助码和互助规则已完成更新"
|
||||
elif [ ! -f $latest_log_path ]; then
|
||||
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
|
||||
backup_del
|
||||
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助码,不更新互助规则"
|
||||
echo -e "\n#【`date +%X`】 开始更新配置文件的互助码,不更新互助规则"
|
||||
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
|
||||
echo -e "\n#【$(date +%X)】 配置文件的互助码已完成更新"
|
||||
echo -e "\n#【`date +%X`】 配置文件的互助码已完成更新"
|
||||
elif [ ! -f $latest_log_path ]; then
|
||||
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
if [ "$ps_num" -le $proc_num ] && [ -f $latest_log_path ]; then
|
||||
backup_del
|
||||
echo -e "\n#【$(date +%X)】 开始更新配置文件的互助规则,不更新互助码"
|
||||
echo -e "\n#【`date +%X`】 开始更新配置文件的互助规则,不更新互助码"
|
||||
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
|
||||
echo -e "\n#【$(date +%X)】 配置文件的互助规则已完成更新"
|
||||
echo -e "\n#【`date +%X`】 配置文件的互助规则已完成更新"
|
||||
elif [ ! -f $latest_log_path ]; then
|
||||
echo -e "\n#【$(date +%X)】 日志文件不存在,请检查后重试!"
|
||||
echo -e "\n#【`date +%X`】 日志文件不存在,请检查后重试!"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo -e "\n#【$(date +%X)】 您已设置不更新配置文件的互助码和互助规则,跳过更新!"
|
||||
echo -e "\n#【`date +%X`】 您已设置不更新配置文件的互助码和互助规则,跳过更新!"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
|
||||
check_jd_cookie() {
|
||||
check_jd_cookie(){
|
||||
local test_connect="$(curl -I -s --connect-timeout 5 --retry 3 --noproxy "*" https://bean.m.jd.com/bean/signIndex.action -w %{http_code} | tail -n1)"
|
||||
local test_jd_cookie="$(curl -s --connect-timeout 5 --retry 3 --noproxy "*" "https://bean.m.jd.com/bean/signIndex.action" -H "cookie: $1")"
|
||||
if [ "$test_connect" -eq "302" ]; then
|
||||
@ -638,43 +667,51 @@ check_jd_cookie() {
|
||||
fi
|
||||
}
|
||||
|
||||
dump_user_info() {
|
||||
echo -e "\n## 账号用户名及 COOKIES 整理如下:"
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
for ((m = 0; m < ${#pt_pin[*]}; m++)); do
|
||||
j=$((m + 1))
|
||||
echo -e "## 用户名 $j:${pt_pin[m]} 备注:${remark_name[m]} $(check_jd_cookie ${array[m]})\nCookie$j=\"${array[m]}\""
|
||||
dump_user_info(){
|
||||
echo -e "\n## 账号用户名及 COOKIES 整理如下:"
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
for ((i = 0; i < ${#pt_pin[*]}; i++)); do
|
||||
remarks[i]="$(def_json JD_COOKIE remarks "pin=${pin[i]};" | head -1)"
|
||||
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
|
||||
}
|
||||
|
||||
backup_del() {
|
||||
[[ ! -d $dir_log/.bak_ShareCode ]] && mkdir -p $dir_log/.bak_ShareCode
|
||||
local bak_ShareCode_full_path_list=$(find $dir_log/.bak_ShareCode/ -name "*.log")
|
||||
local diff_time
|
||||
if [[ $BACKUP = "1" ]]; then
|
||||
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
|
||||
done
|
||||
fi
|
||||
if [[ $CLEANBAK = "1" ]]; then
|
||||
for log in $bak_ShareCode_full_path_list; do
|
||||
local log_date=$(echo $log | awk -F "_" '{print $NF}' | cut -c1-10)
|
||||
if [[ $(date +%s -d $log_date 2>/dev/null) ]]; then
|
||||
if [[ $is_macos -eq 1 ]]; then
|
||||
diff_time=$(($(date +%s) - $(date -j -f "%Y-%m-%d" "$log_date" +%s)))
|
||||
else
|
||||
diff_time=$(($(date +%s) - $(date +%s -d "$log_date")))
|
||||
fi
|
||||
[[ $diff_time -gt $(($CLEANBAK_DAYS * 86400)) ]] && rm -rf $log
|
||||
backup_del(){
|
||||
[[ ! -d $dir_log/.bak_ShareCode ]] && mkdir -p $dir_log/.bak_ShareCode
|
||||
local bak_ShareCode_full_path_list=$(find $dir_log/.bak_ShareCode/ -name "*.log")
|
||||
local diff_time
|
||||
if [[ $BACKUP = "1" ]]; then
|
||||
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
|
||||
done
|
||||
fi
|
||||
if [[ $CLEANBAK = "1" ]]; then
|
||||
for log in $bak_ShareCode_full_path_list; do
|
||||
local log_date=$(echo $log | awk -F "_" '{print $NF}' | cut -c1-10)
|
||||
if [[ $(date +%s -d $log_date 2>/dev/null) ]]; then
|
||||
if [[ $is_macos -eq 1 ]]; then
|
||||
diff_time=$(($(date +%s) - $(date -j -f "%Y-%m-%d" "$log_date" +%s)))
|
||||
else
|
||||
diff_time=$(($(date +%s) - $(date +%s -d "$log_date")))
|
||||
fi
|
||||
done
|
||||
fi
|
||||
[[ $diff_time -gt $(($CLEANBAK_DAYS * 86400)) ]] && rm -rf $log
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
#检查 node 依赖状态并修复
|
||||
install_node_dependencies_all() {
|
||||
node_dependencies_ori_status() {
|
||||
install_node_dependencies_all(){
|
||||
node_dependencies_ori_status(){
|
||||
if [[ -n $(echo $(cnpm ls $1) | grep ERR) ]]; then
|
||||
return 1
|
||||
elif [[ -n $(echo $(cnpm ls $1 -g) | grep ERR) ]]; then
|
||||
@ -686,54 +723,44 @@ install_node_dependencies_all() {
|
||||
fi
|
||||
}
|
||||
|
||||
test() {
|
||||
test(){
|
||||
for i in $@; do
|
||||
node_dependencies_ori_status
|
||||
echo -e "$i : $?"
|
||||
done
|
||||
}
|
||||
|
||||
install_node_dependencie() {
|
||||
# node_dependencies_ori_status $1
|
||||
# if [[ $? = 1 || $? = 2 ]]; then
|
||||
# cnpm uninstall $1
|
||||
# elif [[ $? = 3 ]]; then
|
||||
# cnpm uninstall $1 -g
|
||||
# fi
|
||||
#
|
||||
# node_dependencies_ori_status $1
|
||||
# if [[ $? = 4 ]]; then
|
||||
# if [[ $1 = "canvas" ]]; then
|
||||
# apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cnpm install $1 -g
|
||||
# else
|
||||
# cnpm install $1 -g --force
|
||||
# fi
|
||||
# fi
|
||||
install_node_dependencie(){
|
||||
# node_dependencies_ori_status $1
|
||||
# if [[ $? = 1 || $? = 2 ]]; then
|
||||
# cnpm uninstall $1
|
||||
# elif [[ $? = 3 ]]; then
|
||||
# cnpm uninstall $1 -g
|
||||
# fi
|
||||
#
|
||||
# node_dependencies_ori_status $1
|
||||
# if [[ $? = 4 ]]; then
|
||||
# if [[ $1 = "canvas" ]]; then
|
||||
# apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cnpm install $1 -g
|
||||
# else
|
||||
# cnpm install $1 -g --force
|
||||
# fi
|
||||
# fi
|
||||
|
||||
node_dependencies_ori_status $1
|
||||
if [[ $? = 1 ]]; then
|
||||
[[ $1 = "canvas" ]] && {
|
||||
cnpm uninstall $1
|
||||
rm -rf /ql/scripts/node_modules/canvas
|
||||
rm -rf /usr/local/lib/node_modules/lodash/canvas
|
||||
} || cnpm uninstall $1
|
||||
[[ $1 = "canvas" ]] && { 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
|
||||
[[ $1 = "canvas" ]] && {
|
||||
cnpm uninstall $1 -g
|
||||
rm -rf /usr/local/lib/node_modules/canvas
|
||||
} || cnpm uninstall $1 -g
|
||||
[[ $1 = "canvas" ]] && { cnpm uninstall $1 -g; rm -rf /usr/local/lib/node_modules/canvas; } || cnpm uninstall $1 -g
|
||||
fi
|
||||
|
||||
node_dependencies_ori_status $1
|
||||
if [[ $? != 3 && $? != 4 ]]; then
|
||||
[[ $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
|
||||
[[ $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
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_dependencies() {
|
||||
uninstall_dependencies(){
|
||||
for i in $package_name; do
|
||||
cnpm uninstall $i
|
||||
cnpm uninstall i $i
|
||||
@ -742,13 +769,14 @@ install_node_dependencies_all() {
|
||||
done
|
||||
}
|
||||
|
||||
check_node_dependencies_setup_status() {
|
||||
check_node_dependencies_setup_status(){
|
||||
for i in $package_name; do
|
||||
cnpm ls $i -g
|
||||
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
|
||||
for i in $package_name; do
|
||||
install_node_dependencie $i
|
||||
@ -760,50 +788,51 @@ install_node_dependencies_all() {
|
||||
#cnpm audit fix --force
|
||||
}
|
||||
|
||||
kill_proc() {
|
||||
ps -ef | grep "$1" | grep -Ev "$2" | awk '{print $1}' | xargs kill -9
|
||||
kill_proc(){
|
||||
ps -ef|grep "$1"|grep -Ev "$2"|awk '{print $1}'|xargs kill -9
|
||||
}
|
||||
|
||||
batch_deps_scripts() {
|
||||
batch_deps_scripts(){
|
||||
switch_status=(
|
||||
on
|
||||
on
|
||||
on
|
||||
on
|
||||
on
|
||||
on
|
||||
)
|
||||
|
||||
scripts_name=(
|
||||
ql.js
|
||||
sendNotify.js
|
||||
JD_DailyBonus.js
|
||||
ql.js
|
||||
sendNotify.js
|
||||
JD_DailyBonus.js
|
||||
)
|
||||
|
||||
test_connect() {
|
||||
test_connect(){
|
||||
curl -o /dev/null -s -w %{http_code} $1
|
||||
}
|
||||
|
||||
get_remote_filesize() {
|
||||
get_remote_filesize(){
|
||||
curl -sI $1 | grep -i Content-Length | awk '{print $2}'
|
||||
}
|
||||
|
||||
get_local_filesize() {
|
||||
stat -c %s $1
|
||||
get_local_filesize(){
|
||||
stat -c %s $1
|
||||
}
|
||||
|
||||
scripts_source=(
|
||||
https://cdn.jsdelivr.net/gh/ccwav/QLScript2@main/ql.js
|
||||
https://cdn.jsdelivr.net/gh/ccwav/QLScript2@main/sendNotify.js
|
||||
https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js
|
||||
https://raw.fastgit.org/ccwav/QLScript2/main/ql.js
|
||||
https://raw.fastgit.org/ccwav/QLScript2/main/sendNotify.js
|
||||
https://raw.fastgit.org/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
|
||||
)
|
||||
|
||||
download_scripts() {
|
||||
download_scripts(){
|
||||
if [[ "$(test_connect $1)" -eq "200" ]]; then
|
||||
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
|
||||
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
|
||||
#curl -C - -s --connect-timeout 5 --retry 3 --noproxy "*" $1 -o $dir_config/$2
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user