青龙面板:一起愉快的刷京豆
本文最后更新于 204 天前,其中的信息可能已经有所发展或是发生改变。

青龙是一款支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台。

目前流行挂各种自动化签到脚本,如京东、快手和美团等,在活动多的时候,挂京豆脚本一天的收益能有一块钱,一年下来,也能包住云服务器的开销。

安装青龙

还是老样子,推荐使用docker进行安装,不容易与本机其他应用产生冲突。

创建一个文件夹用于存放docker-compose.yml文件,容器部署后配置文件也存储在这个文件夹

mkdir /opt/qinglong
cd /opt/qinglong

docker-compose

创建docker-compose.yml文件,其中内容如下

version: '2'
services:
  web:
    # alpine 基础镜像版本
    image: whyour/qinglong:latest
    # debian-slim 基础镜像版本
    # image: whyour/qinglong:debian  
    volumes:
      - ./data:/ql/data
    ports:
      - "0.0.0.0:5700:5700"
    environment:
      # 部署路径非必须,以斜杠开头和结尾,比如 /test/
      QlBaseUrl: '/'
    restart: unless-stopped

容器部署

docker-compose up -d

容器部署成功后,通过ip地址:5700即可访问,首次登录需要设置账户和密码,其中推送设置可以先跳过,后续再进行设置。进入面板界面如图所示。

image-20230712233003115

拉取仓库

首先,需要拉取脚本,以KingRan的京东脚本库为例,点开定时任务菜单,选择新建任务,命令如下。

ql repo https://github.com/KingRan/KR.git "jd_|jx_|jdCookie" "activity|backUp" "^jd[^_]|USER|utils|function|sendNotify|ql|JDJR"

定时规则如下,这个cron表达式将在每天的午夜(00:00)执行命令或脚本。

0 0 * * *

image-20230712231554446

如果是国内的服务器,记得给github仓库地址前加个代理,在cloudflare搭建个人代理那节,我搭建了一个github代理,也可以用我的,https://github.leitingtool.cf/

新建完拉库任务后,点击运行,就会根据命令中预设的规则将仓库中的脚本下载到面板中,并根据脚本中的设置,自动添加定时任务,一般来说,定时任务不需要我们自己进行修改。

image-20230712232721013

拉取完仓库如图

image-20230712232842968

获取cookie

我们要使用脚本登录京东账号,让其自动帮我们完成东东农场浇水、自动签到、自动价保等功能。而脚本登录我们账号就需要cookie来实现,而一般在浏览器中抓取到的cookie有效期都很短,之前是在一个月左右,过期后需要重新进行抓取,比较麻烦。

wskey 是移动端APP特有 Cookie 参数值, WSKEY 的有效期为半年起步,具体有效时间暂时未知,配置后可转换生成有效期为 5 个小时左右的 cookie,实现长时间挂载账号刷京豆。

注销登录(在抓取设备的APP中手动操作退出账号登录)、修改密码会导致其失效,若想在APP中切换账号直接卸载APP即可,极少数情况下存在被官方主动踢下线的可能性

抓取WSKEY

准备工具:

app:VNET(抓包用)、京东;

VNET下载地址:https://www.vnet-tech.com/zh/
VNET抓包wskey

打开已下载的VNET软件,第一步先安装CA证书;

点击右下角三角形上面的按钮按钮,选择导出CA证书,app就会将CA证书下载至手机你指定的路径里

_-1806192279__b155e5532bc6e72b648d9765ff9b70ec_-660483070_Screenshot_2023-07-12-23-43-23-515_com.vnet_0_wifi_0

随后在手机设置里进行安装,这里不同手机可能安装位置不同,具体根据自己的手机型号百度查询如何安装CA证书即可,以小米手机为例,在设置中搜索CA证书,选择仍然安装,可能会需要你使用指纹或者密码进行解锁,然后在文件存储中选择你刚刚保存的CA证书,CA证书名字为CA.pem。

_-1955488830__8ac8cf69d32924eb9d6f9bbf214da43b_349445750_Screenshot_2023-07-12-23-44-10-081_com.android_0_wifi_0

完成了CA证书的安装后,就可以进行抓包了,在VNET中选择添加京东为抓包应用,点击三角形按钮,开始抓包。切换到京东app,转到个人界面刷新一下,在VNET中就可以看到抓到的各种数据。

在看到来源于**.jd.com的抓包数据后,这就是我们需要的数据报,就可以停止抓包了

_-552505781__12dff7f04db341eaf47836af5af84b3e_1135600892_Screenshot_2023-07-12-23-51-31-857-edit_com.vnet_0_wifi_0

点开抓取的数据,点进去往下滑,找到cookie里的pin和wskey,这样就算获取成功了。

QQ图片20230713000037

青龙面板使用wskey转换脚本

一般拉取的仓库中都有wskey转换脚本,根据青龙规定的环境变量创建规则,将刚才VNET抓取的pin和wskey添加到青龙的环境变量中,环境变量明明规则如下:

变量名: JD_WSCK 
参数: pin=xxxx;wskey=xxxx; # 注意分号 不要用中文分号!

image-20230713000807867

将wskey的环境变量添加完成后,便可以去执行wskey转换的脚本了,

image-20230713000943302

执行后在环境变量里就能看到转化后的JD_COOKIE了

image-20230713001047687

安装依赖

有些脚本库会需要安装一些依赖,在青龙面板里,可以对依赖进行一键安装。

以KingRan大佬的库为例,直接运行时会报错,显示没有ds

image-20230713001420909

在依赖管理中,选择Nodejs,点击新建依赖,名称一栏中输入我们需要安装的库,点击确定,面板就会自动为我们安装。不同的脚本有时需要的依赖不同,需要时常查看脚本运行日志,查看脚本是否运行成功,如果失败,常常是因为确实依赖库的原因,缺少什么库,就可以在依赖管理中进行添加。

image-20230713001315382

推送设置

青龙面板提供了多种消息推送方式,如server酱、企业微信、push plus等。

以push plus为例,登录http://www.pushplus.plus/,使用微信扫码登录,绑定自己的微信,在发送消息一栏中选择一对一消息,创建自己的token

image-20230713002531940

将获取的token填入青龙配置文件的推送设置中,点击保存。

image-20230713002704078

后续脚本运行或者资产变动信息,就会通过push plus接口发送到绑定的微信上。

青龙的内置命令

# 更新并重启青龙
ql update                                                    
# 运行自定义脚本extra.sh
ql extra                                                     
# 添加单个脚本文件
ql raw <file_url>                                             
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions>
# 删除旧日志
ql rmlog <days>                                              
# 启动tg-bot
ql bot                                                       
# 检测青龙环境并修复
ql check                                                     
# 重置登录错误次数
ql resetlet                                                  
# 禁用两步登录
ql resettfa                                                  

# 依次执行,如果设置了随机延迟,将随机延迟一定秒数
task <file_path>                                             
# 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中
task <file_path> now                                         
# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行
task <file_path> conc <env_name> <account_number>(可选的) 
# 指定账号执行,无论是否设置了随机延迟,均立即运行 
task <file_path> desi <env_name> <account_number>      
# 设置任务超时时间   
task -m <max_time> <file_path>
# 实时打印任务日志,创建定时任务时,不用携带此参数
task -l <file_path>

参数说明

  • file_url: 脚本地址
  • repo_url: 仓库地址
  • whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割
  • blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割
  • dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割
  • extensions: 拉取仓库的文件后缀,多个竖线分割
  • branch: 拉取仓库的分支
  • days: 需要保留的日志的天数
  • file_path: 任务执行时的文件路径
  • env_name: 任务执行时需要并发或者指定时的环境变量名称
  • account_number: 任务执行时指定某个环境变量需要执行的账号序号
  • max_time: 超时时间,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天

参考资料

  1. whyour/qinglong: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript) (github.com)
  2. KingRan/KR (github.com)
  3. VNET-TECH – Android Packet Capture Tool
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇