🧬Update 7.12
This commit is contained in:
parent
28cd9b1d4f
commit
fcdf7653d2
@ -18,7 +18,7 @@ RepoFileExtensions="js py ts"
|
||||
GithubProxyUrl=""
|
||||
|
||||
## 设置定时任务执行的超时时间,默认1h,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天
|
||||
CommandTimeoutTime="1h"
|
||||
CommandTimeoutTime="3h"
|
||||
|
||||
## 设置批量执行任务时的并发数,默认同时执行5个任务
|
||||
MaxConcurrentNum="20"
|
||||
|
||||
@ -1,20 +1,48 @@
|
||||
[ 文件 : code.sh ]
|
||||
2021.7.7.002
|
||||
1、task_before.sh的上次导入提示加上注释符#。
|
||||
[ 信物 : code.sh ]
|
||||
2021.7.11.003
|
||||
1、修正某些情况下屏蔽模式的范围扩大的 BUG (感谢 @tianliu 测试反馈);
|
||||
2、增加每次运行前强行终止一切 code.sh 进程。
|
||||
|
||||
2021.7.11.002
|
||||
1、集成修改curtinlv京东超市兑换脚本 cookies 环境变量的参数。原因:该环境变量在 config.sh 中设置无效。
|
||||
|
||||
2021.7.11.001
|
||||
1、改进更新互助码和互助规则的代码。当临时屏蔽账号时,所有账号靠前排位,自动剔除 task_before.sh 中多余的互助码和互助规则。
|
||||
|
||||
2021.7.10.001
|
||||
1、改进屏蔽模式,加入 pt_pin 用户名校验,以应对临时帐号禁用时,屏蔽模式序号错误的问题。此外,日志可以直出启用屏蔽模式的互助规则;
|
||||
2、修复全部一致助力模板的错误;
|
||||
3、格式化导出用户名改进为格式化导出用户名和 COOKIES ,以用于 V4 面板或其他用途;
|
||||
4、改进自定义调用仓库脚本日志用法。详见脚本或使用方法;
|
||||
5、增加删除指定天数前的 task_before 备份文件的功能;
|
||||
6、鉴于长期观察,默认线程控制数下调到 7 ,避免线程数过多出错。
|
||||
注:由于当前青龙面板存在脚本跑不完的BUG,所以建议定时任务的命令统一改成 bash /ql/config/code.sh &,避免互助码输出不完整。
|
||||
|
||||
2021.7.7.001
|
||||
1、增加指定活动使用指定互助模板功能。
|
||||
2、增加每个活动采用哪种互助模板的日志输出。
|
||||
3、增加改写 task_before.sh:显示上次完成更新互助码和互助规则的时间。
|
||||
|
||||
[ 文件 : task_before.sh ]
|
||||
[ 信物 : task_before.sh ]
|
||||
2021.7.3
|
||||
1、搭配最新 config.sh 模板的临时屏蔽某个 COOKIES 参加某个活动实现相应功能。
|
||||
|
||||
2021.7.2
|
||||
1、添加了京喜农场 Token 原始模板。可用于京喜财富岛提现。
|
||||
|
||||
[ 文件 : config_sample.sh ]
|
||||
[ 信物 : config_sample.sh ]
|
||||
2021.7.11.005
|
||||
1、增加 cdle 大佬"签到领现金兑换"环境变量(自动代码,默认为兑2元现金,可以改成兑10元现金)。
|
||||
|
||||
2021.7.11.004
|
||||
1、增加 cdle 大佬"全民运动会守卫红包"环境变量(需手动抓包)。
|
||||
|
||||
2021.7.11.003
|
||||
1、增加 cdle 大佬"愤怒的锦鲤"环境变量(自动代码,无需填写)。
|
||||
|
||||
2021.7.11.002
|
||||
1、屏蔽 curtinlv京东超市兑换脚本 cookies 环境变量的参数。原因:该环境变量在 config.sh 中设置无效。
|
||||
|
||||
2021.7.7.001
|
||||
1、调整Curtinlv变量的注释。
|
||||
|
||||
|
||||
@ -1,5 +1,23 @@
|
||||
更新日志:
|
||||
|
||||
2021.7.11.003
|
||||
1、修正某些情况下屏蔽模式的范围扩大的 BUG (感谢 @tianliu 测试反馈);
|
||||
2、增加每次运行前强行终止一切 code.sh 进程。
|
||||
|
||||
2021.7.11.002
|
||||
1、集成修改curtinlv京东超市兑换脚本 cookies 环境变量的参数。原因:该环境变量在 config.sh 中设置无效。
|
||||
|
||||
2021.7.11.001
|
||||
1、改进更新互助码和互助规则的代码。当临时屏蔽账号时,所有账号靠前排位,自动剔除 task_before.sh 中多余的互助码和互助规则。
|
||||
|
||||
2021.7.10.001
|
||||
1、改进屏蔽模式,加入 pt_pin 用户名校验,以应对临时帐号禁用时,屏蔽模式序号错误的问题。此外,日志可以直出启用屏蔽模式的互助规则;
|
||||
2、修复全部一致助力模板的错误;
|
||||
3、格式化导出用户名改进为格式化导出用户名和 COOKIES ,以用于 V4 面板或其他用途;
|
||||
4、改进自定义调用仓库脚本日志用法。详见脚本或使用方法,
|
||||
5、增加删除指定天数前的 task_before 备份文件的功能。
|
||||
注:由于当前青龙面板存在脚本跑不完的BUG,所以建议定时任务的命令统一改成 bash /ql/config/code.sh &,避免互助码输出不完整。
|
||||
|
||||
2021.7.7.002
|
||||
1、task_before.sh的上次导入提示加上注释符#。
|
||||
|
||||
|
||||
@ -1,93 +1,98 @@
|
||||
使用方法:
|
||||
|
||||
〇、code.sh 是基于青龙 2.2.0 的 code.sh 修改而来。只支持青龙 2.8.0 及以上。支持互助模板修改,支持活动中文名称显示等。
|
||||
〇、code.sh 是基于青龙 2.2.0 的 code.sh 修改而来。仅支持青龙 2.8.0 及以上。主要功能包括:①批量格式化导出互助码和互助规则,并自动填写、更新 task_before.sh 配置文件中的互助码和互助规则;②支持互助模板修改;③支持指定活动采用指定互助模板;④支持临时屏蔽某账号被助力(这些账号仍可助力其他账号);⑤支持 COOKIES 批量格式化导出;⑥支持自动备份旧的 task_before.sh 及删除过期的备份(可自定义过期时长)。
|
||||
|
||||
主要原理:
|
||||
a) code.sh运行分两个阶段:
|
||||
1、第一阶段:从各个活动脚本日志中搜索互助码,跟 COOKIES 校对后整理输出。根据你选择的互助规则模板,生成对应的互助规则。最新整理的互助码和互助规则输出到 code.sh 的日志,路径在/ql/log/code/;
|
||||
a) code.sh 工作主要分两个阶段:
|
||||
1、第一阶段:从各个活动脚本日志中搜索互助码,跟 COOKIES 的 pt_pin (用户名)校验后整理输出。根据你选择的互助规则模板,生成对应的互助规则。最新整理的互助码和互助规则输出到 code.sh 的日志,日志路径在 /ql/log/code/;
|
||||
2、第二阶段:读取 code.sh 的日志和 task_before.sh 。校对每一条互助码和互助规则内容,如果内容不一致,则自动改写更新 task_before.sh 的互助码和互助规则。当 code.sh 日志中互助码是空值或者 undefined ,互助规则是空值的情况时,跳过改写 task_before.sh 对应的互助码和互助规则。
|
||||
|
||||
2、第二阶段:读取 code.sh 的日志和 task_before.sh 。校对每一条互助码和互助规则内容,如果内容不一致,则自动改写更新 task_before.sh 的互助码或互助规则。当 code.sh 日志中互助码是空值或者 undefined ,互助规则是空值的情况时,跳过改写 task_before.sh 对应的互助码和互助规则。
|
||||
|
||||
b) 有些活动脚本输出的互助码不全,比如你有10个账号,目前跑了一半,日志只输出了5个,那么 code.sh 整理的也就只有5个有互助码,5个空值。
|
||||
由于 code.sh 里面不会将日志中互助码和互助规则的空值和 undefined 改写到task_before.sh。所以 code.sh 跑得次数越多,task_before.sh 里面的互助码和互助规则越完整。
|
||||
b) 有些情况下活动脚本输出的互助码不全,例如:你有 10 个账号,目前活动脚本只跑了一半,日志只输出了 5 个,那么 code.sh 整理的也就只有 5 个有互助码,5 个空值。
|
||||
由于 code.sh 里面不会将日志中互助码和互助规则的空值和 undefined 改写到 task_before.sh。所以 code.sh 跑得次数越多,task_before.sh 里面的互助码和互助规则越完整。
|
||||
|
||||
一、添加面板互助码自动更新监控任务。可自动读取最新的格式化导出互助码日志,自动更新 task_before.sh 中的互助码。
|
||||
1、将 code.sh 和配套的 task_before.sh 脚本拷贝到容器内路径/ql/config/。如果此前已将改路径映射至主机,则拷贝到主机对应路径即可;
|
||||
注: code.sh 必须配套 提供的 task_before.sh 模板使用。如自行使用其他文件以致出现互助码输出不正常,提交活动失败等问题,请自我检讨。
|
||||
注: code.sh 必须配套提供的 task_before.sh 模板使用。如自行使用其他文件以致出现互助码输出不正常,提交活动失败等问题,请自我检讨。
|
||||
|
||||
2、格式化更新互助码的定时任务规则:
|
||||
名称:格式化更新互助码
|
||||
命令:bash /ql/config/code.sh
|
||||
命令:bash /ql/config/code.sh &
|
||||
定时规则:10 * * * *
|
||||
注:命令千万不要用 task /ql/config/code.sh。否则会出现报错,且可能导致互助码和互助规则写入不完整。
|
||||
注:①命令千万不要用 task /ql/config/code.sh。否则会出现报错,且可能导致互助码和互助规则写入不完整。②由于目前青龙面板存在"手动运行命令卡在途中无法运行完整"的 BUG,实测命令末尾加上" &"(不含引号),暂时可以规避该 BUG。
|
||||
|
||||
3、需要读取活动脚本日志才能格式化整理各个活动的互助码及互助规则;目前兼容以下三个仓库的脚本日志。按读取优先级顺序为:
|
||||
2、格式化更新互助码的定时任务规则:
|
||||
名称:格式化更新互助码
|
||||
命令:bash /ql/config/code.sh
|
||||
定时规则:10 * * * *
|
||||
注:命令千万不要用 task /ql/config/code.sh。否则会出现报错,且可能导致互助码和互助规则写入不完整。
|
||||
|
||||
3、需要读取活动脚本日志才能格式化整理各个活动的互助码及互助规则;目前兼容以下三个仓库的脚本日志。按读取优先级顺序为:
|
||||
a)柠檬(胖虎)代维护 lxk0301 仓库:
|
||||
名称:柠檬(胖虎)代维护 lxk0301 仓库
|
||||
命令:ql repo https://github.com/panghu999/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|jd_try|format_" "^jd[^_]|USER"
|
||||
定时规则:1 1-23/4 * * *
|
||||
|
||||
b)JDHelloWorld 代维护 lxk0301 仓库:
|
||||
名称:JDHelloWorld 代维护 lxk0301 仓库
|
||||
命令:ql repo https://github.com/JDHelloWorld/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen" "^jd[^_]|USER"
|
||||
定时规则:2 1-23/4 * * *
|
||||
|
||||
c)lxk0301 仓库(已停止维护,不建议使用):
|
||||
名称:lxk0301 仓库
|
||||
命令:ql repo https://github.com/chinnkarahoi/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon" "^jd[^_]|USER"
|
||||
定时规则:3 1-23/4 * * *
|
||||
3、需要读取活动脚本日志才能格式化整理各个活动的互助码及互助规则。对应的仓库拉取命令详见置顶"截至XXXX年XX月XX日XX:XX还在维护的仓库"
|
||||
## 预设的仓库及默认调用仓库设置
|
||||
## 将"repo=$repo1"改成repo=$repo2"或其他,以默认调用其他仓库脚本日志
|
||||
## 也可自行搜索本脚本内的"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 仓库
|
||||
repo=$repo1 #默认调用 panghu999 仓库脚本日志
|
||||
|
||||
4、导出京喜农场 Token 的方法:
|
||||
a) 前提:必须搭配最新的 task_before.sh 模板,否则京喜财富岛提现无法读取到 token。
|
||||
b) 步骤:运行一次 code.sh,再根据日志提示的优先仓库,运行一次京喜财富岛活动脚本。再运行一次 code.sh 。
|
||||
注:b) 步骤 code.sh 定时任务会配合京喜财富岛活动自动处理。有两点需要格外注意:①大多数京喜财富岛的定时任务间隔比较长,活动自身的运行时间也很长。所以自动处理,可能需要等到凌晨前后才会把 token 收集齐。②由于青龙config.sh 默认的定时任务超时时间为 1h ,如果帐号比较多,1h 不够京喜财富岛跑完,那么就会导致 token 始终收集不齐。我个人把超时时间设置成了 3h。即:CommandTimeoutTime="3h"
|
||||
c)问题:
|
||||
1) task_before.sh 的 Token 是空值?
|
||||
答:必须完整运行一次优先仓库的京喜财富岛活动脚本后,再运行 code.sh 。否则 Token 可能会无法写入或写入不完整。
|
||||
答:必须先运行 code.sh ,将"京喜财富岛的脚本格式化输出京喜token"功能解锁,再完整运行一次优先仓库的京喜财富岛活动脚本后,最后再运行 code.sh 。否则 Token 可能会无法写入或写入不完整。
|
||||
2) task_before.sh Token 写入正常,但是京喜财富岛提现还是读取不到 Token ?
|
||||
答:①确保 task_before.sh 是最新版,具体可以比对你的文件和置顶模板的第三行 Build 号。
|
||||
②京喜财富岛的任务不能设置 conc JD_COOKIE 并发多线程,否则会导致 Token 读取异常。
|
||||
②京喜财富岛的任务不能设置 conc JD_COOKIE 并发多线程,否则会导致 Token 读取异常。
|
||||
|
||||
二、其他自定义的参数配置:
|
||||
1、自定义互助规则模板定义
|
||||
code.sh 默认互助规则为:“均等机会助力模板”,自己根据注释部分修改模板;
|
||||
## 定义 jcode 脚本导出的互助码模板样式(选填)
|
||||
## 不填 使用“按编号顺序助力模板”,Cookie编号在前的优先助力
|
||||
## 填 0 使用“全部一致助力模板”,所有账户要助力的码全部一致
|
||||
## 填 1 使用“均等机会助力模板”,所有账户获得助力次数一致
|
||||
## 填 2 使用“随机顺序助力模板”,本套脚本内账号间随机顺序助力,每次生成的顺序都不一致。
|
||||
## 不填 使用“按编号顺序互助模板”,Cookie编号在前的优先助力
|
||||
## 填 0 使用“全部一致互助模板”,所有账户要助力的码全部一致
|
||||
## 填 1 使用“均等机会互助模板”,所有账户获得助力次数一致
|
||||
## 填 2 使用“随机顺序互助模板”,本套脚本内账号间随机顺序助力,每次生成的顺序都不一致。
|
||||
HelpType="1"
|
||||
|
||||
## 定义指定活动采用指定的互助模板。
|
||||
## 设定值为 DiyHelpType="1" 表示启用功能;不填或填其他内容表示不开启功能。
|
||||
## 如果只是想要控制某个活动以执行某种互助规则,可以参考下面 case 这个命令的例子来控制
|
||||
## 活动名称参见 name_config 定义内容;具体可在本脚本中搜索 name_config=( 获悉
|
||||
DiyHelpType="0"
|
||||
diy_help_rules(){
|
||||
case $1 in
|
||||
Fruit)
|
||||
tmp_helptype="0" # 东东农场使用“全部一致互助模板”,所有账户要助力的码全部一致
|
||||
;;
|
||||
DreamFactory | JdFactory)
|
||||
tmp_helptype="1" # 京喜工厂和东东工厂使用“均等机会互助模板”,所有账户获得助力次数一致
|
||||
;;
|
||||
Jdzz | Joy)
|
||||
tmp_helptype="2" # 京东赚赚和疯狂的Joy使用“随机顺序互助模板”,本套脚本内账号间随机顺序助力,每次生成的顺序都不一致。
|
||||
;;
|
||||
*)
|
||||
tmp_helptype=$HelpType # 其他活动仍按默认互助模板生产互助规则。
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
2、自定义是否修改配置文件
|
||||
## 定义是否自动更新配置文件中的互助码和互助规则,默认为1,表示更新;留空或其他数值表示不更新。
|
||||
UpdateType="1"
|
||||
|
||||
3、仓库作者自定义
|
||||
脚本作者定义如下:
|
||||
repo1='panghu999'
|
||||
repo2='JDHelloWorld'
|
||||
repo3='chinnkarahoi'
|
||||
如果需要自由组合脚本的,就搜索 name_js 把数组内脚本作者前缀"repo"替换成你想指定的"repo1" 或"repo2"或"repo3";
|
||||
注:由于其他大佬的脚本输出日志的互助码文本规则并不统一,又或者不输出互助码。所以暂不支持其他大佬的自由定义。如果你发现有新支持仓库,请及时与我联系。
|
||||
3、自动备份 task_before.sh 和删除指定天数以前的备份文件。
|
||||
## 备份配置文件开关,默认是1,表示开启;设置为0,表示关闭。备份路径 /ql/config/bak/
|
||||
BACKUP="1"
|
||||
## 是否删除指定天数以前的备份文件开关,默认是1,表示开启;设置为0,表示关闭。删除路径 /ql/config/bak/
|
||||
CLEANBAK="1"
|
||||
## 定义删除指定天数以前的备份文件
|
||||
CLEANBAK_DAYS="2"
|
||||
|
||||
4、自动 备份 task_before.sh 配置文件开关,默认是1,表示开启;设置为0,表示关闭。备份路径 /ql/config/bak/
|
||||
BAKUP="1";
|
||||
4、支持自定义指定某账号不参加某活动(配套置顶 config_sample.sh 和 task_before.sh 模板使用);
|
||||
|
||||
5、自定义屏蔽指定账户被助力,但不影响这些帐号助力其他帐号。具体详见 code.sh 内容;
|
||||
5、自定义屏蔽指定账户被助力,但不影响这些帐号助力其他帐号。详见 code.sh 内容;
|
||||
|
||||
6、如果反复提醒检测到 code.sh正在运行,说明code.sh的运行线程过多,如果强行运行,可能会导致互助码和规则写入异常。常规做法是等一会再试。如果非要强行运行,方法如下:
|
||||
|
||||
强制运行方法:
|
||||
6、如果反复提醒检测到 code.sh正在运行,说明 code.sh 的运行线程过多,如果强行运行,可能会导致互助码和规则写入异常。常规做法是等一会再试。如果非要强行运行,方法如下:
|
||||
①修改config.sh
|
||||
DEBUG="1"
|
||||
如果日志输出线程数是9
|
||||
如果日志输出线程数是 9
|
||||
|
||||
②再在code.sh搜索
|
||||
$(ps | grep code.sh | grep -v grep | wc -l)" -gt 7
|
||||
|
||||
把7改成9,然后code.sh可以运行,但不建议这么做,因为这是一个防呆设计。
|
||||
②再在 code.sh 搜索
|
||||
"$ps_num" -le 7 和 "$ps_num" -gt 7
|
||||
把 7 改成 9,然后 code.sh 就可以运行了,但不建议这么做,因为这是一个防呆设计。
|
||||
@ -1,30 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#Build 20210707-002
|
||||
#Build 20210711-003
|
||||
|
||||
## 导入通用变量与函数
|
||||
dir_shell=/ql/shell
|
||||
. $dir_shell/share.sh
|
||||
|
||||
## 判断仓库类别及日志存在与否
|
||||
repo1='panghu999'
|
||||
repo2='JDHelloWorld'
|
||||
repo3='chinnkarahoi'
|
||||
if [ "$(ls $dir_log |grep panghu999_jd_scripts | wc -l)" -gt 0 ]; then
|
||||
repo=$repo1
|
||||
elif [ "$(ls $dir_log |grep JDHelloWorld | wc -l)" -gt 0 ]; then
|
||||
repo=$repo2
|
||||
elif [ "$(ls $dir_log |grep chinnkarahoi | wc -l)" -gt 0 ]; then
|
||||
repo=$repo3
|
||||
else
|
||||
repo=''
|
||||
fi
|
||||
## 预设的仓库及默认调用仓库设置
|
||||
## 将"repo=$repo1"改成repo=$repo2"或其他,以默认调用其他仓库脚本日志
|
||||
## 也可自行搜索本脚本内的"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 仓库
|
||||
repo=$repo1 #默认调用 panghu999 仓库脚本日志
|
||||
|
||||
## 调试模式开关,默认是0,表示关闭;设置为1,表示开启
|
||||
DEBUG="1"
|
||||
|
||||
## 备份配置文件开关,默认是1,表示开启;设置为0,表示关闭。备份路径 /ql/config/bak/
|
||||
BAKUP="1"
|
||||
BACKUP="1"
|
||||
## 是否删除指定天数以前的备份文件开关,默认是1,表示开启;设置为0,表示关闭。删除路径 /ql/config/bak/
|
||||
CLEANBAK="1"
|
||||
## 定义删除指定天数以前的备份文件
|
||||
CLEANBAK_DAYS="2"
|
||||
|
||||
## 定义 jcode 脚本导出的互助码模板样式(选填)
|
||||
## 不填 使用“按编号顺序互助模板”,Cookie编号在前的优先助力
|
||||
@ -38,7 +37,7 @@ HelpType="1"
|
||||
## 如果只是想要控制某个活动以执行某种互助规则,可以参考下面 case 这个命令的例子来控制
|
||||
## 活动名称参见 name_config 定义内容;具体可在本脚本中搜索 name_config=( 获悉
|
||||
DiyHelpType="0"
|
||||
testcode(){
|
||||
diy_help_rules(){
|
||||
case $1 in
|
||||
Fruit)
|
||||
tmp_helptype="0" # 东东农场使用“全部一致互助模板”,所有账户要助力的码全部一致
|
||||
@ -59,9 +58,9 @@ testcode(){
|
||||
## 设定值为 BreakHelpType="1" 表示启用屏蔽模式;不填或填其他内容表示不开启功能。
|
||||
## 自定义屏蔽账号序号或序号区间。当 BreakHelpType="1"时生效。
|
||||
## 设定值为一个或多个不相同正整数,每个正整数不大于账号总数;也可以设置正整数区间,最大正整数不大于账号总数;
|
||||
## 如:a) 设定为 BreakHelpNum="3" 表示从第 3 个账号不被助力;
|
||||
## b) 设定为 BreakHelpNum="5 7 8 10" 表示从第 5 7 8 10 个账号均不被助力;
|
||||
## c) 设定为 BreakHelpNum="6-12" 表示从第 6 个账号到第 12 个账号均不被助力;
|
||||
## 如:a) 设定为 BreakHelpNum="3" 表示第 3 个账号不被助力;
|
||||
## b) 设定为 BreakHelpNum="5 7 8 10" 表示第 5 7 8 10 个账号均不被助力;
|
||||
## c) 设定为 BreakHelpNum="6-12" 表示从第 6 至 12 个账号均不被助力;
|
||||
## d) 设定为 BreakHelpNum="4 9-14 15~18 19_21" 表示第4个账号、第9至14账号、第15至18账号、第19至21账号均不被助力。注意序号区间连接符仅支持 - ~ _;
|
||||
## 不按示例填写可能引发报错。
|
||||
BreakHelpType="0" ## 屏蔽模式
|
||||
@ -111,21 +110,21 @@ var_name=(
|
||||
## 所有有互助码的活动,把脚本名称列在 name_js 中,对应 config.sh 中互助码后缀列在 name_config 中,中文名称列在 name_chinese 中。
|
||||
## name_js、name_config 和 name_chinese 中的三个名称必须一一对应。
|
||||
name_js=(
|
||||
"$repo"_jd_scripts_jd_fruit
|
||||
"$repo"_jd_scripts_jd_pet
|
||||
"$repo"_jd_scripts_jd_plantBean
|
||||
"$repo"_jd_scripts_jd_dreamFactory
|
||||
"$repo"_jd_scripts_jd_jdfactory
|
||||
"$repo"_jd_scripts_jd_crazy_joy
|
||||
"$repo"_jd_scripts_jd_jdzz
|
||||
"$repo"_jd_scripts_jd_jxnc
|
||||
"$repo"_jd_scripts_jd_bookshop
|
||||
"$repo"_jd_scripts_jd_cash
|
||||
"$repo"_jd_scripts_jd_sgmh
|
||||
"$repo"_jd_scripts_jd_cfd
|
||||
"$repo"_jd_scripts_jd_health
|
||||
"$repo"_jd_scripts_jd_carnivalcity
|
||||
"$repo"_jd_scripts_jd_city
|
||||
"$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
|
||||
)
|
||||
|
||||
name_config=(
|
||||
@ -166,7 +165,7 @@ name_chinese=(
|
||||
|
||||
#仅输出互助码的环境变量
|
||||
name_js_only=(
|
||||
"$repo"_jd_scripts_jd_cfd
|
||||
"$repo"_jd_cfd
|
||||
)
|
||||
|
||||
name_config_only=(
|
||||
@ -196,7 +195,10 @@ export_codes_sub() {
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local tmp_helptype=$HelpType
|
||||
local i j k m n pt_pin_in_log code tmp_grep tmp_my_code tmp_for_other user_num random_num_list
|
||||
local BreakHelpInterval=$(echo $BreakHelpNum | perl -pe "{s|~|-|; s|_|-|}" | sed 's/\(\d\+\)-\(\d\+\)/{\1..\2}/g')
|
||||
local BreakHelpNumArray=($(eval echo $BreakHelpInterval))
|
||||
local BreakHelpNumVerify=$(echo $BreakHelpNum | sed 's/ //g' | perl -pe "{s|-||; s|~||; s|_||}" | sed 's/^\d\+$//g')
|
||||
local i j k m n t pt_pin_in_log code tmp_grep tmp_my_code tmp_for_other user_num random_num_list
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
@ -231,7 +233,7 @@ export_codes_sub() {
|
||||
|
||||
## 输出ForOther系列变量
|
||||
if [[ ${#code[*]} -gt 0 ]]; then
|
||||
[[ $DiyHelpType = "1" ]] && testcode $2
|
||||
[[ $DiyHelpType = "1" ]] && diy_help_rules $2
|
||||
case $tmp_helptype in
|
||||
0) ## 全部一致
|
||||
HelpTemp="全部一致"
|
||||
@ -239,12 +241,24 @@ export_codes_sub() {
|
||||
tmp_for_other=""
|
||||
for ((m = 0; m < ${#pt_pin[*]}; m++)); do
|
||||
j=$((m + 1))
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
if [ $BreakHelpType = 1 ]; then
|
||||
if [ "$BreakHelpNumVerify" = "" ]; then
|
||||
for ((t = 0; t < ${#BreakHelpNumArray[*]}; t++)); do
|
||||
[[ "${BreakHelpNumArray[t]}" = "$j" ]] && continue 2
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
else
|
||||
echo -e "\n#$cur_time 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
fi
|
||||
else
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$j}"
|
||||
fi
|
||||
done
|
||||
echo "${config_name_for_other}1=\"$tmp_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
for ((m = 1; m < ${#pt_pin[*]}; m++)); do
|
||||
j=$((m + 1))
|
||||
echo "$config_name_for_other$j=\"\${${config_name_for_other}1}\""
|
||||
echo "$config_name_for_other$j=\"$tmp_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
done
|
||||
;;
|
||||
|
||||
@ -261,7 +275,19 @@ export_codes_sub() {
|
||||
else
|
||||
k=$((n + 1 - $user_sum))
|
||||
fi
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
if [ $BreakHelpType = 1 ]; then
|
||||
if [ "$BreakHelpNumVerify" = "" ]; then
|
||||
for ((t = 0; t < ${#BreakHelpNumArray[*]}; t++)); do
|
||||
[[ "${BreakHelpNumArray[t]}" = "$k" ]] && continue 2
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
else
|
||||
echo -e "\n#$cur_time 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
else
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
done
|
||||
echo "$config_name_for_other$j=\"$tmp_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
done
|
||||
@ -276,7 +302,19 @@ export_codes_sub() {
|
||||
j=$((m + 1))
|
||||
for n in $random_num_list; do
|
||||
[[ $j -eq $n ]] && continue
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
if [ $BreakHelpType = 1 ]; then
|
||||
if [ "$BreakHelpNumVerify" = "" ]; then
|
||||
for ((t = 0; t < ${#BreakHelpNumArray[*]}; t++)); do
|
||||
[[ "${BreakHelpNumArray[t]}" = "$n" ]] && continue 2
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
else
|
||||
echo -e "\n#$cur_time 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
fi
|
||||
else
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$n}"
|
||||
fi
|
||||
done
|
||||
echo "$config_name_for_other$j=\"$tmp_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
done
|
||||
@ -291,7 +329,19 @@ export_codes_sub() {
|
||||
for ((n = 0; n < ${#pt_pin[*]}; n++)); do
|
||||
[[ $m -eq $n ]] && continue
|
||||
k=$((n + 1))
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
if [ $BreakHelpType = 1 ]; then
|
||||
if [ "$BreakHelpNumVerify" = "" ]; then
|
||||
for ((t = 0; t < ${#BreakHelpNumArray[*]}; t++)); do
|
||||
[[ "${BreakHelpNumArray[t]}" = "$k" ]] && continue 2
|
||||
done
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
else
|
||||
echo -e "\n#$cur_time 变量值填写不规范,请检查后重试!"
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
else
|
||||
tmp_for_other="$tmp_for_other@\${$config_name_my$k}"
|
||||
fi
|
||||
done
|
||||
echo "$config_name_for_other$j=\"$tmp_for_other\"" | perl -pe "s|($config_name_for_other\d+=\")@|\1|"
|
||||
done
|
||||
@ -306,7 +356,6 @@ export_codes_sub() {
|
||||
## 汇总输出
|
||||
export_all_codes() {
|
||||
gen_pt_pin_array
|
||||
ps_num="$(ps | grep code.sh | grep -v grep | wc -l)"
|
||||
[[ $DEBUG = "1" ]] && echo -e "\n#$cur_time 当前 code.sh 的线程数量:$ps_num"
|
||||
[[ $DEBUG = "1" ]] && echo -e "\n#$cur_time 预设的 JD_COOKIE 数量:`echo $JD_COOKIE | grep -o 'pt_key' | wc -l`"
|
||||
[[ $DEBUG = "1" ]] && echo -e "\n#$cur_time 预设的 JD_COOKIE 环境变量数量:`echo $JD_COOKIE | sed 's/&/\n/g' | wc -l`"
|
||||
@ -331,19 +380,19 @@ export_all_codes() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ "$ps_num" -gt 8 ]; then
|
||||
[[ $BreakHelpType = 1 ]] && echo -e "\n#$cur_time 您已启用屏蔽模式,账号 $BreakHelpNum 将不被助力!"
|
||||
if [ "$ps_num" -gt 7 ]; then
|
||||
echo -e "\n#$cur_time 检测到 code.sh 的线程过多 ,请稍后再试!"
|
||||
exit
|
||||
exit
|
||||
elif [ -z $repo ]; then
|
||||
echo -e "\n#$cur_time 未检测到兼容的活动脚本日志,无法读取互助码,退出!"
|
||||
exit
|
||||
exit
|
||||
else
|
||||
echo -e "\n#$cur_time 优先读取 $repo 的脚本日志,格式化导出互助码,生成互助规则!"
|
||||
echo -e "\n## 账号用户名整理如下:"
|
||||
echo -e "$("dump_user_name")"
|
||||
echo -e "\n#$cur_time 默认调用 $repo 的脚本日志,格式化导出互助码,生成互助规则!"
|
||||
dump_user_info
|
||||
for ((i = 0; i < ${#name_js[*]}; i++)); do
|
||||
echo -e "\n## ${name_chinese[i]}:"
|
||||
export_codes_sub "${name_js[i]}" "${name_config[i]}" "${name_chinese[i]}"
|
||||
echo -e "\n## ${name_chinese[i]}:"
|
||||
export_codes_sub "${name_js[i]}" "${name_config[i]}" "${name_chinese[i]}"
|
||||
done
|
||||
for ((i = 0; i < ${#name_js_only[*]}; i++)); do
|
||||
echo -e "\n## ${name_chinese_only[i]}:"
|
||||
@ -353,84 +402,95 @@ export_all_codes() {
|
||||
}
|
||||
|
||||
#更新配置文件中互助码的函数
|
||||
help_codes(){
|
||||
if [ -z "$(cat $file_task_before | grep "^My$1\d")" ]; then
|
||||
echo "" >> $file_task_before
|
||||
echo "My"$1"1=''" >> $file_task_before
|
||||
echo "" >> $file_task_before
|
||||
fi
|
||||
help_codes_rules(){
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
for ((i=1; i<=$user_sum; i++)); do
|
||||
if [ ! -z "$(cat $log_path | grep "^My$1$i=.*'$")" ]; then
|
||||
new_code="$(cat $log_path | grep "^My$1$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
old_code="$(cat $file_task_before | grep "^My$1$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
if [ -z "$(grep "^My$1$i" $file_task_before)" ]; then
|
||||
sed -i "/^My$1$[$i-1]='.*'/ s/$/\nMy$1$i=\'\'/" $file_task_before
|
||||
local config_name=$1
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local i j k
|
||||
|
||||
#更新配置文件中的互助码
|
||||
if [ -z "$(cat $file_task_before | grep "^$config_name_my\d")" ]; then
|
||||
echo -e "\n${config_name_my}1=''\n" >> $file_task_before
|
||||
fi
|
||||
for ((i=1; i<=100; i++)); do
|
||||
if [[ $i -le $user_sum ]] && [[ ! -z "$(cat $log_path | grep "^$config_name_my$i=.*'$")" ]]; then
|
||||
new_code="$(cat $log_path | grep "^$config_name_my$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
old_code="$(cat $file_task_before | grep "^$config_name_my$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
if [ -z "$(grep "^$config_name_my$i" $file_task_before)" ]; then
|
||||
sed -i "/^$config_name_my$[$i-1]='.*'/ s/$/\n$config_name_my$i=\'\'/" $file_task_before
|
||||
fi
|
||||
if [[ "$new_code" != "" ]] && [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then
|
||||
if [ "$new_code" != "$old_code" ]; then
|
||||
sed -i "s/^My$1$i='$old_code'$/My$1$i='$new_code'/" $file_task_before
|
||||
sed -i "s/^$config_name_my$i='$old_code'$/$config_name_my$i='$new_code'/" $file_task_before
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [[ $i -gt $user_sum ]] && [[ ! -z "$(cat $file_task_before | grep "^$config_name_my$i")" ]]; then
|
||||
sed -i "/^$config_name_my$i/d" $file_task_before
|
||||
fi
|
||||
done
|
||||
|
||||
#更新配置文件中的互助规则
|
||||
if [ -z "$(cat $file_task_before | grep "^$config_name_for_other\d")" ]; then
|
||||
echo -e "${config_name_for_other}1=\"\"\n" >> $file_task_before
|
||||
fi
|
||||
for ((j=1; j<=100; j++)); do
|
||||
if [[ $j -le $user_sum ]] && [[ ! -z "$(cat $log_path | grep "^$config_name_for_other$j=.*\"$")" ]]; then
|
||||
new_rule="$(cat $log_path | grep "^$config_name_for_other$j=.*\"$" | sed "s/.*\"\(.*\)\".*/\1/")"
|
||||
old_rule="$(cat $file_task_before | grep "^$config_name_for_other$j=.*\"$" | sed "s/.*\"\(.*\)\".*/\1/")"
|
||||
if [ -z "$(grep "^$config_name_for_other$j" $file_task_before)" ]; then
|
||||
sed -i "/^$config_name_for_other$[$j-1]=".*"/ s/$/\n$config_name_for_other$j=\"\"/" $file_task_before
|
||||
fi
|
||||
if [ "$new_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\"/" $file_task_before
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [[ $j -gt $user_sum ]] && [[ ! -z "$(cat $file_task_before | grep "^$config_name_for_other$j")" ]]; then
|
||||
sed -i "/^$config_name_for_other$j/d" $file_task_before
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
help_codes_only(){
|
||||
if [ -z "$(cat $file_task_before | grep "^$1\d")" ]; then
|
||||
echo "" >> $file_task_before
|
||||
echo ""$1"1=''" >> $file_task_before
|
||||
echo "" >> $file_task_before
|
||||
fi
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
for ((i=1; i<=$user_sum; i++)); do
|
||||
if [ ! -z "$(cat $log_path | grep "^$1$i=.*'$")" ]; then
|
||||
new_jxtoken="$(cat $log_path | grep "^$1$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
old_jxtoken="$(cat $file_task_before | grep "^$1$i=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
if [ -z "$(grep "^$1$i" $file_task_before)" ]; then
|
||||
sed -i "/^$1$[$i-1]='.*'/ s/$/\n$1$i=\'\'/" $file_task_before
|
||||
local config_name=$1
|
||||
local config_name_my=My$config_name
|
||||
local config_name_for_other=ForOther$config_name
|
||||
local i j k
|
||||
|
||||
#更新配置文件中的互助码
|
||||
if [ -z "$(cat $file_task_before | grep "^$config_name\d")" ]; then
|
||||
echo -e "\n${config_name}1=''\n" >> $file_task_before
|
||||
fi
|
||||
for ((k=1; k<=100; k++)); do
|
||||
if [[ $k -le $user_sum ]] && [[ ! -z "$(cat $log_path | grep "^$config_name$k=.*'$")" ]]; then
|
||||
new_code="$(cat $log_path | grep "^$config_name$k=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
old_code="$(cat $file_task_before | grep "^$config_name$k=.*'$" | sed "s/.*'\(.*\)'.*/\1/")"
|
||||
if [ -z "$(grep "^$config_name$k" $file_task_before)" ]; then
|
||||
sed -i "/^$config_name$[$k-1]='.*'/ s/$/\n$config_name$k=\'\'/" $file_task_before
|
||||
fi
|
||||
if [[ "$new_jxtoken" != "" ]] && [[ "$new_jxtoken" != "undefined" ]] && [[ "$new_jxtoken" != "{}" ]]; then
|
||||
if [ "$new_jxtoken" != "$old_jxtoken" ]; then
|
||||
sed -i "s/^$1$i='$old_jxtoken'$/$1$i='$new_jxtoken'/" $file_task_before
|
||||
if [[ "$new_code" != "" ]] && [[ "$new_code" != "undefined" ]] && [[ "$new_code" != "{}" ]]; then
|
||||
if [ "$new_code" != "$old_code" ]; then
|
||||
sed -i "s/^$config_name$k='$old_code'$/$config_name$k='$new_code'/" $file_task_before
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#更新配置文件中互助规则的函数
|
||||
help_rules(){
|
||||
if [ -z "$(cat $file_task_before | grep "^ForOther$1\d")" ]; then
|
||||
echo "ForOther"$1"1=\"\"" >> $file_task_before
|
||||
echo "" >> $file_task_before
|
||||
fi
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
for ((i=1; i<=$user_sum; i++)); do
|
||||
if [ ! -z "$(cat $log_path | grep "^ForOther$1$i=.*\"$")" ]; then
|
||||
new_rule="$(cat $log_path | grep "^ForOther$1$i=.*\"$" | sed "s/.*\"\(.*\)\".*/\1/")"
|
||||
old_rule="$(cat $file_task_before | grep "^ForOther$1$i=.*\"$" | sed "s/.*\"\(.*\)\".*/\1/")"
|
||||
if [ -z "$(grep "^ForOther$1$i" $file_task_before)" ]; then
|
||||
sed -i "/^ForOther$1$[$i-1]=".*"/ s/$/\nForOther$1$i=\"\"/" $file_task_before
|
||||
fi
|
||||
if [ "$new_rule" != "" ]; then
|
||||
if [ "$new_rule" != "$old_rule" ]; then
|
||||
sed -i "s/^ForOther$1$i=\"$old_rule\"$/ForOther$1$i=\"$new_rule\"/" $file_task_before
|
||||
fi
|
||||
fi
|
||||
if [[ $k -gt $user_sum ]] && [[ ! -z "$(cat $file_task_before | grep "^$config_name$k")" ]]; then
|
||||
sed -i "/^$config_name$k/d" $file_task_before
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
export_codes_sub_only(){
|
||||
if [ "$(cat $dir_scripts/"$repo"_jd_scripts_jd_cfd.js | grep "// console.log(\`token")" != "" ]; then
|
||||
echo -e "\n# 正在修改 "$repo"_jd_scripts_jd_cfd.js ,待完全运行 "$repo"_jd_scripts_jd_cfd.js 后即可输出 token !"
|
||||
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
|
||||
sed -i 's/.*\(c.*log\).*\(${JSON.*token)}\).*/ \1(\`\\n【京东账号${$.index}(${$.UserName})的京喜token好友互助码】\2\\n\`)/g' /ql/scripts/*_jd_cfd.js
|
||||
local task_name=$1
|
||||
@ -471,66 +531,21 @@ sed -i 's/.*\(c.*log\).*\(${JSON.*token)}\).*/ \1(\`\\n【京东账号${$.i
|
||||
fi
|
||||
}
|
||||
|
||||
break_help(){
|
||||
local BreakHelpInterval=$(echo $BreakHelpNum | perl -pe "{s|~|-|; s|_|-|}" | sed 's/\(\d\+\)-\(\d\+\)/{\1..\2}/g')
|
||||
local BreakHelpNumType=$(echo $BreakHelpNum | sed 's/ //g' | perl -pe "{s|-||; s|~||; s|_||}" | sed 's/^\d\+$//g')
|
||||
if [ $BreakHelpType = 1 ]; then
|
||||
echo -e "\n#$cur_time 您已启用屏蔽助力功能!"
|
||||
if [ "$BreakHelpNumType" = "" ]; then
|
||||
echo -e "\n#$cur_time 当前屏蔽的账号序号或区间: $BreakHelpInterval "
|
||||
echo -e "\n#$cur_time 开始调整互助规则"
|
||||
for i in $(eval echo $BreakHelpInterval); do
|
||||
sed -i "s/@\${My[A-Za-z]\+$i}\|\${My[A-Za-z]\+$i}@//g" $file_task_before
|
||||
done
|
||||
echo -e "\n#$cur_time 互助规则调整完成"
|
||||
else
|
||||
echo -e "\n#$cur_time 变量值填写不规范,请检查后重试!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#更新互助码和互助规则
|
||||
update_help(){
|
||||
#latest_log=$(ls -r $dir_code | head -1)
|
||||
latest_log=$log_path
|
||||
case $UpdateType in
|
||||
1)
|
||||
if [ -f $log_path ] && [ -f $file_task_before ]; then
|
||||
mkdir -p $dir_config/bak
|
||||
[[ $BAKUP = "1" ]] && cp $file_task_before $dir_config/bak/task_before_$log_time.sh
|
||||
1)
|
||||
if [ "$ps_num" -le 7 ] && [ -f $log_path ] && [ -f $file_task_before ]; then
|
||||
backup_del
|
||||
echo -e "\n#$cur_time 开始更新配置文件的互助码和互助规则" | tee -a $latest_log
|
||||
help_codes Fruit
|
||||
help_rules Fruit
|
||||
help_codes Pet
|
||||
help_rules Pet
|
||||
help_codes Bean
|
||||
help_rules Bean
|
||||
help_codes JdFactory
|
||||
help_rules JdFactory
|
||||
help_codes DreamFactory
|
||||
help_rules DreamFactory
|
||||
help_codes Jdzz
|
||||
help_rules Jdzz
|
||||
help_codes Joy
|
||||
help_rules Joy
|
||||
help_codes BookShop
|
||||
help_rules BookShop
|
||||
help_codes Cash
|
||||
help_rules Cash
|
||||
help_codes Jxnc
|
||||
help_rules Jxnc
|
||||
help_codes Sgmh
|
||||
help_rules Sgmh
|
||||
help_codes Cfd
|
||||
help_rules Cfd
|
||||
help_codes Health
|
||||
help_rules Health
|
||||
help_codes Carni
|
||||
help_rules Carni
|
||||
help_codes City
|
||||
help_rules City
|
||||
help_codes_only TokenJxnc
|
||||
break_help
|
||||
for i in ${name_config[@]}; do
|
||||
help_codes_rules $i
|
||||
done
|
||||
for i in ${name_config_only[@]}; do
|
||||
help_codes_only $i
|
||||
done
|
||||
sed -i "4c ## 上次导入时间:$(date +%Y年%m月%d日\ %X)" /ql/config/task_before.sh
|
||||
echo -e "\n#$cur_time 配置文件的互助码和互助规则已完成更新" | tee -a $latest_log
|
||||
elif [ ! -f $log_path ]; then
|
||||
@ -545,9 +560,19 @@ case $UpdateType in
|
||||
esac
|
||||
}
|
||||
|
||||
dump_user_name(){
|
||||
echo $JD_COOKIE | sed "s/&/\n/g; s/\S*;pt_pin=\(\S\+\);\S*/\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;}'|awk '$0="## 账号"NR":"$0'
|
||||
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]}\n## Cookie$j=\"${array[m]}\""
|
||||
done
|
||||
}
|
||||
|
||||
backup_del(){
|
||||
[[ $BACKUP = "1" ]] && mkdir -p $dir_config/bak/ && cp $file_task_before $dir_config/bak/task_before_$log_time.sh
|
||||
[[ $CLEANBAK = "1" ]] && find $dir_config/bak/ -type f -mtime +$CLEANBAK_DAYS | xargs rm -rvf
|
||||
}
|
||||
|
||||
|
||||
@ -557,6 +582,11 @@ cur_time="【$(date +%X)】"
|
||||
log_time=$(date "+%Y-%m-%d-%H-%M-%S")
|
||||
log_path="$dir_code/$log_time.log"
|
||||
make_dir "$dir_code"
|
||||
ps_num="$(ps | grep code.sh | grep -v grep | wc -l)"
|
||||
[[ ! -z "$(ps -ef|grep -w 'code.sh'|grep -v grep)" ]] && ps -ef|grep -w 'code.sh'|grep -v grep|awk '{print $3}'|xargs kill -9
|
||||
export_all_codes | perl -pe "{s|京东种豆|种豆|; s|crazyJoy任务|疯狂的JOY|}" | tee $log_path
|
||||
sleep 5
|
||||
update_help
|
||||
|
||||
## 修改curtinlv京东超市兑换脚本的参数
|
||||
sed -i "s/cookies=''/cookies='$JD_COOKIE'/g" /ql/scripts/*_jd_blueCoin.py
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
## Version: v2.8.0
|
||||
## Date: 2021-06-20
|
||||
## Mod: Build20210707-001
|
||||
## Mod: Build20210711-005
|
||||
## Update Content: 可持续发展纲要\n1. session管理破坏性修改\n2. 配置管理可编辑config下文件\n3. 自定义脚本改为查看脚本\n4. 移除互助相关
|
||||
|
||||
## 上面版本号中,如果第2位数字有变化,那么代表增加了新的参数,如果只有第3位数字有变化,仅代表更新了注释,没有增加新的参数,可更新可不更新
|
||||
@ -127,7 +127,7 @@ export GOBOT_QQ=""
|
||||
## ;;
|
||||
## esac
|
||||
case $1 in
|
||||
jd_fruit)
|
||||
*jd_fruit*)
|
||||
TempBlockCookie=""
|
||||
;;
|
||||
*jd_dreamFactory* | *jd_jdfactory*)
|
||||
@ -324,6 +324,12 @@ export cashinviteCode2=""
|
||||
export cashinviteCode3=""
|
||||
## 13、大老板农场 新增自定义变量通知开关。true通知打开,false为关闭
|
||||
export dlbtz="true"
|
||||
## 14、零食街自动兑换变量
|
||||
### 自行取消注释和注释
|
||||
##export ljsdh="jdAward1" ##兑换5豆
|
||||
##export ljsdh="jdAward2" ##兑换10豆
|
||||
export ljsdh="jdAward3" ##兑换100豆
|
||||
##export ljsdh="jdAward4" ##兑换牛奶
|
||||
|
||||
# curtinlv 环境变量
|
||||
## 1、赚京豆
|
||||
@ -350,6 +356,19 @@ export printlog="true"
|
||||
export sleepNum="0.5"
|
||||
### 布尔值,True:使用作者远程仓库更新的id,False:使用本地shopid.txt的id
|
||||
export isRemoteSid="true"
|
||||
## 5、东东超市商品兑换
|
||||
### 您的ck格式:pt_key=xxx;pt_pin=xxx; (多账号&分隔)。无效变量,已集成改写代码至最新 code.sh
|
||||
### export cookies=''
|
||||
### 【填写您要兑换的商品】
|
||||
export coinToBeans="京豆包"
|
||||
### 轮次
|
||||
export startMaxNum="30"
|
||||
### 多线程并发,相当于每秒点击兑换次数...适当调整,手机会发烫
|
||||
export dd_thread="30"
|
||||
### 开始抢兑时间
|
||||
export starttime="23:59:59.00000000"
|
||||
### 结束时间
|
||||
export endtime="00:00:30.00000000"
|
||||
|
||||
# Wenmoux 部分环境变量
|
||||
## 1、QQ星系牧场自动兑换20豆
|
||||
@ -364,7 +383,31 @@ export Read10UA=""
|
||||
## 填true推送消息,默认不推送
|
||||
export jrpush=""
|
||||
|
||||
## 其他命令:
|
||||
## 1、一键改写京东兑蓝币脚本的cookies;需手动运行
|
||||
## sed -i "s/cookies=''/cookies='$(. /ql/shell/share.sh && . /ql/config/config.sh && echo $JD_COOKIE)'/g" /ql/scripts/*_jd_blueCoin.py
|
||||
# smiek2221 环境变量
|
||||
## 1、燃动夏季—入会
|
||||
export summer_movement_joinjoinjoinhui="false" ##是否入会 true 入会,false 不入会
|
||||
## 2、燃动夏季—百元守卫战SH
|
||||
export summer_movement_ShHelpFlag="1" ##0 不开启也不助力 1 开启并助力 2 开启但不助力 默认开启并助力
|
||||
## 3、燃动夏季-新增只做邀请助力功能
|
||||
export summer_movement_HelpHelpHelpFlag="true" ##是否只执行邀请助力 true 是 false 不是 默认 false
|
||||
### 可以设置13点执行一下脚本
|
||||
if [ $(date "+%H") -eq 13 ]; then
|
||||
export summer_movement_HelpHelpHelpFlag="true"
|
||||
fi
|
||||
|
||||
# cdle 环境变量
|
||||
## 1、愤怒的锦鲤
|
||||
### 助力账号,填写pt_pin或用户名的值。多个 pt_pin 值用 @ 连接
|
||||
### export kois="$(echo $JD_COOKIE | sed "s/&/\n/g; s/\S*;pt_pin=\(\S\+\);\S*/\1/g; s/\n/@/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;}')" ## 支持中文用户名
|
||||
export kois="$(echo $JD_COOKIE | sed "s/&/\n/g; s/\S*;pt_pin=\(\S\+\);\S*/\1/g; s/\n/@/g;")"
|
||||
## 2、全民运动会守卫红包
|
||||
### 助力码,需手动抓包
|
||||
export olympicgames_inviteId=""
|
||||
## 3、签到领现金兑换
|
||||
### 填写 pt_pin@金额,pt_pin为用户名,可以在 COOKIES 中提取;金额为 2 或 10,例如 LiLei@2 或 HanMeimei@10。多值用 & 连接,例如 LiLei@2&HanMeimei@10
|
||||
### export exchangeAccounts="$(echo $JD_COOKIE | sed "s/&/\n/g; s/\S*;pt_pin=\(\S\+\);\S*/\1@10/g; s/\n/\&/g;")" ##兑10元现金,比较难兑
|
||||
export exchangeAccounts="$(echo $JD_COOKIE | sed "s/&/\n/g; s/\S*;pt_pin=\(\S\+\);\S*/\1@2/g; s/\n/\&/g;")" ##兑2元现金
|
||||
|
||||
## 其他命令:
|
||||
## 1、一键改写京东兑蓝币脚本的cookies;需手动运行 (已集成至最新的 code.sh)
|
||||
## sed -i "s/cookies=''/cookies='$(. /ql/shell/share.sh && . /ql/config/env.sh && echo $JD_COOKIE)'/g" /ql/scripts/*_jd_blueCoin.py
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#Build 20210703-001
|
||||
#Build 20210711-001
|
||||
|
||||
## 东东农场:
|
||||
MyFruit1=''
|
||||
@ -145,6 +145,11 @@ combine_sub() {
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
local user_sum=${#array[*]}
|
||||
for ((i = 1; i <= $user_sum; i++)); do
|
||||
for num in ${TempBlockCookie}; do
|
||||
if [[ $i -eq $num ]]; then
|
||||
continue 2
|
||||
fi
|
||||
done
|
||||
local tmp1=$what_combine$i
|
||||
local tmp2=${!tmp1}
|
||||
combined_all="$combined_all&$tmp2"
|
||||
@ -162,15 +167,8 @@ combine_all() {
|
||||
done
|
||||
}
|
||||
|
||||
#if [[ $(ls $dir_code) ]]; then
|
||||
# latest_log=$(ls -r $dir_code | head -1)
|
||||
# . $dir_code/$latest_log
|
||||
combine_all
|
||||
#fi
|
||||
|
||||
## 临时屏蔽某账号运行活动脚本
|
||||
TempBlock_JD_COOKIE(){
|
||||
. /$file_env
|
||||
local envs=$(eval echo "\$JD_COOKIE")
|
||||
local array=($(echo $envs | sed 's/&/ /g'))
|
||||
for i in $TempBlockCookie; do
|
||||
@ -181,3 +179,9 @@ TempBlock_JD_COOKIE(){
|
||||
}
|
||||
|
||||
TempBlock_JD_COOKIE
|
||||
|
||||
#if [[ $(ls $dir_code) ]]; then
|
||||
# latest_log=$(ls -r $dir_code | head -1)
|
||||
# . $dir_code/$latest_log
|
||||
combine_all
|
||||
#fi
|
||||
|
||||
@ -7,9 +7,9 @@
|
||||
# 整库
|
||||
# 1. Unknown 备份托管等
|
||||
## (1) JDHelloWorld
|
||||
## ql repo https://github.com/JDHelloWorld/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen|update" "^jd[^_]|USER"
|
||||
ql repo https://github.com/JDHelloWorld/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen|update" "^jd[^_]|USER"
|
||||
## (2) he1pu(自动提交助力码-京喜工厂、种豆得豆、东东工厂、东东农场、健康社区、京喜财富岛、东东萌宠、闪购盲盒,随机从数据库中选取助力码互助)
|
||||
ql repo https://github.com/he1pu/JDHelp.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|update" "^jd[^_]|USER|MovementFaker|JDJRValidator_Pure|sign_graphics_validate|ZooFaker_Necklace"
|
||||
## ql repo https://github.com/he1pu/JDHelp.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|update" "^jd[^_]|USER|MovementFaker|JDJRValidator_Pure|sign_graphics_validate|ZooFaker_Necklace"
|
||||
## (3) shufflewzc
|
||||
## ql repo https://github.com/shufflewzc/faker2.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|update" "^jd[^_]|USER"
|
||||
## (4) panghu999
|
||||
@ -57,7 +57,7 @@ ql repo https://github.com/star261/jd.git "jd_|star" "" "^MovementFaker"
|
||||
## 名称之后标注﹢的单脚本,若上面已拉取仓库的可以不拉,否则会重复拉取。这里适用于只拉取部分脚本使用
|
||||
# 1. curtinlv﹢
|
||||
## 抢京豆 0 0 * * *
|
||||
## ql raw https://raw.githubusercontent.com/Oreomeow/JD-Script/main/jd_qjd.py
|
||||
## ql raw https://raw.githubusercontent.com/curtinlv/JD-Script/main/jd_qjd.py
|
||||
## 入会 15 8 * * *
|
||||
## ql raw https://raw.githubusercontent.com/curtinlv/JD-Script/main/OpenCard/jd_OpenCard.py
|
||||
## 关注 15 8 * * *
|
||||
@ -75,8 +75,7 @@ cd scripts && npm i -S png-js
|
||||
## 安装 ts 脚本依赖库,拉取 JDHelloWorld,京喜财富岛新版 ts 脚本并挂机
|
||||
jxcfd_ts(){
|
||||
cd /ql/scripts/
|
||||
ql repo https://github.com/JDHelloWorld/jd_scripts.git "
|
||||
jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen" "^jd[^_]|USER"
|
||||
## ql repo https://github.com/JDHelloWorld/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen" "^jd[^_]|USER"
|
||||
cp /ql/repo/JDHelloWorld_jd_scripts/package.json .
|
||||
npm i
|
||||
npm i -g ts-node typescript @types/node date-fns axios
|
||||
|
||||
Loading…
Reference in New Issue
Block a user