科学与技术彻底改变了生活,但记忆、传统和神话限定了我们的反应。

阿瑟·施莱辛格(Arthur Schlesinger),历史学家

这是笔者使用Docker的第一个功能,因为笔者是个京东较重度的使用者,每天要做大量的任务来薅羊毛领京豆,而这个功能让我从重度使用者转变成中度使用者,节约了一部分薅羊毛的时间。

在薅羊毛之前,我们还是一步步来看如何做到自动薅羊毛。本文内容需要一定的耐心和一些计算机知识,如果你赚麻烦或者整不明白,可以上笔者的车:挂京东上车,进入页面后,通过扫码、唤醒京东、绑定京东的手机号验证码等方式即可上车。

第一步,安装 Docker 软件

先上图,Docker插件要安装哪些软件包:
一共5个,在更新列表后,可以直接安装“luci-i18n-dockerman-zh-cn”,系统会自动补全依赖的软件包,然后再安装没有自动安装的那个就行了。至此,第一步完成。

第二步,拉取镜像&部署容器

安装好以后,Docker 会自动运行,刷新软路由的界面后,会发现菜单里多了“Docker”这个菜单(如果没有,可以重新登录一下软路由),看图:

那为什么拉取镜像和部署容器放在一起呢?因为OpenWRT的Docker支持部署容器时拉取镜像,所以这两步可以合二为一。当然,你也可以先去镜像界面拉好镜像,再到容器页面来部署。不过作为懒人,我们还是把能省的步骤给省下来,这样也让更多的人更轻松地掌握这项技能。

此时,我们可以点击 Docker 菜单中的容器,也可以点击上图左下角容器框里的数字。

来,看图说话,我们要挂京东的任务要用到青龙面板,就是图中的第三个容器。如果你从来没有安装和使用过 Docker,那么不会存在图中的三个容器,需要点左下角的“新增”来添加。

新增后,直接点命令行,复制如下内容到命令行的框内:

docker run -dit \
  -v /opt/docker/ql:/ql/data \
  -p 5700:5700 \
  --name qinglong \
  --hostname qinglong \
  --restart always \
  whyour/qinglong:latest

其中:

  • -v是挂载路径,把软路由的路径,挂载到容器中的路径。
  • -p 后的5700:5700是你要使用到的端口,前面是映射到软路由的端口,后面的是容器中使用的端口。本例中,可以用“http://<软路由的 IP 地址>:5700”访问青龙面板。
  • –name 设定容器的名字,今后要用到的。
  • –hostname 是容器的设备名。
  • –restart 是软路由重新后,该容器是否自动运行,这里的always是总是自动运行。
  • 最后一行是要用到的镜像,如果没有,Docker 会为你自动拉取,所以笔者前面说拉取和部署可以合二为一。

然后点两个“提交”,待 Docker 完成拉取,会自动回到容器界面,此时就能看到qinglong容器了,如果没有自动运行,可以打上容器前的勾,再点“启动”。这样,青龙面板就已经运行了。

第三步,初始化青龙面板

点击“开始安装”后,第一个是通知设置,如果你没有自动通知的机器人,可以先不设,以后可以再添加,第三个账户设置就是为自己设置一个好记的用户名和密码,用于以后管理和配置青龙面板。然后就可以进入了青龙面板添加脚本了。

第四步,添加脚本库

配置好了青龙面板,已经享用羊毛进了一步了。但并不意味着你已经可以薅羊毛了,毕竟青龙面板只是一个提供脚本运行的环境和场所,真正起作用的是脚本,所以我们得添加脚本库。

库名地址
【Faker 2 助力池版】ql repo  https://git.metauniverse-cn.com/https://github.com/shufflewzc/faker2.git  “jd_|jx_|gua_|jddj_|jdCookie” “activity|backUp”  “^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator|magic|depend|h5sts”  “main”
【Faker 3 纯净版】(无助力池,本地账号助力)ql repo  https://git.metauniverse-cn.com/https://github.com/shufflewzc/faker3.git  “jd_|jx_|gua_|jddj_|jdCookie” “activity|backUp”  “^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator|magic|depend|h5sts”  “main”
6dylan6/jdpro(集合库)ql repo https://github.com/6dylan6/jdpro.git “jd_|jx_|jddj_”  “backUp” “^jd[^_]|USER|JD|function|sendNotify”
Curtinlv 仓库ql repo https://github.com/curtinlv/JD-Script.git
gys619/Absinthe(集合库)ql repo https://github.com/gys619/Absinthe.git  “jd_|jx_|jddj_|gua_|getJDCookie|wskey” “activity|backUp”  “^jd[^_]|USER|utils|ZooFaker_Necklace|JDJRValidator_|sign_graphics_validate|jddj_cookie|function|ql|magic|JDJR|JD”  “main”
KingRan/KR(集合库)ql repo https://github.com/KingRan/KR.git “jd_|jx_|jdCookie”  “activity|backUp”  “^jd[^_]|USER|utils|function|sign|sendNotify|ql|JDJR”
smiek2121(开卡库)ql repo ql repo https://github.com/smiek2121/scripts.git  “jd_|gua_” “”  “ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_validate.js|cleancart_activity.js|jdCookie.js|sendNotify.js”
Yun-City/City(集合库)ql repo https://github.com/Yun-City/City.git  “jd_|jx_|gua_|jddj_|getJDCookie” “activity|backUp”  “^jd[^_]|USER|function|utils|sendnotify|ZooFaker_Necklace|jd_Cookie|JDJRValidator_|sign_graphics_validate|ql|magic|cleancart_activity”
Zy143L/wskey(wskey转换库)ql repo https://github.com/Zy143L/wskey.git “wskey”
混沌ql repo https://github.com/whyour/hundun.git “quanx”  “tokens|caiyun|didi|donate|fold|Env”
龙珠ql repo https://github.com/whyour/hundun.git “quanx”  “tokens|caiyun|didi|donate|fold|Env”

表中的库是笔者从网上收集的,有些可能已经停更或失效了,所以可以自己去尝试,如果不愿意尝试的,就用Faker的这两个版本,这是笔者目前在使用的脚本库。

第一个是带助力池的,有些任务会为作者和其他挂友助力,你要把自己的助力码上传到作者提供的助力池,才有可能会让别人给自己助力。
第二个不带助力池,脚本会在你设定好的账户之间互相助力。
所以如果你是单账号挂机,推荐带助力池版本的;多账号挂机,可以使用无助力池版本。

青龙面板支持两种方法添加库,为了便于区分和管理,笔者建议使用“订阅管理”页面来添加库。具体操作如图:

如果确定后没有拉取脚本,可以点一下操作下面的第一个按钮运行。等一会儿就可以看到定时任务中会有很多任务了。如果没有,请查看网络是否畅通,库是否有效。

第五步,添加依赖

这里不作过多说明了,看图和表。

NodeJsPython3Linux
@types/nodeaiohttpbizCode
axiosasynciobizMsg
cheeriocanvasLxml
cjsdependwget
crypto-jsdsgcc
date-fnsjieba
dotenvmoment
downloadping3
dsPyExecJS
execjsrequests
form-data
fs
global-agent
got
jieba
js-base64
jsdom
jsdom -g
json5
moment
png-js
prettytable
require
tough-cookie
tslib
ts-md5
ts-node
tunnel
typescript
ws
ws@7.4.3

第六步,添加变量

你以为之前的设置搞定就万事大吉了?图样图森破,因为青龙还不知道这些脚本要为谁运行呢……

我们要在这个地方添加你登录京东的 cookie,那么这个 cookie 怎么来呢?
目前,只有通过手机 APP 登录是存续期最长的,只要你的账号不登出,就一直有效,但这个获取的要求比较特殊,安卓机需要安装特殊的 APP,苹果机目前我还没发现有相关 APP(主要是目前手上没有苹果,没有去关心过),我们先使用方便一些的——手机号验证登录。一般我们的京东账号都会绑定一个手机号,我们就可以在电脑网页,通过手机号登录京东,并通过开发者工具获取这个 cookie。
这个方法用系统自带的 Edge 浏览器就能做到,右键点击 Edge 浏览器的图标→选择“新建 InPrivate 窗口(I)”→按 Ctrl+Shift+I 或 F12 打开“开发者工具”→在“开发者工具”里选择“网络”→在地址栏里输入“m.jd.com”。

然后在页面中点“登录”,会出现登录注册页面:

然后输入手机上收到的验证码,点登录,成功后,再来看右边的“开发者工具”:

最后,把复制下来的 cookie 粘贴到青龙面板新建的变量值里,确定。
恭喜你,你的京东账号可以自动薅羊毛了,可以每天愉快地看着京豆上涨。
如果你没有搞定,也没关系,可以上笔者的车,上车地址在本文开头已经公布过了,这里就不再重复了。

下面附上定时任务的定时规则,可以作为参考。


*/5 * * * * ?    #每隔 5 秒执行一次
0 */1 * * * ?    #每隔 1 分钟执行一次
0 0 2 1 * ? *    #每月 1 日的凌晨 2 点执行一次
0 15 10 ? *    #MON-FRI 周一到周五每天上午 10:15 执行
0 15 10 ? 6L    #2002-2006 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行
0 0 23 * * ?    #每天 23 点执行一次
0 0 1 * * ?    #每天凌晨 1 点执行一次
0 0 1 1 * ?     #每月 1 日凌晨 1 点执行一次
0 0 23 L * ?    #每月最后一天 23 点执行一次
0 0 1 ? * L    #每周星期天凌晨 1 点执行一次
0 26,29,33 * * * ?    #在 26 分、29 分、33 分执行一次
0 0 0,13,18,21 * * ?    #每天的 0 点、13 点、18 点、21 点都执行一次
0 0 10,14,16 * * ?    #每天上午 10 点,下午 2 点,4 点执行一次
0 0/30 9-17 * * ?    #朝九晚五工作时间内每半小时执行一次
0 0 12 ? * WED    #每个星期三中午 12 点执行一次
0 0 12 * * ?    #每天中午 12 点触发
0 15 10 ? * *    #每天上午 10:15 触发
0 15 10 * * ?    #每天上午 10:15 触发
0 15 10 * * ? *    #每天上午 10:15 触发
0 15 10 * * ?    #2005 2005 年的每天上午 10:15 触发
0 * 14 * * ?    #每天下午 2 点到 2:59 期间的每 1 分钟触发
0 0/5 14 * * ?    #每天下午 2 点到 2:55 期间的每 5 分钟触发
0 0/5 14,18 * * ?    #每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发
0 0-5 14 * * ?    #每天下午 2 点到 2:05 期间的每 1 分钟触发
0 10,44 14 ? 3 WED    #每年三月的星期三的下午 2:10 和 2:44 触发
0 15 10 ? * MON-FRI    #周一至周五的上午 10:15 触发
0 15 10 15 * ?    #每月 15 日上午 10:15 触发
0 15 10 L * ?    #每月最后一日的上午 10:15 触发
0 15 10 ? * 6L    #每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6L    #2002-2005 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6#3    #每月的第三个星期五上午 10:15 触发

青龙面板只能挂京东吗?当然不是啦,下次我们会聊聊青龙面板另外一个用途,当然了,如果你会开发脚本,那用途就更多了。好了,本文就到这里了,有什么疑问可以回复交流。

感谢阅读本站的文章,如果对本站有什么好的建议,也欢迎评论区留言交流!🌹🌹🌹

软路由之Docker(一)——京东挂机
Tagged on:

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据