标签 jd-base 下的文章

在树莓派上使用JD-Base 自动薅取京东羊毛

前言:

狗东的活动太丰富了,参与需要耗费大量时间。之前看到大佬们使用脚本代替人力来做这件事,甚至GitHub上还有开源项目。于是我决定跟随大佬脚步,给自己也整一个,部署在树莓派上。经过了解,脚本可以使用docker部署,也可以自己搭建环境。但貌似GitHub上的项目仓库都被封的差不多了,这里考虑用docker。

操作:

安装docker:

使用docker部署项目,自然要先安装docker,听说这个东西很简单,我在官网找到了安装说明,说的是Docker Engine有三种安装方法,分别是从存储仓库安装、从DEB包安装和使用shell脚本安装。而树莓派只支持从脚本安装,貌似没得选呀,我此处也不研究到底有没有的选,就按官方文档来吧。注意,docker的安装一般是需要root权限的。

首先,我们需要卸载旧的版本,执行以下命令,如果回显 none of these packages are installed 说明就可以了。

sudo apt-get remove docker docker-engine docker.io containerd runc

执行以下命令获取安装脚本并运行它,然后等待其自动完成Docker Engine的安装。完成安装后Debian类系统下程序就运行了。

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

Tips:

  • 如果以后需要卸载docker,使用以下命令卸载Docker Engine、CLI、和Containerd packages:

    sudo apt-get purge docker-ce docker-ce-cli containerd.io
  • 使用以下命令删除相关的镜像、配置信息、文件等:

     sudo rm -rf /var/lib/docker
     sudo rm -rf /var/lib/containerd

安装Docker Compose:

作者提供了一个 compose.yml 文件,它是 Docker Compose 工具的配置文件。通过此工具可以快速部署、分享docker项目。所以此处我们还需要安装它。如果使用的是Windows或Mac下的桌面版本,那应该已经带有Docker Compose,而Linux需要单独安装。此处我使用的树莓派,不支持直接二进制安装,所以通过pip安装。

运行此命令以安装依赖:

sudo apt install python3-dev python3-pip libffi-dev gcc libc-dev cargo make

通过pip安装 Docker Compose,此时前面的 python3 -m 表示将调用Python3处理,详见参考。

sudo python3 -m pip install docker-compose

Tips:

  • 如果您需要卸载Docker Compose,可运行以下命令使用pip安装的本工具卸载:

    sudo python3 -m pip uninstall docker-compose

部署JD-Base:

首先创建一个空目录,文件名自定,比如我是用的jdauto。然后我们把作者提供的 docker-compose.yaml 放入到之前目录,然后运行以下命令开始构建:

sudo docker-conpose up

部署完成后会看到相关登录信息,比如端口号默认是 5678 ,用户名是 admin ,密码是 adminadmin

确认无误按 Ctrl + X 停止。下次如果想要后台启动,可以使用 -d 选项,这样服务就会以分离模式(detached)运行。

修改配置信息:

JD-Base的服务运行起来后,我们便可以通过IP:5678访问配置页面了,输入用户名和密码登录。

向下滚动,如下所示,找到通知Token处,选择一种通知方式进行设置。

################################## 定义通知TOKEN(选填) ##################################
## 想通过什么渠道收取通知,就填入对应渠道的值
## 1. ServerChan,教程:http://sc.ftqq.com/3.version
export PUSH_KEY=""

## 2. BARK,教程(看BARK_PUSH和BARK_SOUND的说明):https://github.com/RikudouPatrickstar/jd_scripts/blob/master/githubAction.md
—————————略—————————————

回到上面最开始处,设置Cookie,可以看到扫码获取已经无效了,浏览器获取有效期很短。所以使用仓库自带脚本wskey.js来自动更新cookie。

在容器的config目录下的wskey.json文件中填写wskey,wskey需要自行抓包。抓包方式本文不展开,下面会附链接。

以上信息填好后我们需要回到网页的配置设定中,将第一个cookie中随意填入几个字母,否则脚本会因没有cookie不执行。

然后点击手动执行选项卡,在脚本名称处输入 wskey ,然后点击提交,等待其完成执行,然后就可以在配置设定中看到正确的Cookie了。

去Linux shell中使用 sudo docker-compose restart 命令重启docker。如果处于前台运行,使用 Ctrl + C 停止,然后使用 sudo docker-compose up -d 在后台启动。

在后台以分离模式运行时,使用 sudo docker-compose stop 可以停止服务。

此时,我们便完成了整个部署,里面某些任务可能当天不会执行,可以去手动执行里面按需手动运行一下。

参考: