Docker安装青龙面板及其附属面板实现京东等APP代挂
本文最后更新于 370 天前,如有失效请评论区留言。

Docker安装青龙面板及其附属面板实现京东等APP代挂

青龙面板是一个定时脚本平台,通过它我们可以使用各种脚本定时跑任务,来达到薅羊毛的效果。

  • 支持多种脚本语言(python3、javaScript、shell、typescript)

  • 支持在线管理脚本、环境变量、配置文件

  • 支持在线查看任务日志

  • 支持秒级任务设置

  • 支持系统级通知

  • 支持暗黑模式

  • 支持手机端操作

【环境要求】

  • 有Docker的openwrt

  • 科学上网环境

  • IPV6或内网穿透(可选)

【安装青龙面板】

本次使用N1盒子刷软路由演示。

【ssh到N1】

  • 打开cmd
ssh root@你的openwrt的IP地址

【安装面板】

以下代码已预留了ninjia、xdd、xdd-plus、sillyGirl、等映射文件夹。
直接粘贴就行会自动拉镜像的

docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/scripts:/ql/scripts \
-v $PWD/ql/repo:/ql/repo \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/db:/ql/db \
-v $PWD/ql/deps:/ql/deps \
-v $PWD/ql/jbot:/ql/jbot \
-v $PWD/ql/raw:/ql/raw \
-v $PWD/ql/ninja:/ql/ninja \
-v $PWD/ql/xdd:/ql/xdd \
-v $PWD/ql/xdd-plus:/ql/xdd-plus \
-v $PWD/ql/sillyGirl:/ql/sillyGirl \
-p 5700:5700 \
-p 5701:5701 \
-e ENABLE_HANGUP=true \
-e ENABLE_WEB_PANEL=true \
-e ENABLE_TG_BOT=true \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:2.10.13

【开启端口】

  • 进入openwrt

  • 进入Docker——配置——DockerMan设置——访问控制——允许访问的端口,开启 qinglong | 5700 | tcpqinglong | 5701 | tcp (开启的5701端口是下一步安装ninja面板的端口)。

【访问和配置】

输入你的 openwrt IP 或 Docker容器 IP +端口5700 即可访问。安装面板过程不赘述,推送机器人可根据自己喜好去申请对应API然后进行配置,本文提供配置Telegram机器人方法。

【配置Telegram推送机器人实现任务状态及收益发送】

由于Docker中无法科学上网,所以我们要搭建socks代理服务,本文使用passwall进行代理。

  • passwall——Socks配置——添加服务器

passwall配置

  • 申请Telegram机器人,获取token

访问 https://t.me/BotFather 添加机器人,根据提示获取token。

Telegram机器人获取token

图中打码处为token。

然后给自己的机器人随便私聊一句,防止等会配置失败。

  • 获取ID

访问 https://t.me/getuseridbot 添加机器人,输入 /start 获取id

Telegram机器人获取id

图中打码处为id。

  • 获取Docker地址

ssh进openwrt,输入ifconfig

docker容器网络地址

红线画出即为Docker地址。

  • 配置代理

Telegram通知机器人配置

两处涂黑处分别填入你刚才获取的token和id,途中第一个红色框填入你Docker的地址,下面的代理端口填写你刚才配置Socks代理时的HTTP监听端口,然后保存。

此时你的telegram应该已经收到消息了,但配置还没完。

  • 打开青龙面板——设置环境变量

青龙面板环境变量配置

把刚才填过的再填一遍,此时你的telegram推送机器人已经可以给你推送了。

【配置依赖】

依赖分为NodeJs、python3、Linux,我们需要分别添加。

  • 打开面板

  • 选择依赖管理——选择NodeJs子项——新建依赖

  • 把下方代码粘贴到名称中,开启自动拆分

  • 确定后会自动下载依赖

  • NodeJs依赖

crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios
  • python3依赖
requests
canvas  
ping3
jieba
  • Linux依赖
bizCode
bizMsg  
lxml

等待依赖安装完成。

【拉取脚本库】

  • 打开面板

  • 定时任务——新建任务

  • 名称随便输

  • 命令从下方选择

  • 输入定时规则

  • 保存运行

1. KingRan库【集合库,推荐】

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

2.Faker3【集合库】

ql repo 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" "main"

3. yyds【集合库】

YYDS
ql repo https://github.com/okyyds/yyds.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator" "master"

YYDS_Pure
ql repo https://github.com/okyyds/yydspure.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator" "master"
【注意】拉库前请打开青龙面板-配置文件 第18行 GithubProxyUrl="" 双引号中的内容删除。
  1. smiek2121【开卡,建议】
ql repo https://github.com/smiek2121/scripts.git "gua_" "" "ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_validate.js|cleancart_activity.js|jdCookie.js|sendNotify.js"

5. ccwav通知增强版和CK检测【建议】

//不包含sendNotify:
ql repo https://github.com/ccwav/QLScript2.git "jd_" "sendNotify|NoUsed" "ql"

//包含sendNotify:
ql repo https://github.com/ccwav/QLScript2.git "jd_" "NoUsed" "ql|sendNotify"

6.【619】【集合库,可选】

ql repo https://github.com/gys619/jdd.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"

7 .【zero205】【集合库,拉KR即可】

ql repo https://github.com/zero205/JD_tencent_scf.git "jd_|jx_|jdCookie" "backUp|icon" "^jd[^_]|USER|sendNotify|sign_graphics_validate|JDJR|JDSign|ql" "main"
  • 一些定时规则
第1个是秒,第2个是分,第3个是时,第4个是每月的哪日,第5个是哪月,第6个是每周的周几。 数字之间空格隔开。 同一个时间位多个选项用","连接,同一个时间位一个区间用“-”连接。
*/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 触发

拉取完成会出现很多任务,但还不能运行,因为缺少登录信息,所以我们要获取Cookie

【抓取Cookie和Wskey(可选)并设置环境变量】

Cookie和Wskey一定不能泄露,否则可能会被别人登录造成损失!!!

_17万京豆被偷,京东账号代挂要谨慎_

不要相信任何代挂网,也会暴露Cookie!!!

获取Cookie(电脑端)

  • 用浏览器在 PC 端打开京东触屏版网页 https://m.jd.com

  • 按键盘 F12 键打开开发者工具,切换到网络(Network)标签,然后点下图中的图标

浏览器F12切换移动设备试图

  • 此时是未登录状态(使用手机短信验证码登录),如已登录请忽略此步骤

登录京东

  • 登录后,选择 Network(或者按第二步的打开就选择网络标签),忽略现在正在跑的进度条

登陆后F12截图

  • 如果和上面的图不一样,那就点一下“我的”如果一样,这是网络标签很多内容,刷新一下

  • 选择第一个内容,我这里是:newhome.action?sceneval=2&ufc=&可能每个人会不一样,然后如下图一样找到 cookie,复制出来,新建一个 TXT 文本临时保存一下,下面需要用到

获取cookie

  • 在 TXT 文本里面找到 pt_pin 和 pt_key 两个参数,其它的全部删掉。

  • 如图所示,红色框下的部分就是需要的参数,其它的全部删掉。

查找cookie

获取Cookie(手机端)

  • 下载Alook游览器APP

  • 打开网址栏  www.m.jd.com

  • 《工具箱》开发者工具

手机获取cookie

获取Wskey(可选)

  • 下载Stream抓包工具

  • 根据提示安装CA证书并信任

  • 点击开始抓包,然后打开京东APP

  • 在各个页面刷新几次,主要是”首页“和”我的“页面

  • 返回抓包工具,暂停抓包

  • 打开抓包历史,选择刚才的抓包日志

  • 切换到按域名分类

  • 找到并打开 api.m.jd.com 域名

  • 然后随便选择一个开头是POST的请求

  • 切换到”请求“项,查看请求头部(此时请求头部应该有很多,若很少,就重新选一个POST请求)

  • 找到 ”wskey=*******

手机Wskey抓包结果

【设置环境变量】

  • 进入面板

  • 新建环境变量

  • 变量名称为 JD_COOKIE (不能改!)

  • 值填为 pt_key=######;pt_pin=#########; (#号为你刚才获取的Cookie值)

  • 切换到定时任务项,运行 jdCookie.js 然后查看日志

  • 若显示如下证明Cookie已配置成功

## 开始执行... 2022-08-07 11:17:14

====================共1个京东账号Cookie=========

==================脚本执行- 北京时间(UTC+8):2022/8/7 11:17:15=====================

## 执行结束... 2022-08-07 11:17:15 耗时 1 秒
  • 若要增加环境变量,新建安装上述步骤添加即可

【运行】

此时运行任务,不出意外的话已经可以正常使用了

【配置WSCK使Cookie实现永不失效(半永久)(可选)】

短信获取Cooike有效期为30天,所以必须每30天提交一次(也可以30天内随时提交)我们可以配置Wskey,系统会在指定时间检查wskey,有效则自动转换出Cookie并自动写入”JD_COOKIE“,Cookie失效后,也会在系统设定的指定时间内自动转换出新的Cookie,实现一次录入长期有效。

【配置方法】

  • 拉取wskey本地转换脚本(按照上面拉取脚本库方法)
ql repo https://ghproxy.com/github.com/Zy143L/wskey.git "wskey"
  • 使用建议 修改 定时计划 15 */6 * * *

  • 默认为6小时15分执行一次 请按需修改

【配置环境变量】

变量名: JD_WSCK 参数: pin=xxxx;wskey=xxxx; (根据上面获取到的Cookie和Wskey自行拼接)

【运行】

  • 定时任务中运行 wskey转换 若显示下图证明已经生效。
## 开始执行... 2022-08-07 21:42:47

--------------------

5700端口检查通过
使用 _id 键值
HTTP Server Check OK
--------------------

当前脚本版本: 20524
--------------------

pt_pin=jd_FlPZDwVsRPqf;检索成功

jd_FlPZDwVsRPqf;状态正常

pt_pin=jd_FlPZDwVsRPqf;账号有效

账号启用
--------------------

--------------------

暂停10秒

执行完成
--------------------

## 执行结束... 2022-08-07 21:43:02 耗时 15 秒

【ninja面板】

Ninja是@MoonBegonia大佬开发的一个开源安全的青龙_面板_扫码工具,可以

  • 扫码,跳转登录添加/更新 cookie

  • 添加/更新 cookie 后发送通知

  • 扫码发送通知可关闭

  • 添加备注并将通知中的 pt_pin nickName 修改为备注

  • 默认备注为昵称

  • 添加扫码推送卡片

  • 替换 cookie 失效通知

  • 登录界面展示自定义标语

  • 支持多容器,多面板

  • 采用自己的数据库,实现无视面板替换通知备注

  • 账号管理面板

现扫码登陆和WSCK录入已失效,但不影响正常使用,后面会介绍WSCK使用方法。

【安装】

ssh到N1
docker exec -it qinglong bash       #进入容器
git clone https://ghproxy.com/https://github.com/licklly/kingrom_ninja.git /ql/ninja       #拉取ninja库文件到容器ninja文件夹中
cd /ql/ninja/backend       #进入到backend文件夹下
pnpm install       #安装ninja
cp .env.example .env       #复制环境变量文件并修改文件名
pm2 start       #启动ninja
vi /ql/config/extra.sh       #打开青龙config文件夹的extra.sh文件
#将以下、内容粘贴到 extra.sh(重启后自动更新并启动 Ninja,已去除自动复制通知文件,因为已失效,需要的去除注释符合#即可)

cd /ql/ninja/backend
git checkout .
git pull
pnpm install
pm2 start
#cp sendNotify.js /ql/scripts/sendNotify.js

进入编辑:按字母i
退出保存:按Esc键,再输入:wq
不保存强制退出:按Esc键,输入:q!
上面的冒号不能少!!!
pm2 start       #退出保存后,再次重启ninja

【运行】

  • 访问N1的ip:5701,测试运行是否正常。

【修改环境变量】

docker exec -it qinglong bash       #进入容器
cd /ql/ninja/backend
vi .env
pm2 start

Ninja 环境变量(特别提醒:部分变量存在赋值问题,部分变量的false和true并不能起作用,
请直接使用注释符号#来控制,启用功能→删除#即可,禁用功能→添加#)
目前支持的环境变量有:
SHOW_QR:是否显示扫码卡片,默认不显示
SHOW_WSCK:是否显示WSCK录入,默认不显示
SHOW_CK:是否显示CK登录,默认不显示
ALLOW_WSCK_ADD:是否允许添加WSCK账号 不允许添加时则只允许已有账号登录
ALLOW_WSCK_NUM:允许添加WSCK账号的最大数量
ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true)
ALLOW_NUM: 允许添加账号的最大数量(默认 45)
NINJA_PORT: Ninja 运行端口(默认 5701)
NINJA_NOTIFY: 是否开启通知功能(默认 true)
NINJA_UA: 自定义 UA,默认为随机

【更新和删除ninja】

#进入qinglong容器内执行
#更新Ninja:
cd /ql/ninja
git checkout .
git pull
cd backend
pm2 start

#删除Ninja
cd /ql/ninja
pm2 delete ninja
rm -rf *
rm -r ./.*

【JDX面板】

JDX是一款Cookie提交工具,界面也非常简约,由于某种原因,大佬已删库跑路!

【安装】

ssh到N1
docker pull grbhq/jdx:latest       #拉取JDX镜像
docker run -d \
  -v $PWD/jdx/config:/jdx/config \
  -p 5702:80 \
  --restart=always \
  --name jdx grbhq/jdx:latest       
#运行JDX容器【注意映射端口不要冲突,可自行修改5702为其他端口,这里以5702为例】
docker logs -f jdx       #查看JDX容器日志【CTRL+C退出查看】

【运行】

  • 访问N1的ip:5702,测试运行是否正常。

【后台设置】

### 访问后台地址:【默认用户名:admin 密码:123465】
http://N1的ip:5702/admin

登陆后台后记得及时修改用户名和密码!!!!
修改方法:
手机端:左滑即可编辑
PC端:按F12 ->再按组合键ctrl+shift+M 【切换浏览器为手机模式即可左滑修改】

【添加青龙容器】

  • 首先需要获取青龙容器的ID和密钥

  • 系统设置——应用设置——新建应用——权限全选,名称随便

地址:N1 IP:5700
客户端ID:Client ID(刚才面板设置的)
客户端密钥:Client Secret(刚才面板设置的)
  • 配置完成!

    • *

【引用】

版权声明:本文为xiaomi250原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。

评论

  1. leo
    iPhone Safari 16.2
    2 年前
    2023-1-02 2:30:11

    大佬你说的解诀ninja录入wsck的方法是什么啊

    • 博主
      leo
      Windows Chrome 108.0.0.0
      2 年前
      2023-1-03 11:59:27

      ninja仓库作者已经很久没更新了,我不知道这个方法还有没有用,具体就是在环境变量里打开WSCK的相关功能,然后去抓pt_pin和wskey两个参数,抓到后用 pin=xxxx;wskey=xxxx; 的格式拼在一起,然后提交。但我比较推荐文章目录2.8.3-2.11.3的方法,都能实现相同的效果,且后者实现也较为简单。

发送评论 编辑评论


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