准备环境
debian/ubuntu/armbian/OpenMediaVault,以及其他debian系:
apt update && apt install -y git wget curl nodejs npm perl moreutils
CentOS/RedHat/Fedora等红帽系
yum update && yum install git wget curl perl moreutils
如果安装源中有nodejs和npm,也安装好,否则请访问 Node.js官网 或者 nodesource@github 查看如何安装。
OpenWrt,
需要添加官方软件源!!需要添加官方软件源!!需要添加官方软件源!!需要添加官方软件源!!
如果某个软件包已集成在固件中,则可跳过安装。如果你会编译,可以把下面这些包直接编译在固件中。
opkg update && opkg install git git-http wget curl node node-npm perl moreutils
声明:OpenWrt环境千差万别,不保证一定可用,需要根据自己的环境来配置,如果OpenWrt安装了Docker,也可以使用Docker的方法。Rom小于256M就不要安装了,你空间不够。
报错了就自己解决报错问题,报错了你还闭着眼睛只管复制粘贴,连基本英文都看不懂?看不懂就别薅羊毛了。
流程
以下全文均以此路径/home/myid/jd
进行举例,请自行修改为你自己的路径!
以下全文均以此路径/home/myid/jd
进行举例,请自行修改为你自己的路径!
以下全文均以此路径/home/myid/jd
进行举例,请自行修改为你自己的路径!
注意:需要多账号并发的,请建立多个账户,每个账户各自使用一套脚本。看不懂这句话的小白别碰多账号并发。想要方便简单使用多账号并发的,请使用Docker的方式。
克隆本仓库
cd ~ && git clone -b v3 https://gitee.com/evine/jd-base jd
复制并编辑自己的配置文件
cd ~/jd # 创建一个配置文件保存目录 mkdir config # 复制仓库下sample/config.sh.sample到config目录中,并命名为config.sh cp sample/config.sh.sample config/config.sh # 复制仓库下sample/computer.list.sample到config目录中,并命名为crontab.list cp sample/computer.list.sample config/crontab.list # 如果本地用户名不是myid,而是linuxuser 可以使用下面命令 cat sample/computer.list.sample | sed 's/myid/linuxuser/g' > ./config/crontab.list # 然后编辑这两个文件:
可以通过控制面板编辑,详见 控制面板使用教程 ,也可以自行通过SFTP工具连接编辑。
其中
config.sh
是配置文件,crontab.list
是定时任务清单,如何编辑请查看两个文件内的注释,请务必仔细阅读!请务必仔细阅读!请务必仔细阅读!关于
crontab.list
,这里说明一下,除了那些本来就会准时运行的脚本外,如果还有一些脚本你不想随机延迟,要么在config.sh
中RandomDelay
不要赋值(所有任务都将不延迟执行),要么参考下文 如何手动运行脚本 部分,在crontab.list
中不想被随机延迟运行的任务后面,添加上now
,比如:20 * * * * bash /home/myid/jd/jd.sh jd_dreamFactory now
初始化
在首次编辑好
config.sh
和crontab.list
后,请务必手动运行一次git_pull.sh
,不仅是为检查错误,也是为了运行一次npm install
用以安装js指定的依赖。bash git_pull.sh
针对首次运行
git_pull.sh
,出现类似以下字样才表示npm install
运行成功:audited 205 packages in 3.784s 11 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
如果
npm install
失败,请尝试手动运行,可按如下操作,如果失败,可运行多次:cd ~/jd/scripts # 如果只安装了npm npm install || npm install --registry=https://registry.npm.taobao.org # 如果安装了yarn yarn install
添加定时任务
请注意:以下命令会完整覆盖你当前用户的crontab清单,请务必按照
crontab.list
中的注释操作!!!请注意:以下命令会完整覆盖你当前用户的crontab清单,请务必按照
crontab.list
中的注释操作!!!请注意:以下命令会完整覆盖你当前用户的crontab清单,请务必按照
crontab.list
中的注释操作!!!cd ~/jd crontab config/crontab.list
如果以后你还要增加其他定时任务,也请加在这个文件中以后,再运行上述命令。如果不添加在这个文件中,那么脚本会以
crontab.list
中的清单覆盖掉你通过其他方式添加的定时任务。部署完成。
如何更新配置文件
config.sh
和crontab.list
两个文件都一样,在任何时候改完保存好就行,其他啥也不用干,改完以后,新的任务就以新配置运行了。其中config.sh
改完立即生效,crontab.list
会在下一次任何定时薅羊毛任务启动时更新。
如需要在线比对编辑,请参考:控制面板使用教程
如何添加除lxk0301大佬以外的脚本
本环境基于node,所以也只能跑js脚本。你可以把你的后缀为.js
的脚本放在/home/myid/jd/scripts
下。比如你放了个test.js
,可以在你的crontab.list
中添加如下的定时任务:
15 10 * * * bash /home/myid/jd/jd.sh test # 如果不需要准时运行或RandemDelay未设置
15 10 * * * bash /home/myid/jd/jd.sh test now # 如果设置了RandemDelay但又需要它准时运行
然后运行一下crontab /home/myid/jd/config/crontab.list
更新定时任务即可。
注意:你额外添加的脚本不能以“jd_”、“jr_”、“jx_”开头,以“jd_”、“jr_”、“jx_”开头的任务如果不在lxk0301大佬仓库中,会被删除。
如果你额外加的脚本要用到环境变量,直接在你的config.sh
文件最下方按以下形式添加好变量即可(单引号或双引号均可):
export 变量名1="变量值1"
export 变量名2="变量值2"
export 变量名3="变量值3"
如何手动运行脚本
手动 git pull 更新脚本
cd ~/jd bash git_pull.sh
手动删除指定时间以前的旧日志
cd ~/jd bash rm_log.sh
手动导出所有互助码
cd ~/jd bash export_sharecodes.sh
手动启动挂机程序
cd
到脚本目录后输入bash jd.sh hangup
即可,然后挂机脚本就会一直运行。如果你希望每天终止旧的挂机进程,然后启动新的挂机进程,请参考sample/termux.list.sample
中的挂机定时任务,添加到自己的crontab.list
中。目前仅一个jd_crazy_joy_coin.js
为挂机脚本。手动执行薅羊毛脚本,用法如下(其中
xxx
为lxk0301大佬的脚本名称),不支持直接以node xxx.js
命令运行:cd ~/jd bash jd.sh xxx # 如果设置了随机延迟并且当时时间不在0-2、30-31、59分内,将随机延迟一定秒数 bash jd.sh xxx now # 无论是否设置了随机延迟,均立即运行
当前共有 条评论