原理是,利用青龙的拉库命令,拉取本仓库源码,自动添加cron定时任务,然后在青龙容器中安装 .NET 10 SDK 或 bilitool 的二进制包,定时运行相应的Task。
开始前,请先确保你的青龙面板是运行正常的。
青龙面板,配置文件页。
修改 RepoFileExtensions="js py" 为 RepoFileExtensions="js py sh"
保存配置。
两种方式,任选其一即可:
名称:Bilibili
类型:公开仓库
链接:https://github.com/RayWangQvQ/BiliBiliToolPro.git
定时类型:crontab
定时规则:2 2 28 * *
白名单:bili_task_.+\.sh
文件后缀:sh
没提到的不要动。
保存后,点击运行按钮,运行拉库。
青龙面板,定时任务页,右上角添加任务,填入以下信息:
名称:拉取Bili库
命令:ql repo https://github.com/RayWangQvQ/BiliBiliToolPro.git "bili_task_"
定时规则:2 2 28 * *
点击确定。
保存成功后,找到该定时任务,点击运行按钮,运行拉库。
如果正常,拉库成功后,会自动添加bilibili相关的task任务。
扫码登录Bili后,需要有权限向青龙的环境变量中持久化Cookie,所以需要添加一个鉴权。
青龙官方说明:https://qinglong.online/api/preparation
青龙 -> 系统设置 -> 应用设置,点击新建。
将上面2个值添加到环境变量中即可。
Name分别为:
- Ray_QingLongConfig__ClientId
- Ray_QingLongConfig__ClientSecret
在青龙定时任务中,点击运行bili扫码登录任务,查看运行日志,扫描日志中的二维码进行登录。

登录成功后,如果已配置了上述的Application,会将cookie保存到青龙的环境变量中:
如果未配置Application,会打印出cookie,请手动自己到环境变量中添加。
首次运行会自动安装环境,时间可能长一点,之后就不需要重复安装了。
青龙拉库时可以指定分支,develop分支的代码会超前于默认的main分支,包含当前正在开发的新功能。
想提前体验新功能,或想要Bug能快速得到解决的朋友,可以尝试切换先行版,但同时也意味着稳定性会相应降低(其实可以忽略不计~🤨)。
分支:develop
白名单:bili_dev_task_.+\.sh
其他选项同上。
拉库时,如果服务器在国内,访问GitHub速度慢,可在仓库地址前加上加速代理进行加速。
如:
https://github.moeyy.xyz/https://github.com/RayWangQvQ/BiliBiliToolPro.git
https://gh-proxy.com/https://github.com/RayWangQvQ/BiliBiliToolPro.git
...
加速代理地址通常不能保证长期稳定,请自行查找使用。
dotnet 运行模式需要 .NET 10 SDK。脚本会自动检查版本,并在低于 .NET 10 时安装或升级。
首先,青龙有两个版本的镜像:
- alpine:whyour/qinglong:latest
- debian:whyour/qinglong:debian
Alpine 3.23 可通过包管理器安装 dotnet10-sdk,脚本会自动使用此方式。较旧的 Alpine 镜像没有可用的 .NET 10 包;使用 dotnet 模式时脚本会停止并提示升级镜像或切换运行模式。
若使用较旧 Alpine,或 .NET 安装仍失败,可以切换到基于bilitool的二进制包运行方式,该方式不需要安装dotnet,方式:
编辑青龙面板的配置文件,新增如下两行:
export BILI_MODE="bilitool" # bili运行模式,dotnet或bilitool
export BILI_GITHUB_PROXY="https://github.moeyy.xyz/" # 下载二进制包时使用的加速代理,不要的话则置空
bilitool没有先行版的概念,因为只有main分支才会打包,更新会稍慢一点。
如 #266 ,需要在青龙面板的环境变量添加如下环境变量:
名称:DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
值:1
需要docker exec -it qinglong bash后,查看几个常用路径:
/ql
/data
/repo
/scripts
/shell
/ql/dada/repo目录下存储了拉库后,bilitool的源代码/ql/scripts目录下存储了bilitool的定时运行脚本/ql/shell目录下是青龙的基础脚本
请cd到相应目录,查看该目录下文件是否存在,状态是否正常。
报错:
Asp.Net Core - The configured user limit (128) on the number of inotify instances has been reached
可以尝试添加如下环境变量解决:
DOTNET_USE_POLLING_FILE_WATCHER=1
添加后,对配置变更事件的监听,会从监听 Linux 系统的 inotify 事件,变成定时轮询。




