青龙
简体中文 | English
功能
- 支持多种脚本语言(python3、javaScript、shell、typescript)
- 支持在线管理脚本、环境变量、配置文件
- 支持在线查看任务日志
- 支持秒级任务设置
- 支持系统级通知
- 支持暗黑模式
- 支持手机端操作
部署
本机部署
# 待完善,可先参考开发步骤
podman 部署
- podman 安装
https://podman.io/getting-started/installation
- 启动容器
podman run -dit \ --network bridge \ -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ docker.io/whyour/qinglong:latest
docker 部署
- docker 安装
sudo curl -sSL get.docker.com | sh
- 配置国内镜像源 Configure domestic mirror sources
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://0b27f0a81a00f3560fbdc00ddd2f99e0.mirror.swr.myhuaweicloud.com", "https://ypzju6vq.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] } EOF systemctl daemon-reload systemctl restart docker
- 启动容器
docker run -dit \ -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:latest
docker-compose 部署
- docker-compose 安装
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- 启动容器
mkdir qinglong wget https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml # 启动 docker-compose up -d # 停止 docker-compose down
- 访问
打开你的浏览器,访问 http://{ip}:5700
使用
- 内置命令
# 更新并重启青龙 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>
- 参数说明
- file_url: 脚本地址
- repo_url: 仓库地址
- whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割
- blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割
- dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割
- extensions: 拉取仓库的文件后缀,多个竖线分割
- branch: 拉取仓库的分支
- days: 需要保留的日志的天数
- file_path: 任务执行时的文件路径
- env_name: 任务执行时需要并发或者指定时的环境变量名称
- account_number: 任务执行时指定某个环境变量需要执行的账号序号
一、拉库命令
【注意】不可同时拉多个集合库,同时拉多个集合库容易黑ip,保留一个即可。
拉了好几个大库的记得运行一下去重脚本。
设置Proxyurl:
老版青龙,需要设置config.sh(如果还有extra.sh的话,也改)中的GithubProxyUrl改为
https://git.metauniverse-cn.com/
添加一个定时任务,定时拉库命令,就可以定时更新仓库。可设置为 0 /12 每天0点和12点运行一次更新。
拉库一直失败的,可以自己寻找代理或者留言,我提供临时代理。
1. KingRan库【推荐❤❤❤❤❤】
ql repo https://github.com/KingRan/KR.git "jd_|jx_|jdCookie" "activity|backUp" "^jd[^_]|USER|utils|function|sign|sendNotify|ql|JDJR"
2.Faker3【集合库(很多重复任务,自己禁用)❤❤❤❤】
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"
4. 环境保护【推荐❤❤❤❤】
ql repo https://github.com/feverrun/my_scripts.git "jd_|jx_|jddj_|getCookie|getJDCookie" "backUp/activity|backUp/card|backUp/py|backUp/utils/|backUp/test|jd_fruits.js|jd_pet.js|jd_factory.js|jd_health.js|jd_sgmh.js|jd_dreamFactory.js|jd_plantBean.js" "^(jd|JD|JS)[^_]|USER|sendNotify|utils"
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"
8 .【6dylan6/jdpro】
ql repo https://github.com/6dylan6/jdpro.git "jd_|jx_|jddj_" "backUp" "^jd[^_]|USER|JD|function|sendNotify"
9 .【青蛙/smiek2121】
ql repo https://github.com/smiek2121/scripts.git "jd_|gua_" "" "^jd[^_]|USER|utils|sendNotify|ZooFaker|JDJRValidator_|^sign|cleancart_"
10 .【船长】
ql repo https://github.com/HarbourJ/HarbourToulu.git "jd_" "activity|backUp|jd_sign" "^jd[^_]|USER|utils|ZooFaker_Necklace|JDJRValidator_|sign_graphics_validate|jddj_cookie|function|ql|magic|JDJR|JD|sendNotify" "main"
二、一些依赖可供参考
3、配置青龙依赖
配置依赖有2种方式,推荐使用第一种。
3.1 一键脚本配置
直接在宝塔面板终端中输入指令即可。
docker exec -it qinglong bash;
curl -fsSL https://ghproxy.com/https://raw.githubusercontent.com/shufflewzc/QLDependency/main/Shell/QLOneKeyDependency.sh | sh
如果你使用的是国内服务器,并且上述命令超时,可尝试加速版:
curl -fsSL https://api.dujin.org/js/qinglong/qinglong-yilaiku-dujin.org.sh | sh
海外服务器可以使用这个:
curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | sh
3.2 手动添加配置
在青龙面板-依赖管理中手动添加以下依赖,添加时勾选自动拆分。
3.2.1 NodeJs下
NodeJs里面所需依赖 添加依赖--->选择自动拆分,把以下内容全部复制到名称里,之后点击确定
js-base64
dotenv
magic
tough-cookie
[email protected]
require
requests
date-fns
ts-md5
typescript
json5
[email protected]
crypto-js
@types/node
png-js
node-telegram-bot-api
fs
jsdom
form-data
jieba
tslib
ds
jsdom -g
prettytable
ql
common
node-jsencrypt
juejin-helper
moment
global-agent
cheerio
wget
redis
3.2.2 Python3下
Python3依赖 添加依赖--->选择自动拆分,把以下内容全部复制到名称里,之后点击确定
jieba
PyExecJS
ping3
canvas
Crypto
ds
requests
pycryptodome
3.2.3
Linux下-新版青龙可不管这个依赖
Linux依赖 添加依赖--->选择自动拆分,把以下内容全部复制到名称里,之后点击确定
libc-dev
gcc
g++
libffi-dev
python3-dev
-依赖安装失败的,可以点击重新安装,若一直失败,请重启服务后安装。
4、登录青龙面板
浏览器打开 ip:5700,这里的ip是你服务器的公网ip,如:123.123.123:5700
-注意,没开放5700端口是访问不了的喔~
一些定时规则
(1)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务
(2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
(3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作
(4)0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
(5)0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
(6)0 0 12 ? * WED 表示每个星期三中午12点
(7)0 0 12 * * ? 每天中午12点触发
(8)0 15 10 ? * * 每天上午10:15触发
(9)0 15 10 * * ? 每天上午10:15触发
(10)0 15 10 * * ? 每天上午10:15触发
(11)0 15 10 * * ? 2005 2005年的每天上午10:15触发
(12)0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
(13)0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
(14)0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
(15)0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
(16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
(17)0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
(18)0 15 10 15 * ? 每月15日上午10:15触发
(19)0 15 10 L * ? 每月最后一日的上午10:15触发
(20)0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
(21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发
(22)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
1、NodeJs依赖安装失败
日志报错(ERR_PNPM_REGISTRIES_MISMATCH This modules directory was created using the following registries configuration: {"default":"https://registry.npmjs.org/"}. The current configuration is {"default":"https://registry.npmmirror.com/"}. To recreate the modules directory using the new settings, run "pnpm install".)
直接执行命令后,删除失败依赖重装。
pnpm install -g
pnpm install -g pnpm
docker exec -it qinglong bash
五、一键依赖
curl -fsSL https://git.metauniverse-cn.com/https://raw.githubusercontent.com/shufflewzc/QLDependency/main/Shell/QLOneKeyDependency.sh | sh
六、并发或运行某特顺序ck
有且只有前20个号并发运行,
conc JD_COOKIE 1-20
从第2个ck开始运行到第20个ck停止脚本(并发)。
desi JD_COOKIE 2-20
7、青龙面板常见问题
7.1.Error: Cannot find module ‘xx’(缺依赖)
操作是:
docker exec -it qinglong(名称) pnpm install xx(安装依赖)
7.2.Error: Cannot find module ‘./xx’(缺文件)
拉库命令不完整,请检查或复制完整的拉库命令。
7.3 忘记青龙面板账号密码
可以通过 SSH 执行下方命令查看账号及密码。
docker exec -it qinglong cat /ql/config/auth.json
交流
- 新版青龙修改了端口映射以及文件夹映射,所以命令也跟着变了。
拉取镜像/更新镜像
docker pull whyour/qinglong:latest
删除镜像
docker rmi whyour/qinglong:latest
服务器搭建命令
docker run -dit \
-v $PWD/ql:/ql/data \
-p 5700:5600 \
--name qinglong \
--hostname qinglong \
--restart always \
whyour/qinglong:latest
N1等路由器命令
docker run -dit \
-v /mnt/mmcblk2p4/ql:/ql/data \
-p 5700:5600 \
-e ENABLE_HANGUP=true \
-e ENABLE_TG_BOT=true \
-e ENABLE_WEB_PANEL=true \
--name qinglong \
--hostname qinglong \
--restart always \
whyour/qinglong:latest
删除容器
docker rm -f qinglong
更新青龙
docker exec -it qinglong ql update
-
初次登陆
初次访问 http://<自己ip>:5700 使用 admin/adminadmin 登陆,提示已初始化密码 去自己映射目录config下找 auth.json,查看里面的 password docker exec -it qinglong cat /ql/config/auth.json
-
Cookie管理
登陆成功进入Cookie管理页面,右上角新增Cookie(最新版已加Cookie格式验证) 添加成功,可在Cookie列表更新Cookie,删除Cookie
-
基本命令
(容器内执行或者新建定时任务时忽略docker exec -it qinglong)
更新青龙 docker exec -it qinglong ql update
更新青龙并编译 docker exec -it qinglong ql restart
拉取自定义仓库 docker exec -it qinglong ql repo https://ghproxy.com/https://github.com/whyour/hundun.git “quanx” “tokens|caiyun|didi|donate|fold|Env”
拉取单个脚本 docker exec -it qinglong ql raw https://ghproxy.com/https://raw.githubusercontent.com/moposmall/Script/main/Me/jx_cfd.js
删除7天前的所有日志 docker exec -it qinglong ql rmlog 7
启动bot docker exec -it qinglong ql bot
导出互助码 docker exec -it qinglong ql code
通知测试 docker exec -it qinglong notify test test
立即执行脚本 docker exec -it qinglong task test.js now
并行执行脚本 docker exec -it qinglong task test.js conc
嗨,这是一条评论。
要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。
评论者头像来自Gravatar。