+ 2022-06-20更新 内置jcom接口无需设置配置参数(能用多久用多久,不能用了换回去)
+ 2022-06-17更新 增加/jcom命令 需要配置文件中设置command_link和sign_token
+ 2022-06-12更新 tgbot增加 /chat_convert 命令,用于username和chat_id的相互转换,需要登录user
+ 2022-06-11更新 tgbot基于telethon模块重写,去除部分bot指令,增加监听tg关键字自动执行脚本功能,配置文件/scripts/config/monitor.yml
若bot /login命令无效或不可用,可以设置环境变量DISABLE_BOT_COMMAND=true禁用bot,然后进入容器复制下列命令至ssh
pip3 install --upgrade pip && pip3 install -r /docker/bot/requirements.txt && python3 /docker/bot/setup.py install && jd_bot manual
手动登录,登陆后重启容器或者执行 jd_bot & 命令将bot后台挂起
注:如若登陆时出现SendCodeRequest报错需要等待,可更换ip解决
+ 2022-06-09更新 task命令可执行远程连接,同样适用并发conc(伪并发,全部cookie同时执行),注意任务执行是根据连接后缀进行执行的.
例: task https://raw.githubusercontent.com/xxxx/xxxx/main/jd_test.js
+ 2022-06-04更新 修改spnode为task,正式启用task命令执行,不启用bot也可使用,可执行js和py脚本,脚本文件后缀不可省
去除spnode原有的指定用户执行文件,如spnode 1 ... 、 spnode jd_XXXX ...
+ 2021-03-21更新 增加bot交互,spnode指令,功能是否开启自动根据你的配置判断,详见 https://gitee.com/lxk0301/jd_docker/pulls/18
**bot交互启动前置条件为 配置telegram通知,并且未使用自己代理的 TG_API_HOST**
**spnode使用前置条件未启动bot交互** _(后续可能去掉该限制_
使用bot交互+spnode后 后续用户的cookie维护更新只需要更新logs/cookies.conf即可
使用bot交互+spnode后 后续执行脚本命令请使用spnode否者无法使用logs/cookies.conf的cookies执行脚本,定时任务也将自动替换为spnode命令执行
发送/spnode给bot获取可执行脚本的列表,选择对应的按钮执行。(拓展使用:运行指定路径脚本,例:/spnode /scripts/jd_818.js)
spnode功能概述示例
spnode conc /scripts/jd_bean_change.js 为每个cookie单独执行jd_bean_change脚本(伪并发
spnode 1 /scripts/jd_bean_change.js 为logs/cookies.conf文件里面第一行cookie账户单独执行jd_bean_change脚本
spnode jd_XXXX /scripts/jd_bean_change.js 为logs/cookies.conf文件里面pt_pin=jd_XXXX的cookie账户单独执行jd_bean_change脚本
spnode /scripts/jd_bean_change.js 为logs/cookies.conf所有cookies账户一起执行jd_bean_change脚本
**请仔细阅读并理解上面的内容,使用bot交互默认开启spnode指令功能功能。**
+ 2021-03-9更新 新版docker单容器多账号自动互助
+开启方式:docker-compose.yml 中添加环境变量 - ENABLE_AUTO_HELP=true
+助力原则:不考虑需要被助力次数与提供助力次数 假设有3个账号,则生成: ”助力码1@助力码2@助力码3&助力码1@助力码2@助力码3&助力码1@助力码2@助力码3“
+原理说明:1、定时调用 /scripts/docker/auto_help.sh collect 收集各个活动的助力码,整理、去重、排序、保存到 /scripts/logs/sharecodeCollection.log;
2、(由于linux进程限制,父进程无法获取子进程环境变量)在每次脚本运行前,在当前进程先调用 /scripts/docker/auto_help.sh export 把助力码注入到环境变量
+ 2021-02-21更新 https://gitee.com/lxk0301/jd_scripts仓库被迫私有,老用户重新更新一下镜像:https://hub.docker.com/r/lxk0301/jd_scripts)(docker-compose.yml的REPO_URL记得修改)后续可同步更新jd_script仓库最新脚本
+ 2021-02-10更新 docker-compose里面,填写环境变量 SHARE_CODE_FILE=/scripts/logs/sharecode.log, 多账号可实现自己互助(只限sharecode.log日志里面几个活动),注:已停用,请使用2021-03-9更新
+ 2021-01-22更新 CUSTOM_LIST_FILE 参数支持远程定时任务列表 (⚠️务必确认列表中的任务在仓库里存在)
+ 例1:配置远程crontab_list.sh, 此处借用 shylocks 大佬的定时任务列表, 本仓库不包含列表中的任务代码, 仅作示范
+ CUSTOM_LIST_FILE=https://raw.githubusercontent.com/shylocks/Loon/main/docker/crontab_list.sh
+
+ 例2:配置docker挂载本地定时任务列表, 用法不变, 注意volumes挂载
+ volumes:
+ - ./config:/scripts/config
+ environment:
+ - CUSTOM_LIST_FILE=/scripts/config/my_crontab_list.sh
+ 2021-01-21更新 增加 DO_NOT_RUN_SCRIPTS 参数配置不执行的脚本
+ 例:DO_NOT_RUN_SCRIPTS=jd_family.js&jd_dreamFactory.js&jd_jxnc.js
建议填写完整文件名,不完整的文件名可能导致其他脚本被禁用。
例如:“jd_joy”会匹配到“jd_joy_feedPets”、“jd_joy_reward”、“jd_joy_steal”
+ 2021-01-03更新 增加 CUSTOM_SHELL_FILE 参数配置执行自定义shell脚本
+ 例1:配置远程shell脚本, 我自己写了一个shell脚本https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh 内容很简单下载惊喜农场并添加定时任务
+ CUSTOM_SHELL_FILE=https://raw.githubusercontent.com/iouAkira/someDockerfile/master/jd_scripts/shell_script_mod.sh
+
+ 例2:配置docker挂载本地自定义shell脚本,/scripts/config/shell_script_mod.sh 为你在docker-compose.yml里面设置的环境变量CUSTOM_SHELL_FILE,需要映射文件所在路径
+ CUSTOM_SHELL_FILE=/scripts/docker/shell_script_mod.sh
+
+ tip:如果使用远程自定义,请保证网络畅通或者选择合适的国内仓库,例如有部分人的容器里面就下载不到github的raw文件,那就可以把自己的自定义shell写在gitee上,或者换本地挂载
+ 如果是 docker 挂载本地,请保证文件挂载进去了,并且配置的是绝对路径。
+ 自定义 shell 脚本里面如果要加 crontab 任务请使用 echo 追加到 /scripts/docker/merged_list_file.sh 里面否则不生效
+ 注⚠️ 建议无shell能力的不要轻易使用,当然你可以找别人写好适配了这个docker镜像的脚本直接远程配置
+ 上面写了这么多如果还看不懂,不建议使用该变量功能。
_____
! ⚠️⚠️⚠️2020-12-11更新镜像启动方式,虽然兼容旧版的运行启动方式,但是强烈建议更新镜像和配置后使用
! 更新后`command:`指令配置不再需要
! 更新后可以使用自定义任务文件追加在默任务文件之后,比以前的完全覆盖多一个选择
! - 新的自定两个环境变量为 `CUSTOM_LIST_MERGE_TYPE`:自定文件的生效方式可选值为`append`,`overwrite`默认为`append` ; `CUSTOM_LIST_FILE`: 自定义文件的名字
! 更新镜像增减镜像更新通知,以后镜像如果更新之后,会通知用户更新
推荐使用
docker-compose所以这里只介绍docker-compose使用方式
Docker安装
sudo curl -sSL https://get.daocloud.io/docker | shsudo curl -sSL get.docker.com | shhttps://mirrors.bfsu.edu.cn/help/docker-ce/docker-compose 安装(群晖nas docker自带安装了docker-compose)
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Ubuntu用户快速安装docker-compose
sudo apt-get update && sudo apt-get install -y python3-pip curl vim git moreutils
pip3 install --upgrade pip
pip install docker-compose
通过docker-compose version查看docker-compose版本,确认是否安装成功。
注⚠️:前提先理解学会使用这下面的教程
jd_scripts用于存放备份配置等数据,迁移重装的时候只需要备份整个jd_scripts目录即可需要新建的目录文件结构参考如下:
jd_scripts
├── config
│ ├── envConfig.sh
│ └── botConfig.yml
├── logs
│ ├── XXXX.log
│ └── XXXX.log
└── docker-compose.yml
jd_scripts/config建一个空文件夹jd_scripts/config/envConfig.sh运行容器后会映射出环境变量模板文件envConfig.example.sh,修改模板为envConfig.sh,文件内设置脚本控制环境变量,定义参照模板文件jd_scripts/config/botConfig.yml运行容器后会映射出环境变量模板文件,同envConfig.sh,该文件为bot监听变量配置文件,具体参照模板jd_scripts/logs建一个空文件夹就行jd_scripts/docker-compose.yml 参考内容见模板:若自定义设置定时任务之后,也就是
>>符号之前加上|ts可在日志每一行前面显示时间,如下图:
目录文件配置好之后在 jd_scripts目录执行。
docker-compose up -d 启动(修改docker-compose.yml后需要使用此命令使更改生效);
docker-compose logs 打印日志;
docker-compose logs -f 打印日志,-f表示跟随日志;
docker logs -f jd_scripts 和上面两条相比可以显示汉字;
docker-compose pull 更新镜像;多容器用户推荐使用docker pull lxk0301/jd_scripts;
docker-compose stop 停止容器;
docker-compose restart 重启容器;
docker-compose down 停止并删除容器;
你可能会用到的命令
docker exec -it jd_scripts /bin/sh -c ". /scripts/docker/auto_help.sh export > /scripts/logs/auto_help_export.log && node /scripts/xxxx.js |ts >> /scripts/logs/xxxx.log 2>&1" 手动运行一脚本(有自动助力)
docker exec -it jd_scripts /bin/sh -c "node /scripts/xxxx.js |ts >> /scripts/logs/xxxx.log 2>&1" 手动运行一脚本(无自动助力)
docker exec -it jd_scripts /bin/sh -c 'env' 查看设置的环境变量
docker exec -it jd_scripts /bin/sh -c 'crontab -l' 查看已生效的crontab_list定时器任务
docker exec -it jd_scripts sh -c "git pull" 手动更新jd_scripts仓库最新脚本(默认已有每天拉取两次的定时任务,不推荐使用)
docker exec -it jd_scripts /bin/sh 仅进入容器命令
rm -rf logs/*.log 删除logs文件夹里面所有的日志文件(linux)
docker exec -it jd_scripts /bin/sh -c ' ls jd_*.js | grep -v jd_crazy_joy_coin.js |xargs -i node {}' 执行所有定时任务
| Name | 归属 | 属性 | 说明 |
|---|---|---|---|
REPO_URL | 拉取目标仓库 | 非必须 | 拉取的目标仓库脚本文件,默认拉取作者脚本仓库 |
REPO_BRANCH | 拉取仓库分支 | 非必须 | 拉取仓库分支,默认main |
REPO_PRIVATE_KEY | 私库密钥路径 | 非必须 | 若拉取仓库为私库,可指定私钥路径映射至容器,如REPO_PRIVATE_KEY=/scripts/config/private.key |
DEFAULT_LIST_FILE | 默认定时文件路径 | 非必须 | 容器内定时文件路径,如DEFAULT_LIST_FILE=/scripts/docker/crontab_list.sh |
CUSTOM_LIST_FILE | 自定义定时文件路径 | 非必须 | 需要路径映射至容器内部,内容参照定时任务模板,变量也可设置远程连接CUSTOM_LIST_FILE=/scripts/config/my_crontab_list.sh |
CUSTOM_LIST_MERGE_TYPE | 自定义定时文件方式 | 非必须 | 自定文件的生效方式可选值为append追加,overwrite重写,默认为append |
DO_NOT_RUN_SCRIPTS | 不执行的脚本 | 非必须 | 例:docker-compose.yml文件里面填写DO_NOT_RUN_SCRIPTS=jd_family.js&jd_dreamFactory.js&jd_jxnc.js, 建议填写完整脚本名,不完整的文件名可能导致其他脚本被禁用 |
ENABLE_AUTO_HELP | 多账号内部互助 | 非必须 | 例:docker-compose.yml文件里面填写ENABLE_AUTO_HELP=true,仅针对部分脚本,默认不开启 |
DISABLE_BOT_COMMAND | 不启用bot | 非必须 | 例:docker-compose.yml文件里面填写DISABLE_BOT_COMMAND=true,默认空开启 |
CUSTOM_SHELL_FILE | 自定义shell脚本路径 | 非必须 | 例:docker-compose.yml文件里面填写映射至容器内部路径CUSTOM_SHELL_FILE=/scripts/config/shell_script_mod.sh |
version: '3'
services:
jd_scripts:
image: yaren34/jd_scripts:latest
container_name: jd_scripts
restart: always
volumes:
- <PWD>/logs:/scripts/logs
- <PWD>/config:/scripts/config
tty: true
# 因为更换仓库地址可能git pull的dns解析不到,可以在配置追加hosts
# extra_hosts:
# - "gitee.com:180.97.125.228"
# - "github.com:13.229.188.59"
# - "raw.githubusercontent.com:151.101.228.133"
environment:
# #注意:以下变量填写全局控制变量,脚本参数变量填写至ENV_CONFIG_FILE文件中
# #REPO_URL参数设置:若为gitee公有库直接填写https链接,若为gitee私有库需要填写ssh链接,github同理,但若github为https链接将https前缀替换为git。默认拉取作者脚本仓库
# - [email protected]:yorag/scripts.git
# - REPO_BRANCH=main
# #若自定义仓库为私密仓库,可指定仓库私钥文件路径
# - REPO_PRIVATE_KEY=/scripts/config/private.key
# #指定定时文件路径,若仓库无定时文件则CUSTOM_LIST_MERGE_TYPE可选择overwrite,然后本地自定定时任务文件。默认/scripts/docker/crontab_list.sh
# - DEFAULT_LIST_FILE=/scripts/docker/crontab_list.sh
# #使用自定义定任务追加默认任务之后,上面volumes挂载之后这里配置对应的文件名。也可设置远程链接
# - CUSTOM_LIST_FILE=/scripts/config/my_crontab_list.sh
# - CUSTOM_LIST_MERGE_TYPE=append
#自定脚本环境变量文件路径
- ENV_CONFIG_FILE=/scripts/config/envConfig.sh
# #自定义shell脚本,可为远程链接
# - CUSTOM_SHELL_FILE=/scripts/config/shell_script_mod.sh
# # 停运指定脚本
# - DO_NOT_RUN_SCRIPTS=jd_city.js
# # 禁用jd_bot
# - DISABLE_BOT_COMMAND=true
# 开启互助脚本
- ENABLE_AUTO_HELP=true
将以下文本发送于@BotFather
start - 开始并获取指令说明
task - 获取定时脚本列表,可增参数conc,指定脚本路径或链接
logs - 获取/scripts/logs下的日志文件列表
cookie - 默认获取cookies.list列表,也可增删cookie
crontab - 获取定时任务列表,增加update参数修改cron
export - 默认获取系统环境变量列表,也可设置更新如:export TEST=test
cmd - 执行终端命令,支持常用shell命令如:cmd ls /scripts
login - 登录user,user用于监控群组消息变量或关键字
reload - 重新拉取脚本及更新定时任务
chat_convert - chat_id和username的互相转换
jcom - 京口令转连接,后接口令
help - 获取帮助,命令详细提示(同/start)
Content type
Image
Digest
Size
207.9 MB
Last updated
over 4 years ago
docker pull yaren34/jd_scripts