用青龙面板实现阿里云盘每日签到
什么是青龙面板 ?
青龙面板
是支持Python3
、JavaScript
、Shell
、Typescript
的定时任务管理平台。
青龙面板从功能上看,和群晖的 计划任务
很像,都可以定时执行一个任务,并发送通知,只是青龙面板更强大一些。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 whyour
,选择第一个 whyour/qinglong
,版本选择 latest
。
本文折腾时,
latest
版本对应为2.15.17
;本文发布时,最新版本已为2.16.2
卷
在 docker
文件夹中,创建一个新文件夹 qinglong
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/qinglong/data |
/ql/data |
存放数据库、脚本、日志等 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
5700 |
5700 |
默认没有暴露端口
需要我们点 +
号自行添加
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 qinglong 和 子目录 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 qinglong 和 子目录 |
运行
第一次运行需要点时间,当你在日志中看到 容器启动成功
时,表明容器已经开始可以接受访问了
在浏览器中输入 http://群晖IP:5700
,第一次运行会有初始化向导
设置用户和密码
设置通知方式,很多已经介绍过,像 Gotify
、PushDeer
、Bark
等
老苏选择了 Server酱
,每天有 5
条免费的微信通知
但这里保存会报错,只能跳过,不知道是不是这个版本的 Bug
但也不是在 系统设置
–> 通知设置
中设置,因为这里设置,只能收到测试通知和设备登录消息,任务执行的通知还是收不到
只有在 配置文件
中设置才能收到任务执行的日志消息
总之设置还是很简单的
设置完成后可以登录了
下面是登录成功后的主界面
阿里云盘签到
直接介绍功能可能不好理解,正好老苏在研究怎么给阿里云盘自动签到,开始是准备用 docker
的,但是需要自己编译,所以干脆还是用 青龙面板
来解决吧
获取 refresh_token
本章节图片来自:https://github.com/mrabit/aliyundriveDailyCheck
- 方法一:自动获取:
网页上登录阿里云盘后,控制台粘贴JSON.parse(localStorage.token).refresh_token
- 方法二:手动获取
网页上登录阿里云盘后,可以在开发者工具 -> Application
-> Local Storage
中的 token
字段中找到。
注意:不是复制整段
JSON
值,而是JSON
里refresh_token
字段的值,如下图所示红色部分:
添加依赖项
进入左侧菜单 –> 依赖管理
–> 新建依赖
- 依赖类型:默认的
nodejs
- 名称:手动添加
axios
安装完成后,状态会有提示
新建应用
从后面的设置上,没看到哪里使用了生成的
Client ID
和Client Secret
,但从qlApi.js
看似乎有用到,官方的说明是用于自动更新环境变量内refreshToken
配置的,所以这一步可能还是需要的
进入左侧菜单 –> 系统设置
-> 应用设置
-> 新建应用
- 名称:中英文都是可以的;
- 权限:选择
环境变量
成功后会看到生成了 Client ID
和 Client Secret
添加环境变量
进入左侧菜单 –> 环境变量
–> 新建变量
- 名称:都是用于标识的,自己知道就行
- 值:填入前面获取到的阿里云盘的
refresh_token
,如果你有多个账号,直接回车换行 ,输入另一个即可
创建成功之后
添加订阅
进入左侧菜单 –> 订阅管理
–> 新建订阅
可以在 名称
中直接粘贴下面的命令行
1 | # 命令/脚本 |
然后再调整几个必填项:
名称
:可以改了容易识别的,比如:阿里云盘签到
;链接
:国内用户,可以挂个代理:将https://github.com/mrabit/aliyundriveDailyCheck.git
改为https://ghproxy.com/github.com/mrabit/aliyundriveDailyCheck.git
;唯一值
:不用管,默认生成的就可以;定时类型
:用默认的crontab
就可以;定时规则
:这是更新订阅上面github
上代码的时间,比如 :0 0 3 * * ?
,表示明天凌晨3
点检查更新
关于
定时规则
,可以看这两篇文
- 青龙面板之定时任务cron表达式的填写规则(https://lcl101.cn/archives/123)
- 青龙面板定时规则解析,Cron 两张语法表达式(http://ttsqq.top/3415.html)
需要手动运行一次,直接点 运行
按钮
执行的日志
进入左侧菜单 –> 定时任务
点 运行
按钮后,查看日志
参考文档
whyour/qinglong: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
地址:https://github.com/whyour/qinglongmrabit/aliyundriveDailyCheck: 阿里云盘每日签到脚本 青龙面板支持
地址:https://github.com/mrabit/aliyundriveDailyCheck青龙面板之定时任务cron表达式的填写规则 - LCL101’s Blog
地址:https://lcl101.cn/archives/123/青龙面板定时规则解析,Cron 两张语法表达式 - 带你薅羊毛
地址:http://ttsqq.top/3415.html