夏夏子的博客 夏夏子的博客
首页
  • 影视
  • 影视工具
  • 工具
  • 其它
电脑技巧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
首页
  • 影视
  • 影视工具
  • 工具
  • 其它
电脑技巧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 影视

  • 影视工具

  • 工具

    • vaultwarden密码管理器
    • dockercopilot容器管理
    • 青龙面板
      • 1、容器创建
      • 2、初始化
      • 3、使用
        • 通知
        • 依赖安装
        • 创建定时任务
        • 随机延迟
        • 自定义通知通知内容包含\n
        • 环境变量
    • qiandao框架
    • navnetic导航页
    • webssh
    • easyimage图床
    • DDNS-GO
    • NPM
    • lucky
    • 微信代理
  • 其它

  • NAS玩法
  • 工具
夏夏子
2025-09-29
目录

青龙面板

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

# 1、容器创建

services:
  qinglong:
    image: 'whyour/qinglong:latest'
    container_name: qinglong
    restart: always
    network_mode: bridge
    ports:
      - "5700:5700"
    volumes:
      - ./data:/ql/data
    environment:
      QlBaseUrl: '/' # 部署路径非必须,以斜杠开头和结尾,比如 /test/
1
2
3
4
5
6
7
8
9
10
11
12

# 2、初始化

1、在本地浏览器输入 ip:端口进行访问,点击开始安装

img

2、设置完管理员账号密码后可以点击提交

img

3、通知设置可以先跳过,到时候去页面设置。

img

4、点击去登录

img

5、输入账户密码点击登录

img

6、登录成功界面

img

# 3、使用

# 通知

1、 系统设置

可以点击系统设置下的通知设置,选择配置消息通知方式。这个一般是推送系统级的消息比如账号活动等,由面板自身主动触发推送。

img

2、 配置文件

点击配置文件菜单,配置config.sh文件里通知方式的参数。可以供 notify.py/sendNotify.js 调用推送单个脚本运行结果。

img

如果通知里不想带上每日一言,可以在notify.py/sendNotify.js 脚本里把HITOKOTO的值改成字符串false,即'false'。

img

# 依赖安装

点击依赖管理页面选择语言类别,比如python3,然后点击右上角的创建依赖按钮,在名称处填写依赖名称如requests来安装脚本所需的依赖。

比如py常用的依赖:beautifulsoup4和requests。

img

如果依赖拉取不下来,可以在设置里填写软件包镜像源或者设置代理。

# Node 软件包镜像源
https://registry.npmmirror.com
# Python 软件包镜像源
https://pypi.tuna.tsinghua.edu.cn/simple
# Linux 软件包镜像源
https://mirrors.aliyun.com/
1
2
3
4
5
6

img

# 创建定时任务

点击定时任务菜单,点击右上角的创建任务。

  • 名称:自定义
  • 脚本:task后接脚本地址,比如:task 1000qm.py,如果脚本不在主目录,比如是在主目录下的login文件夹,则是task login/1000qm.py
  • 定时规则:5/6位cron表达式。比如每天8点:0 8 * * *

img

其他task命令,其中:file_path是脚本地址:

# 依次执行,如果设置了随机延迟,将随机延迟一定秒数
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>
# 使用 -- 分割,-- 后面的参数会传给脚本,下面的例子,脚本就可接收到参数 -u whyour -p password
task <file_path> -- -u whyour -p password
1
2
3
4
5
6
7
8
9
10
11
12

脚本地址除了用本地的脚本文件外,也可以用ql命令来拉取脚本:

# 更新并重启青龙
ql update
# 运行自定义脚本extra.sh
ql extra
# 添加单个脚本文件
ql raw <file_url>
# 添加单个仓库的指定脚本,标准参数结构(简化版):ql repo <仓库地址> <白名单> <黑名单> [其他可选参数]。即:第 2 个参数固定为白名单(包含规则),第 3 个及之后的连续字符串参数会被合并为黑名单(排除规则)。
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions>
# 删除旧日志
ql rmlog <days>
# 启动tg-bot
ql bot
# 检测青龙环境并修复
ql check
# 重置登录错误次数
ql resetlet                                                  
# 禁用两步登录
ql resettfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

参数说明:

  • file_url: 脚本地址
  • repo_url: 仓库地址
  • whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割
  • blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割
  • dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割
  • extensions: 拉取仓库的文件后缀,多个竖线分割
  • branch: 拉取仓库的分支
  • days: 需要保留的日志的天数
  • file_path: 任务执行时的文件路径

# 随机延迟

对于一些签到定时任务一直在一个时间点运行会很容易被发现,因此可以对任务设置个随机的延迟时间。

点击配置文件,找到RandomDelay项,把值(单位秒)改成想延迟的时间即可,比如1h内随机:RandomDelay="3600".

img

# 自定义通知通知内容包含\n

以py文件为例,打开notify.py,找到以下内容进行更改:

# 原始内容
lambda v: v.replace("$title", title.replace("\n", "\\n")).replace(
  "$content", content.replace("\n", "\\n")
),


# 更改后的内容
# 取消 \n 转义
lambda v: v.replace("$title", title).replace( "$content", content),
1
2
3
4
5
6
7
8
9

# 环境变量

青龙可以在环境变量菜单点击右上角的创建变量按钮填写名称和值后创建环境变量。

img

在脚本里可以读取设置的环境变量。

py获取环境变量的几种方法:

import os


# 获取含关键词的环境变量列表
oleEnv = QLAPI.getEnvs({ "searchValue": "TEST" })
print(oleEnv)

# 获取指定环境变量值
oleEnv2 = os.getenv('TEST')
print(oleEnv2)

# 通过 ID 获取环境变量
oleEnv3 = QLAPI.getEnvById({ "id": 5 })
print(oleEnv3)


# 更新现有环境变量
newEnv = oleEnv3["data"]
newEnv['value'] = '55'
print(newEnv)
QLAPI.updateEnv({ "env": newEnv })


print(QLAPI.getEnvs({ "searchValue": "TEST" }))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

nodejs获取环境变量:

// 获取环境列表
QLAPI.getEnvs({ searchValue: 'dddd' }).then((x) => {
  console.log('getEnvs', x);
});
1
2
3
4

全局变量 QLAPI 是内置 API 的入口,官方文档:https://qinglong.online/guide/user-guide/built-in-api。其中其他环境变量相关的方法有:

  • getEnvs: 获取环境变量列表
  • createEnv: 创建新环境变量
  • updateEnv: 更新现有环境变量
  • deleteEnvs: 删除指定环境变量
  • moveEnv: 移动环境变量位置
  • disableEnvs: 禁用指定环境变量
  • enableEnvs: 启用指定环境变量
  • updateEnvNames: 更新指定环境变量的名称
  • getEnvById: 通过 ID 获取环境变量
  • systemNotify: 发送系统通知
上次更新: 2025/12/05, 12:21:10
dockercopilot容器管理
qiandao框架

← dockercopilot容器管理 qiandao框架→

最近更新
01
常见docker部署错误
11-20
02
ssh连接
11-19
03
compose详解
10-18
更多文章>
Theme by Vdoing | Copyright © 2025-2025 夏夏子 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式