From 2d98fd5d1da811fc7fc17a6e407aea95682cbdf6 Mon Sep 17 00:00:00 2001 From: syrinka Date: Fri, 26 Aug 2022 14:07:48 +0800 Subject: [PATCH 01/23] =?UTF-8?q?=E5=B0=86=20Ray=5FCrontab=20=E4=BD=9C?= =?UTF-8?q?=E4=B8=BA=E9=A2=9D=E5=A4=96=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=20(#262)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add * update docs * seperate Ray_Crontab from task cron * add prompt --- docker/entry.sh | 9 ++++++--- docs/configuration.md | 42 +++++++++++++++++++++++++++++++----------- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/docker/entry.sh b/docker/entry.sh index 186b86c77..2563f99c3 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -10,11 +10,10 @@ echo "=>完成" echo "[step 2/4]配置cron定时任务" echo "BASH_ENV=/etc/cron.env" > /etc/cron.d/bilicron if [ -z "$Ray_DailyTaskConfig__Cron$Ray_LiveLotteryTaskConfig__Cron$Ray_UnfollowBatchedTaskConfig__Cron$Ray_VipBigPointConfig__Cron" ]; then - echo "=>使用默认cron定时任务配置" + echo "=>使用默认的定时任务配置" cat /app/crontab >> /etc/cron.d/bilicron else - echo "=>检测到对应的环境变量,使用其值作为Cron配置" - echo "$Ray_Crontab" >> /etc/cron.d/bilicron + echo "=>使用用户指定的定时任务配置" if ! [ -z "$Ray_DailyTaskConfig__Cron" ]; then echo "$Ray_DailyTaskConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=Daily >> /var/log/cron.log" >> /etc/cron.d/bilicron fi @@ -28,6 +27,10 @@ else echo "$Ray_VipBigPointConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=VipBigPoint >> /var/log/cron.log" >> /etc/cron.d/bilicron fi fi +if [ -z "$Ray_Crontab" ]; then + echo "=>检测到额外定时任务,追加到cron文件末尾" + echo "$Ray_Crontab" >> /etc/cron.d/bilicron +fi echo "=>完成" echo "[step 3/4]启动定时任务,开启每日定时运行" diff --git a/docs/configuration.md b/docs/configuration.md index ae37acb26..b44181e75 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -71,7 +71,9 @@ - [3.7. 日志相关](#37-日志相关) - [3.7.1. Console日志输出等级](#371-console日志输出等级) - [3.7.2. Console日志输出样式](#372-console日志输出样式) - - [3.7.3. crontab相关](#373-crontab相关) + - [3.8. 定时任务相关](#38-定时任务相关) + - [3.8.1. 定时任务](#381-定时任务) + - [3.8.2. Crontab](#382-Crontab) @@ -846,11 +848,35 @@ BiliBiliTool 使用 Serilog 作为日志组件,所以可以参考 Serilog 的 | 环境变量 | `Ray_Serilog__WriteTo__0__Args__outputTemplate` | | GitHub Secrets | `CONSOLELOGTEMPLATE` | - -#### 3.7.3. crontab相关 -适用于 [方式四:docker容器化运行(推荐)](../docker/README.md),用于配置定时任务,效果与 `my_crontab` 文件相同,且优先级高于 `my_crontab`。 + +#### 3.8. 定时任务相关 +适用于 [方式四:docker容器化运行(推荐)](../docker/README.md),用于配置定时任务。 + + +#### 3.8.1 定时任务 +以下环境变量的值应为有效的 [cron 表达式](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm)。 + +当被设置时,对应定时任务将开启。 + +| 环境变量 | 定时任务 | +| ---------- | -------------- | +| `Ray_DailyTaskConfig__Cron` | 每日任务 | +| `Ray_LiveLotteryTaskConfig__Cron` | 天选时刻抽奖 | +| `Ray_UnfollowBatchedTaskConfig__Cron` | 批量取关 | +| `Ray_VipBigPointConfig__Cron` | 大会员大积分 | + + +#### 3.8.2 Crontab +若该环境变量被设置,其值将直接追加在 cron 文件的末尾,可用于设置额外的定时任务。 + +| TITLE | CONTENT | +| ---------- | -------------- | +| 值域 | 一串字符串 | +| 默认值 | 空 | +| 环境变量 | `Ray_Crontab` | + +使用例 -使用例: ```yaml environment: Ray_BiliBiliCookies: somecookies @@ -858,9 +884,3 @@ environment: 0 15 * * * dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=Daily >> /var/log/cron.log 0 22 * * * dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=LiveLottery >> /var/log/cron.log ``` - -| TITLE | CONTENT | -| ---------- | -------------- | -| 值域 | 一串字符串 | -| 默认值 | 空 | -| 环境变量 | `Ray_Crontab` | From 69077eaca92eb9fd1a5cac25d4237e4ff4d15a70 Mon Sep 17 00:00:00 2001 From: layui0320 <58420846@qq.com> Date: Fri, 26 Aug 2022 17:10:37 +0800 Subject: [PATCH 02/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=A7=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E7=A7=AF=E5=88=86=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=20(#264)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tencentScf/serverless.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tencentScf/serverless.yml b/tencentScf/serverless.yml index c3b88c18d..cf376a71d 100644 --- a/tencentScf/serverless.yml +++ b/tencentScf/serverless.yml @@ -38,6 +38,12 @@ inputs: cronExpression: "0 0 0 * * MON *" enable: true argument: UnfollowBatched + - timer: # 大会员积分 + parameters: + name: VipBigPointTask + cronExpression: "0 07 01 * * * *" + enable: true + argument: VipBigPoint environment: variables: # 根据自己的需要修改 Ray_BiliBiliCookies__1: 123 # cookie,必填 From d02190db1d220cac26d61f993b04f0e329c6882e Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 27 Aug 2022 12:49:41 +0800 Subject: [PATCH 03/23] feat: add podman doc --- podman/README.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 podman/README.md diff --git a/podman/README.md b/podman/README.md new file mode 100644 index 000000000..e0e4e3d40 --- /dev/null +++ b/podman/README.md @@ -0,0 +1,66 @@ +# Podman 使用说明 + + +- [1. 前期工作](#1-前期工作) + - [1.1. Podman环境](#11-podman环境) +- [3. 运行容器](#3-运行容器) +- [5. 其他](#5-其他) + + +## 1. 前期工作 + +### 1.1. Podman环境 + +请确认已安装了Podman所需环境([Docker](https://podman.io/) + +Podman可以和Docker共存。 + +安装完成后,请执行`podman -v`检查是否安装成功,请执行`podman info`检查虚拟机环境是否正常。 + +常用命令参考: + +``` +# 查看版本 +podman -v + +# 初始化虚拟机 +podman machine init + +# 启动虚拟机 +podman machine start + +# 查看信息 +podman info +``` + +## 3. 运行容器 + +``` +# 生成并运行容器 +podman run -itd --name="bilibili_tool_pro" \ + -e Ray_BiliBiliCookies__1="cookie" \ + -e Ray_DailyTaskConfig__Cron="0 15 * * *" \ + -e Ray_LiveLotteryTaskConfig__Cron="0 22 * * *" \ + -e Ray_UnfollowBatchedTaskConfig__Cron="0 6 1 * *" \ + -e Ray_VipBigPointConfig__Cron="7 1 * * *" \ + docker.io/zai7lou/bilibili_tool_pro + +# 查看实时日志 +podman logs -f bilibili_tool_pro +``` + +其中,`cookie`需要替换为自己真实的cookie字符串 + +其他指令参考: + +``` +# 查看容器运行状态 +podman ps -a + +# 进入容器 +podman exec -it bilibili_tool_pro bash +``` + +## 5. 其他 + +镜像使用的仍然是docker仓库的镜像。 From 3b835f884aabcfa71d1b9f66c919adadd04d8e63 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 27 Aug 2022 12:53:20 +0800 Subject: [PATCH 04/23] fix: entry.sh error --- docker/entry.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/entry.sh b/docker/entry.sh index 2563f99c3..79b642cc2 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -27,7 +27,7 @@ else echo "$Ray_VipBigPointConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=VipBigPoint >> /var/log/cron.log" >> /etc/cron.d/bilicron fi fi -if [ -z "$Ray_Crontab" ]; then +if ! [ -z "$Ray_Crontab" ]; then echo "=>检测到额外定时任务,追加到cron文件末尾" echo "$Ray_Crontab" >> /etc/cron.d/bilicron fi From 4da0eb4509fbd42d867d2a3ebeac3fa70b889e19 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 27 Aug 2022 12:58:02 +0800 Subject: [PATCH 05/23] chore: update change log --- CHANGELOG.md | 4 ++++ common.props | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40f920e66..cab9d081f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,3 +55,7 @@ - Feature(#240):新增gotify推送 - Feature(#259):大会员状态改为枚举类型,当非会员时自动跳过大积分任务 - Feature:更新、优化docker部署文档 +## 0.2.2 +- 新增`podman`部署教程 +- 合并PR(#264),腾讯云定时任务补充新增的大会员大积分任务 +- 合并PR(#262),更新docker的entry.sh diff --git a/common.props b/common.props index 4a3626e8a..0300fb102 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ Ray - 0.2.1 + 0.2.2 $(NoWarn);CS1591;CS0436 From 36fb461365ff5a8f047cf7f5451949db9cc229b3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 27 Aug 2022 22:42:15 +0800 Subject: [PATCH 06/23] feat: add podman doc --- docker/build/buildImage.cmd | 2 +- docker/entry.sh | 23 +++++++++++------ docker/sample/docker-compose.yml | 42 ++++++++++++++++---------------- podman/build/buildImage.cmd | 8 ++++++ 4 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 podman/build/buildImage.cmd diff --git a/docker/build/buildImage.cmd b/docker/build/buildImage.cmd index f4916cb54..2f9d0676a 100644 --- a/docker/build/buildImage.cmd +++ b/docker/build/buildImage.cmd @@ -3,6 +3,6 @@ REM start to build echo Start to build docker image @echo on -docker build --tag zai7lou/bilibili_tool_pro:0.2.1 --tag zai7lou/bilibili_tool_pro:latest ../.. +docker build --tag zai7lou/bilibili_tool_pro:0.2.2 --tag zai7lou/bilibili_tool_pro:latest ../.. @echo off pause diff --git a/docker/entry.sh b/docker/entry.sh index 79b642cc2..68d651130 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -27,21 +27,30 @@ else echo "$Ray_VipBigPointConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=VipBigPoint >> /var/log/cron.log" >> /etc/cron.d/bilicron fi fi -if ! [ -z "$Ray_Crontab" ]; then - echo "=>检测到额外定时任务,追加到cron文件末尾" - echo "$Ray_Crontab" >> /etc/cron.d/bilicron -fi -echo "=>完成" -echo "[step 3/4]启动定时任务,开启每日定时运行" cat /etc/cron.d/bilicron chmod 0644 /etc/cron.d/bilicron crontab /etc/cron.d/bilicron touch /var/log/cron.log + +if ! [ -z "$Ray_Crontab" ]; then + echo "=>检测到自定义定时任务" + echo "BASH_ENV=/etc/cron.env" > /etc/cron.d/customcron + echo "$Ray_Crontab" >> /etc/cron.d/customcron + + cat /etc/cron.d/customcron + chmod 0644 /etc/cron.d/customcron + crontab /etc/cron.d/customcron + touch /var/log/cron.log +fi + +echo "=>完成" + +echo "[step 3/4]启动定时任务,开启每日定时运行" cron echo "=>完成" -echo "[step 4/4]初始启动容器,尝试测试Cookie" +echo "[step 4/4]初始运行,尝试测试Cookie" dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=Test echo "=>完成" diff --git a/docker/sample/docker-compose.yml b/docker/sample/docker-compose.yml index 5c9cad5f8..81a2414db 100644 --- a/docker/sample/docker-compose.yml +++ b/docker/sample/docker-compose.yml @@ -9,42 +9,42 @@ services: - ./Logs:/app/Logs tty: true environment: - - ASPNETCORE_ENVIRONMENT=Production - - Ray_Security__IsSkipDailyTask=false + - ASPNETCORE_ENVIRONMENT: Production + - Ray_Security__IsSkipDailyTask: false # Cookie字符串(必填): - - Ray_BiliBiliCookies__1= - - Ray_BiliBiliCookies__2= + - Ray_BiliBiliCookies__1: + - Ray_BiliBiliCookies__2: # 定时任务 - - Ray_DailyTaskConfig__Cron=0 15 * * * - - Ray_LiveLotteryTaskConfig__Cron=0 22 * * * - - Ray_UnfollowBatchedTaskConfig__Cron=0 6 1 * * - - Ray_VipBigPointConfig__Cron=7 1 * * * + - Ray_DailyTaskConfig__Cron: 0 15 * * * + - Ray_LiveLotteryTaskConfig__Cron: 0 22 * * * + - Ray_UnfollowBatchedTaskConfig__Cron: 0 6 1 * * + - Ray_VipBigPointConfig__Cron: 7 1 * * * # UA: - - Ray_Security__UserAgent= + - Ray_Security__UserAgent: # 开始运行前随机随眠最大分钟数: - - Ray_Security__RandomSleepMaxMin=2 + - Ray_Security__RandomSleepMaxMin: 2 # 调用接口间的间隔秒数: - - Ray_Security__IntervalSecondsBetweenRequestApi= + - Ray_Security__IntervalSecondsBetweenRequestApi: # 目标投币数量: - - Ray_DailyTaskConfig__NumberOfCoins= + - Ray_DailyTaskConfig__NumberOfCoins: # 天选抽奖指定排除关键字 - - Ray_LiveLotteryTaskConfig__ExcludeAwardNames= + - Ray_LiveLotteryTaskConfig__ExcludeAwardNames: # 天选抽奖指定包含关键字 - - Ray_LiveLotteryTaskConfig__IncludeAwardNames= + - Ray_LiveLotteryTaskConfig__IncludeAwardNames: # 企业微信推送地址: - - Ray_Serilog__WriteTo__4__Args__webHookUrl= + - Ray_Serilog__WriteTo__4__Args__webHookUrl: # 钉钉: - - Ray_Serilog__WriteTo__5__Args__webHookUrl= + - Ray_Serilog__WriteTo__5__Args__webHookUrl: # PushPlus推送: - - Ray_Serilog__WriteTo__9__Args__token= - - Ray_Serilog__WriteTo__9__Args__topic= - - Ray_Serilog__WriteTo__9__Args__channel= - - Ray_Serilog__WriteTo__9__Args__webhook= + - Ray_Serilog__WriteTo__9__Args__token: + - Ray_Serilog__WriteTo__9__Args__topic: + - Ray_Serilog__WriteTo__9__Args__channel: + - Ray_Serilog__WriteTo__9__Args__webhook: # Server酱推送scKey: - - Ray_Serilog__WriteTo__6__Args__turboScKey= + - Ray_Serilog__WriteTo__6__Args__turboScKey: diff --git a/podman/build/buildImage.cmd b/podman/build/buildImage.cmd new file mode 100644 index 000000000..cb1ef3908 --- /dev/null +++ b/podman/build/buildImage.cmd @@ -0,0 +1,8 @@ +@echo off + +REM start to build +echo Start to build image +@echo on +podman build --tag docker.io/zai7lou/bilibili_tool_pro:0.2.2 --tag docker.io/zai7lou/bilibili_tool_pro:latest ../.. +@echo off +pause From ddf2be164458d9cd58c8187e220df2e88c51f346 Mon Sep 17 00:00:00 2001 From: syrinka Date: Sat, 27 Aug 2022 23:58:31 +0800 Subject: [PATCH 07/23] fix (#265) --- docker/entry.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/entry.sh b/docker/entry.sh index 68d651130..33ca84773 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -8,7 +8,8 @@ declare -p | grep -v "no_proxy" > /etc/cron.env echo "=>完成" echo "[step 2/4]配置cron定时任务" -echo "BASH_ENV=/etc/cron.env" > /etc/cron.d/bilicron +echo "SHELL=/bin/bash" > /etc/cron.d/bilicron +echo "BASH_ENV=/etc/cron.env" >> /etc/cron.d/bilicron if [ -z "$Ray_DailyTaskConfig__Cron$Ray_LiveLotteryTaskConfig__Cron$Ray_UnfollowBatchedTaskConfig__Cron$Ray_VipBigPointConfig__Cron" ]; then echo "=>使用默认的定时任务配置" cat /app/crontab >> /etc/cron.d/bilicron @@ -35,7 +36,8 @@ touch /var/log/cron.log if ! [ -z "$Ray_Crontab" ]; then echo "=>检测到自定义定时任务" - echo "BASH_ENV=/etc/cron.env" > /etc/cron.d/customcron + echo "SHELL=/bin/bash" > /etc/cron.d/customcron + echo "BASH_ENV=/etc/cron.env" >> /etc/cron.d/customcron echo "$Ray_Crontab" >> /etc/cron.d/customcron cat /etc/cron.d/customcron From 16f44e988176ae2745cc4ca12250e98faa36b35e Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 28 Aug 2022 21:13:15 +0800 Subject: [PATCH 08/23] feat: update podman docs and rebuild docker image build way --- Dockerfile | 12 +++--- docker/README.md | 22 +++++----- docker/entry.sh | 61 -------------------------- docker/sample/docker-compose.yml | 3 +- docker/scripts/entry.sh | 61 ++++++++++++++++++++++++++ docker/scripts/entry_after.sh | 3 ++ docker/scripts/entry_before.sh | 3 ++ podman/README.md | 74 ++++++++++++++++++++++++++------ podman/build/buildImage.cmd | 2 +- 9 files changed, 150 insertions(+), 91 deletions(-) delete mode 100644 docker/entry.sh create mode 100644 docker/scripts/entry.sh create mode 100644 docker/scripts/entry_after.sh create mode 100644 docker/scripts/entry_before.sh diff --git a/Dockerfile b/Dockerfile index 350b2972d..793987493 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ FROM base AS final WORKDIR /app ENV TIME_ZONE=Asia/Shanghai COPY --from=publish /app/publish . -COPY ./docker/entry.sh ./docker/crontab /app/ +COPY ./docker/scripts/* ./docker/crontab /app/scripts/ RUN ln -fs /usr/share/zoneinfo/$TIME_ZONE /etc/localtime \ && echo $TIME_ZONE > /etc/timezone \ && cp /etc/apt/sources.list /etc/apt/sources.list.bak \ @@ -45,7 +45,9 @@ RUN ln -fs /usr/share/zoneinfo/$TIME_ZONE /etc/localtime \ && apt-get update \ && apt-get install -y cron tzdata tofrodos \ && apt-get clean \ - && fromdos /app/entry.sh \ - && chmod +x /app/entry.sh \ - && fromdos /app/crontab -ENTRYPOINT ["/bin/bash", "-c", "/app/entry.sh"] + && fromdos /app/scripts/entry_before.sh \ + && fromdos /app/scripts/entry.sh \ + && fromdos /app/scripts/entry_after.sh \ + && chmod -R +x /app/scripts/ \ + && fromdos /app/scripts/crontab +ENTRYPOINT ["/bin/bash", "-c", "/app/scripts/entry.sh"] diff --git a/docker/README.md b/docker/README.md index 6c9269452..656eca55d 100644 --- a/docker/README.md +++ b/docker/README.md @@ -56,7 +56,7 @@ wget https://raw.githubusercontent.com/RayWangQvQ/BiliBiliToolPro/main/docker/sa docker compose up -d # 查看启动日志 -docker logs -f bilibili_tool_pro +docker logs -f bili ``` ### 2.2. 修改bili下的docker-compose.yml,填入cookie @@ -83,10 +83,10 @@ docker compose up -d docker compose stop # 查看实时日志 -docker logs -f bilibili_tool_pro +docker logs -f bili # 进入容器 -docker exec -it bilibili_tool_pro /bin/bash +docker exec -it bili /bin/bash # 手动更新容器 docker compose pull && docker compose up -d @@ -98,8 +98,8 @@ docker compose pull && docker compose up -d ``` # 生成并运行容器 -docker run -d --name="bilibili_tool_pro" \ - -v /bilibili_tool/Logs:/app/Logs \ +docker run -d --name="bili" \ + -v /bili/Logs:/app/Logs \ -e Ray_BiliBiliCookies__1="cookie" \ -e Ray_DailyTaskConfig__Cron="0 15 * * *" \ -e Ray_LiveLotteryTaskConfig__Cron="0 22 * * *" \ @@ -108,7 +108,7 @@ docker run -d --name="bilibili_tool_pro" \ zai7lou/bilibili_tool_pro # 查看实时日志 -docker logs -f bilibili_tool_pro +docker logs -f bili ``` 其中,`cookie`需要替换为自己真实的cookie字符串 @@ -117,16 +117,16 @@ docker logs -f bilibili_tool_pro ``` # 启动容器 -docker start bilibili_tool_pro +docker start bili # 停止容器 -docker stop bilibili_tool_pro +docker stop bili # 删除容器 -docker rm bilibili_tool_pro +docker rm bili # 进入容器 -docker exec -it bilibili_tool_pro /bin/bash +docker exec -it bili /bin/bash ``` ### 3.3. 使用Watchtower更新容器 @@ -135,7 +135,7 @@ docker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once --cleanup \ - bilibili_tool_pro + bili ``` ## 4. 自己构建镜像(非必须) diff --git a/docker/entry.sh b/docker/entry.sh deleted file mode 100644 index 33ca84773..000000000 --- a/docker/entry.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -set -e - -# https://stackoverflow.com/questions/27771781/how-can-i-access-docker-set-environment-variables-from-a-cron-job -echo "[step 1/4]导入环境变量" -printenv | grep -v "no_proxy" > /etc/environment -declare -p | grep -v "no_proxy" > /etc/cron.env -echo "=>完成" - -echo "[step 2/4]配置cron定时任务" -echo "SHELL=/bin/bash" > /etc/cron.d/bilicron -echo "BASH_ENV=/etc/cron.env" >> /etc/cron.d/bilicron -if [ -z "$Ray_DailyTaskConfig__Cron$Ray_LiveLotteryTaskConfig__Cron$Ray_UnfollowBatchedTaskConfig__Cron$Ray_VipBigPointConfig__Cron" ]; then - echo "=>使用默认的定时任务配置" - cat /app/crontab >> /etc/cron.d/bilicron -else - echo "=>使用用户指定的定时任务配置" - if ! [ -z "$Ray_DailyTaskConfig__Cron" ]; then - echo "$Ray_DailyTaskConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=Daily >> /var/log/cron.log" >> /etc/cron.d/bilicron - fi - if ! [ -z "$Ray_LiveLotteryTaskConfig__Cron" ]; then - echo "$Ray_LiveLotteryTaskConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=LiveLottery >> /var/log/cron.log" >> /etc/cron.d/bilicron - fi - if ! [ -z "$Ray_UnfollowBatchedTaskConfig__Cron" ]; then - echo "$Ray_UnfollowBatchedTaskConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=UnfollowBatched >> /var/log/cron.log" >> /etc/cron.d/bilicron - fi - if ! [ -z "$Ray_VipBigPointConfig__Cron" ]; then - echo "$Ray_VipBigPointConfig__Cron dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=VipBigPoint >> /var/log/cron.log" >> /etc/cron.d/bilicron - fi -fi - -cat /etc/cron.d/bilicron -chmod 0644 /etc/cron.d/bilicron -crontab /etc/cron.d/bilicron -touch /var/log/cron.log - -if ! [ -z "$Ray_Crontab" ]; then - echo "=>检测到自定义定时任务" - echo "SHELL=/bin/bash" > /etc/cron.d/customcron - echo "BASH_ENV=/etc/cron.env" >> /etc/cron.d/customcron - echo "$Ray_Crontab" >> /etc/cron.d/customcron - - cat /etc/cron.d/customcron - chmod 0644 /etc/cron.d/customcron - crontab /etc/cron.d/customcron - touch /var/log/cron.log -fi - -echo "=>完成" - -echo "[step 3/4]启动定时任务,开启每日定时运行" -cron -echo "=>完成" - -echo "[step 4/4]初始运行,尝试测试Cookie" -dotnet /app/Ray.BiliBiliTool.Console.dll --runTasks=Test -echo "=>完成" - -echo "[step 全部已完成]" - -tail -f /var/log/cron.log # 追踪cron日志 diff --git a/docker/sample/docker-compose.yml b/docker/sample/docker-compose.yml index 81a2414db..01e1f772f 100644 --- a/docker/sample/docker-compose.yml +++ b/docker/sample/docker-compose.yml @@ -3,10 +3,11 @@ version: '3.9' services: bilibili_tool: image: zai7lou/bilibili_tool_pro - container_name: bilibili_tool_pro + container_name: bili # restart: always volumes: - ./Logs:/app/Logs + - ./appsettings.json:/app/appsettings.json tty: true environment: - ASPNETCORE_ENVIRONMENT: Production diff --git a/docker/scripts/entry.sh b/docker/scripts/entry.sh new file mode 100644 index 000000000..dbe534c71 --- /dev/null +++ b/docker/scripts/entry.sh @@ -0,0 +1,61 @@ +#!/bin/bash +set -e + +. /app/scripts/entry_before.sh + +CONSOLE_DLL="Ray.BiliBiliTool.Console.dll" +CRON_FILE="/etc/cron.d/bilicron" + +# https://stackoverflow.com/questions/27771781/how-can-i-access-docker-set-environment-variables-from-a-cron-job +echo "[step 1/4]导入环境变量" +printenv | grep -v "no_proxy" > /etc/environment +declare -p | grep -v "no_proxy" > /etc/cron.env +echo -e "=>完成\n" + +echo "[step 2/4]配置cron定时任务" +echo "SHELL=/bin/bash" > $CRON_FILE +echo "BASH_ENV=/etc/cron.env" >> $CRON_FILE +if [ -z "$Ray_LiveLotteryTaskConfig__Cron$Ray_UnfollowBatchedTaskConfig__Cron$Ray_VipBigPointConfig__Cron" ]; then + echo "=>使用默认的定时任务配置" + cat /app/crontab >> $CRON_FILE +else + echo "=>使用用户指定的定时任务配置" + if ! [ -z "$Ray_DailyTaskConfig__Cron" ]; then + echo "$Ray_DailyTaskConfig__Cron cd /app && dotnet $CONSOLE_DLL --runTasks=Daily" >> $CRON_FILE + fi + if ! [ -z "$Ray_LiveLotteryTaskConfig__Cron" ]; then + echo "$Ray_LiveLotteryTaskConfig__Cron cd /app && dotnet $CONSOLE_DLL --runTasks=LiveLottery" >> $CRON_FILE + fi + if ! [ -z "$Ray_UnfollowBatchedTaskConfig__Cron" ]; then + echo "$Ray_UnfollowBatchedTaskConfig__Cron cd /app && dotnet $CONSOLE_DLL --runTasks=UnfollowBatched" >> $CRON_FILE + fi + if ! [ -z "$Ray_VipBigPointConfig__Cron" ]; then + echo "$Ray_VipBigPointConfig__Cron cd /app && dotnet $CONSOLE_DLL --runTasks=VipBigPoint" >> $CRON_FILE + fi +fi + +if ! [ -z "$Ray_Crontab" ]; then + echo "=>检测到自定义定时任务" + echo "$Ray_Crontab" >> $CRON_FILE +fi + +cat $CRON_FILE +chmod 0644 $CRON_FILE +crontab $CRON_FILE # 指定定时列表文件 + +echo -e "=>完成\n" + +echo "[step 3/4]启动定时任务,开启每日定时运行" +cron +echo -e "=>完成\n" + +echo "[step 4/4]初始运行,尝试测试Cookie" +cd /app && dotnet Ray.BiliBiliTool.Console.dll --runTasks=Test +echo -e "=>完成\n" + +echo -e "[step 全部已完成]\n" + +. /app/scripts/entry_after.sh + +touch /var/log/cron.log #todo:debian似乎并没有记录cron的日志。。。 +tail -f /var/log/cron.log # 追踪cron日志,避免当前脚本终止导致容器终止 \ No newline at end of file diff --git a/docker/scripts/entry_after.sh b/docker/scripts/entry_after.sh new file mode 100644 index 000000000..68c4ee29b --- /dev/null +++ b/docker/scripts/entry_after.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -e +echo -e "entry_after\n" \ No newline at end of file diff --git a/docker/scripts/entry_before.sh b/docker/scripts/entry_before.sh new file mode 100644 index 000000000..90845e723 --- /dev/null +++ b/docker/scripts/entry_before.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -e +echo -e "entry_before\n" \ No newline at end of file diff --git a/podman/README.md b/podman/README.md index e0e4e3d40..b0754097b 100644 --- a/podman/README.md +++ b/podman/README.md @@ -3,18 +3,21 @@ - [1. 前期工作](#1-前期工作) - [1.1. Podman环境](#11-podman环境) -- [3. 运行容器](#3-运行容器) -- [5. 其他](#5-其他) + - [从Docker迁移](#从docker迁移) +- [2. 运行容器](#2-运行容器) + - [2.1. 极简版](#21-极简版) + - [2.2. 综合版](#22-综合版) +- [3. 自己构建镜像(非必须)](#3-自己构建镜像非必须) +- [4. 其他](#4-其他) + ## 1. 前期工作 ### 1.1. Podman环境 请确认已安装了Podman所需环境([Docker](https://podman.io/) -Podman可以和Docker共存。 - 安装完成后,请执行`podman -v`检查是否安装成功,请执行`podman info`检查虚拟机环境是否正常。 常用命令参考: @@ -33,24 +36,59 @@ podman machine start podman info ``` -## 3. 运行容器 +### 从Docker迁移 + +Podman可以和Docker共存,命令也基本可以通用。 + +但挂载逻辑有点区别,podman挂载时,如果宿主机下没有指定的文件夹,podman不会像docker一样去自动创建文件夹,而是会报异常。 + +所以在挂载文件夹时,需要先手动在宿主机上mkdir创建文件夹。 + +## 2. 运行容器 + +以下提供极简版和综合版两个版本,一个简单一个复杂,供参考 + +### 2.1. 极简版 ``` # 生成并运行容器 -podman run -itd --name="bilibili_tool_pro" \ +podman run -itd --name="bili" \ + -e Ray_BiliBiliCookies__1="cookie" \ + docker.io/zai7lou/bilibili_tool_pro + +# 查看实时日志 +podman logs -f bili +``` + +其中,`cookie`需要替换为自己真实的cookie字符串 + +### 2.2. 综合版 + +``` +# 创建文件和文件夹 +mkdir -p /bili && cd /bili +mkdir -p Logs + +# 下载appsettings.json +wget https://raw.githubusercontent.com/RayWangQvQ/BiliBiliToolPro/main/src/Ray.BiliBiliTool.Console/appsettings.json + +# 运行 +podman run -itd --name="bili" \ + -v /bili/Logs:/app/Logs \ + -v /bili/appsettings.json:/app/appsettings.json \ -e Ray_BiliBiliCookies__1="cookie" \ + -e Ray_BiliBiliCookies__2="cookie" \ -e Ray_DailyTaskConfig__Cron="0 15 * * *" \ -e Ray_LiveLotteryTaskConfig__Cron="0 22 * * *" \ -e Ray_UnfollowBatchedTaskConfig__Cron="0 6 1 * *" \ -e Ray_VipBigPointConfig__Cron="7 1 * * *" \ + -e Ray_DailyTaskConfig__NumberOfCoins="5" docker.io/zai7lou/bilibili_tool_pro # 查看实时日志 -podman logs -f bilibili_tool_pro +podman logs -f bili ``` -其中,`cookie`需要替换为自己真实的cookie字符串 - 其他指令参考: ``` @@ -58,9 +96,21 @@ podman logs -f bilibili_tool_pro podman ps -a # 进入容器 -podman exec -it bilibili_tool_pro bash +podman exec -it bili bash ``` -## 5. 其他 +## 3. 自己构建镜像(非必须) + +目前我提供和维护的镜像:`[zai7lou/bilibili_tool_pro](https://hub.docker.com/repository/docker/zai7lou/bilibili_tool_pro)`; + +如果有需要(大部分都不需要),可以使用源码自己构建镜像,如下: + +在有项目的Dockerfile的目录运行 + +`podman build -t TARGET_NAME .` + + `TARGET_NAME`为镜像名称和版本,可以自己起个名字 + +## 4. 其他 -镜像使用的仍然是docker仓库的镜像。 +镜像使用的是docker仓库的镜像。 diff --git a/podman/build/buildImage.cmd b/podman/build/buildImage.cmd index cb1ef3908..087533c3b 100644 --- a/podman/build/buildImage.cmd +++ b/podman/build/buildImage.cmd @@ -3,6 +3,6 @@ REM start to build echo Start to build image @echo on -podman build --tag docker.io/zai7lou/bilibili_tool_pro:0.2.2 --tag docker.io/zai7lou/bilibili_tool_pro:latest ../.. +podman build -t docker.io/zai7lou/bilibili_tool_pro:0.2.2 -t docker.io/zai7lou/bilibili_tool_pro:latest ../.. @echo off pause From 0876e21aa48a4bcd3c4ed70e86cfe1b222535240 Mon Sep 17 00:00:00 2001 From: chenliu1993 Date: Thu, 10 Nov 2022 00:18:56 +0800 Subject: [PATCH 09/23] Init Chart support (#308) --- helm/Chart.yaml | 24 +++++++++++++ helm/README.md | 47 ++++++++++++++++++++++++++ helm/templates/NOTES.txt | 0 helm/templates/_helpers.tpl | 62 ++++++++++++++++++++++++++++++++++ helm/templates/deployment.yaml | 54 +++++++++++++++++++++++++++++ helm/values.yaml | 62 ++++++++++++++++++++++++++++++++++ 6 files changed, 249 insertions(+) create mode 100644 helm/Chart.yaml create mode 100644 helm/README.md create mode 100644 helm/templates/NOTES.txt create mode 100644 helm/templates/_helpers.tpl create mode 100644 helm/templates/deployment.yaml create mode 100644 helm/values.yaml diff --git a/helm/Chart.yaml b/helm/Chart.yaml new file mode 100644 index 000000000..4c2e181b0 --- /dev/null +++ b/helm/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: bilibili-tool +description: A Helm chart for running bilibili tool in Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "0.2.1" diff --git a/helm/README.md b/helm/README.md new file mode 100644 index 000000000..5e48546c8 --- /dev/null +++ b/helm/README.md @@ -0,0 +1,47 @@ +# Chart 使用说明 + + +- [1. 前期工作](#1-前期工作) + - [1.1. 环境准备](#11-环境准备) +- [2. 方式:Chart 安装](#2-方式-Chart安装) + - [2.1. 启动](#21-启动) + + +## 1. 前期工作 + +### 1.1. 环境准备 + +请确认已安装了Kubernetes所需环境([Kubernetes](https://kubernetes/kubernetes.io)) + +请确认已具有了健康运行的Kubernetes集群,或者也可以使用kind([kind](https://kind.sigs.k8s.io/))来本地运行 + +请确认已安装了Helm工具([Helm](https://helm.sh/)) + +## 2. 方式:Chart 安装 + +### 2.1. 启动 + +``` +# 进入目录 +cd helm + +# 修改Chart values文件 + +修改values.yaml,填写env下cookie以及定时触发cron表达式,其他的环境变量设置可以按需设置 + +helm install . + +如果您想先检查一下生成的资源文件以及是否可以部署在集群中 + +helm install . --dry-run > workload.yaml + +kubectl apply -f workload.yaml --dry-run=server + +确认无误后 + +helm install . + +# 查看启动日志 +kubectl logs -f +``` + diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt new file mode 100644 index 000000000..e69de29bb diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl new file mode 100644 index 000000000..05b6d00d6 --- /dev/null +++ b/helm/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "bilibili_tool.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "bilibili_tool.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "bilibili_tool.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "bilibili_tool.labels" -}} +helm.sh/chart: {{ include "bilibili_tool.chart" . }} +{{ include "bilibili_tool.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "bilibili_tool.selectorLabels" -}} +app.kubernetes.io/name: {{ include "bilibili_tool.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "bilibili_tool.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "bilibili_tool.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/helm/templates/deployment.yaml b/helm/templates/deployment.yaml new file mode 100644 index 000000000..10a63b687 --- /dev/null +++ b/helm/templates/deployment.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "bilibili_tool.fullname" . }} + labels: + {{- include "bilibili_tool.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + {{- include "bilibili_tool.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "bilibili_tool.selectorLabels" . | nindent 8 }} + spec: + {{- if .Values.volumes.enabled }} + volumes: + - name: {{ .Values.volumes.name }} + hostPath: + path: {{ .Values.volumes.path }} + {{- end }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + {{- toYaml .Values.env | nindent 12 }} + {{- if .Values.volumes.enabled }} + volumeMounts: + - mountPath: "/bilibili_tool/Logs" + name: {{ .Values.volumes.name }} + {{- end }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/helm/values.yaml b/helm/values.yaml new file mode 100644 index 000000000..903894960 --- /dev/null +++ b/helm/values.yaml @@ -0,0 +1,62 @@ +# Default values for bilibili_tool. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: zai7lou/bilibili_tool_pro + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "0.2.1" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +env: + # cookie - required + - name: Ray_BiliBiliCookies__1 + # past your cookie value + value: "" + # DailyTrigger - required + - name: Ray_DailyTaskConfig__Cron + value: "10 8 * * *" + + # Optional fields + - name: Ray_Security__IntervalSecondsBetweenRequestApi + value: "20" + - name: Ray_Security__RandomSleepMaxMin + value: "20" + #- name: Ray_LiveLotteryTaskConfig__Cron + # value: "" + #- name: Ray_UnfollowBatchedTaskConfig__Cron + # value: "" + #- name: Ray_VipBigPointConfig__Cron + # value: "" + +volumes: + enabled: false + # if `enabled=true`, then path and name is required + path: "/tmp/Logs" + name: "bili-tool-vol" + +podAnnotations: {} + +resources: + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + limits: + cpu: 100m + memory: 180Mi + requests: + cpu: 100m + memory: 180Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} From 906375325e2a0f42b619c9a4bc9240ceb52af267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=90=8C=E5=AD=A6?= <39139933+cluom@users.noreply.github.com> Date: Fri, 11 Nov 2022 00:39:22 +0800 Subject: [PATCH 10/23] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=AD=E7=BA=A7?= =?UTF-8?q?=E5=90=8E=E4=B8=8D=E6=8A=95=E5=B8=81=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20(#309)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 添加六级后不投币的配置 * Update src/Ray.BiliBiliTool.DomainService/Interfaces/IDonateCoinDomainService.cs * Update src/Ray.BiliBiliTool.DomainService/DonateCoinDomainService.cs * Update src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs * Update src/Ray.BiliBiliTool.DomainService/Interfaces/IDonateCoinDomainService.cs Co-authored-by: 在7楼 <31154238+RayWangQvQ@users.noreply.github.com> --- docker/sample/appsettings.json | 1 + docker/sample/docker-compose.yml | 2 ++ gitHubActions/bak/bilibili-daily-task.yml | 1 + gitHubActions/bak/empty-task.yml | 1 + src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs | 9 +++++++-- src/Ray.BiliBiliTool.Config/Options/DailyTaskOptions.cs | 6 ++++++ src/Ray.BiliBiliTool.Console/appsettings.json | 1 + src/Ray.BiliBiliTool.Console/commandLineMappings.json | 2 ++ .../DonateCoinDomainService.cs | 2 ++ 9 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docker/sample/appsettings.json b/docker/sample/appsettings.json index a32cb5712..0916bf387 100644 --- a/docker/sample/appsettings.json +++ b/docker/sample/appsettings.json @@ -11,6 +11,7 @@ "IsWatchVideo": true, //是否观看视频 "IsShareVideo": true, //是否分享视频 "NumberOfCoins": 5, //每日设定的投币数 [0,5] + "SaveCoinsWhenLv6": false, //达到六级后是否开始白嫖 "SelectLike": true, //投币时是否同时点赞[false,true] "SupportUpIds": "", //优先选择支持的up主Id集合,多个以英文逗号分隔,如:"123,456"。配置后会优先从指定的up主下挑选视频进行观看、分享和投币,不配置或配置为-1则表示没有特别支持的up,会从关注和排行耪中随机获取支持视频 "DayOfAutoCharge": -1, //每月几号自动充电[-1,31],-1表示不指定,默认月底最后一天;0表示不充电 diff --git a/docker/sample/docker-compose.yml b/docker/sample/docker-compose.yml index 01e1f772f..59d42b68a 100644 --- a/docker/sample/docker-compose.yml +++ b/docker/sample/docker-compose.yml @@ -32,6 +32,8 @@ services: # 目标投币数量: - Ray_DailyTaskConfig__NumberOfCoins: + # 达到六级后是否开始白嫖: + - Ray_DailyTaskConfig__SaveCoinsWhenLv6: # 天选抽奖指定排除关键字 - Ray_LiveLotteryTaskConfig__ExcludeAwardNames: diff --git a/gitHubActions/bak/bilibili-daily-task.yml b/gitHubActions/bak/bilibili-daily-task.yml index 580dce210..b4284406d 100644 --- a/gitHubActions/bak/bilibili-daily-task.yml +++ b/gitHubActions/bak/bilibili-daily-task.yml @@ -46,6 +46,7 @@ env: Ray_Security__RandomSleepMaxMin: ${{secrets.RANDOMSLEEPMAXMIN}} # 每日任务: Ray_DailyTaskConfig__NumberOfCoins: ${{secrets.NUMBEROFCOINS}} + Ray_DailyTaskConfig__SaveCoinsWhenLv6: ${{secrets.SAVECOINSWHENLV6}} Ray_DailyTaskConfig__SelectLike: ${{secrets.SELECTLIKE}} Ray_DailyTaskConfig__SupportUpIds: ${{secrets.SUPPORTUPIDS}} Ray_DailyTaskConfig__DayOfAutoCharge: ${{secrets.DAYOFAUTOCHARGE}} diff --git a/gitHubActions/bak/empty-task.yml b/gitHubActions/bak/empty-task.yml index c8a6b6d93..5a3cda2a2 100644 --- a/gitHubActions/bak/empty-task.yml +++ b/gitHubActions/bak/empty-task.yml @@ -44,6 +44,7 @@ env: Ray_Security__RandomSleepMaxMin: ${{secrets.RANDOMSLEEPMAXMIN}} # 每日任务: Ray_DailyTaskConfig__NumberOfCoins: ${{secrets.NUMBEROFCOINS}} + Ray_DailyTaskConfig__SaveCoinsWhenLv6: ${{secrets.SAVECOINSWHENLV6}} Ray_DailyTaskConfig__SelectLike: ${{secrets.SELECTLIKE}} Ray_DailyTaskConfig__SupportUpIds: ${{secrets.SUPPORTUPIDS}} Ray_DailyTaskConfig__DayOfAutoCharge: ${{secrets.DAYOFAUTOCHARGE}} diff --git a/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs b/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs index 7fd5aeefa..aa92b62c0 100644 --- a/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs +++ b/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs @@ -63,7 +63,7 @@ public override void DoTask() UserInfo userInfo = Login(); DailyTaskInfo dailyTaskInfo = GetDailyTaskStatus(); WatchAndShareVideo(dailyTaskInfo); - AddCoinsForVideo(); + AddCoinsForVideo(userInfo); //签到: LiveSign(); @@ -122,8 +122,13 @@ private void WatchAndShareVideo(DailyTaskInfo dailyTaskInfo) /// 投币任务 /// [TaskInterceptor("投币", rethrowWhenException: false)] - private void AddCoinsForVideo() + private void AddCoinsForVideo(UserInfo userInfo) { + if (_dailyTaskOptions.SaveCoinsWhenLv6 && userInfo.Level_info.Current_level >= 6) + { + _logger.LogInformation("已经为LV6大佬,开始白嫖"); + return; + } _donateCoinDomainService.AddCoinsForVideos(); } diff --git a/src/Ray.BiliBiliTool.Config/Options/DailyTaskOptions.cs b/src/Ray.BiliBiliTool.Config/Options/DailyTaskOptions.cs index 01933b8f2..da828c8e7 100644 --- a/src/Ray.BiliBiliTool.Config/Options/DailyTaskOptions.cs +++ b/src/Ray.BiliBiliTool.Config/Options/DailyTaskOptions.cs @@ -23,6 +23,12 @@ public class DailyTaskOptions /// public int NumberOfCoins { get; set; } = 5; + /// + /// 达到六级后是否开始白嫖 + /// + public bool SaveCoinsWhenLv6 { get; set; } = false; + + /// /// 投币时是否点赞[false,true] /// diff --git a/src/Ray.BiliBiliTool.Console/appsettings.json b/src/Ray.BiliBiliTool.Console/appsettings.json index 5f93234d9..a9103aac4 100644 --- a/src/Ray.BiliBiliTool.Console/appsettings.json +++ b/src/Ray.BiliBiliTool.Console/appsettings.json @@ -12,6 +12,7 @@ "IsWatchVideo": true, //是否观看视频 "IsShareVideo": true, //是否分享视频 "NumberOfCoins": 5, //每日设定的投币数 [0,5] + "SaveCoinsWhenLv6": false, //达到六级后是否开始白嫖[false,true] "SelectLike": true, //投币时是否同时点赞[false,true] "SupportUpIds": "", //优先选择支持的up主Id集合,多个以英文逗号分隔,如:"123,456"。配置后会优先从指定的up主下挑选视频进行观看、分享和投币,不配置或配置为-1则表示没有特别支持的up,会从关注和排行耪中随机获取支持视频 "DayOfAutoCharge": -1, //每月几号自动充电[-1,31],-1表示不指定,默认月底最后一天;0表示不充电 diff --git a/src/Ray.BiliBiliTool.Console/commandLineMappings.json b/src/Ray.BiliBiliTool.Console/commandLineMappings.json index a090b9a3d..40be99cda 100644 --- a/src/Ray.BiliBiliTool.Console/commandLineMappings.json +++ b/src/Ray.BiliBiliTool.Console/commandLineMappings.json @@ -6,6 +6,7 @@ "--runTasks": "RunTasks", "--numberOfCoins": "DailyTaskConfig:NumberOfCoins", + "--saveCoinsWhenLv6": "DailyTaskConfig:SaveCoinsWhenLv6", "--selectLike": "DailyTaskConfig:SelectLike", "--supportUpIds": "DailyTaskConfig:SupportUpIds", "--dayOfAutoCharge": "DailyTaskConfig:DayOfAutoCharge", @@ -35,6 +36,7 @@ "-runTasks": "RunTasks", "-numberOfCoins": "DailyTaskConfig:NumberOfCoins", + "-saveCoinsWhenLv6": "DailyTaskConfig:SaveCoinsWhenLv6", "-selectLike": "DailyTaskConfig:SelectLike", "-supportUpIds": "DailyTaskConfig:SupportUpIds", "-dayOfAutoCharge": "DailyTaskConfig:DayOfAutoCharge", diff --git a/src/Ray.BiliBiliTool.DomainService/DonateCoinDomainService.cs b/src/Ray.BiliBiliTool.DomainService/DonateCoinDomainService.cs index 619e8850d..5defe7e9c 100644 --- a/src/Ray.BiliBiliTool.DomainService/DonateCoinDomainService.cs +++ b/src/Ray.BiliBiliTool.DomainService/DonateCoinDomainService.cs @@ -194,11 +194,13 @@ private int GetNeedDonateCoinNum() { //获取自定义配置投币数 int configCoins = _dailyTaskOptions.NumberOfCoins; + if (configCoins <= 0) { _logger.LogInformation("已配置为跳过投币任务"); return configCoins; } + //已投的硬币 int alreadyCoins = _coinDomainService.GetDonatedCoins(); From 169f50b5dad53f63abcb4f315ed5a8611806363f Mon Sep 17 00:00:00 2001 From: chenliu1993 Date: Sat, 12 Nov 2022 12:29:29 +0800 Subject: [PATCH 11/23] Prettify the chart (#312) 1. Modify directory structure 2. Update README.md Signed-off-by: chenliu1993 Signed-off-by: chenliu1993 --- helm/README.md | 148 +++++++++++++++--- helm/{ => bilibili-tool}/Chart.yaml | 0 helm/{ => bilibili-tool}/templates/NOTES.txt | 0 .../templates/_helpers.tpl | 0 .../templates/deployment.yaml | 0 helm/{ => bilibili-tool}/values.yaml | 25 ++- 6 files changed, 132 insertions(+), 41 deletions(-) rename helm/{ => bilibili-tool}/Chart.yaml (100%) rename helm/{ => bilibili-tool}/templates/NOTES.txt (100%) rename helm/{ => bilibili-tool}/templates/_helpers.tpl (100%) rename helm/{ => bilibili-tool}/templates/deployment.yaml (100%) rename helm/{ => bilibili-tool}/values.yaml (55%) diff --git a/helm/README.md b/helm/README.md index 5e48546c8..18718c956 100644 --- a/helm/README.md +++ b/helm/README.md @@ -1,47 +1,143 @@ -# Chart 使用说明 - + -- [1. 前期工作](#1-前期工作) - - [1.1. 环境准备](#11-环境准备) -- [2. 方式:Chart 安装](#2-方式-Chart安装) - - [2.1. 启动](#21-启动) +# BiliBili Tool - -## 1. 前期工作 +BiliBiliTool 是一个自动执行任务的工具,当我们忘记做某项任务时,它会像一个贴心小助手,按照我们预先吩咐它的命令,在指定频率、时间范围内帮助我们完成计划的任务。 -### 1.1. 环境准备 +[Overview of BiliBili Tool](https://github.com/RayWangQvQ/BiliBiliToolPro) + +## TL;DR -请确认已安装了Kubernetes所需环境([Kubernetes](https://kubernetes/kubernetes.io)) +### 在集群中通过本地代码直接部署 -请确认已具有了健康运行的Kubernetes集群,或者也可以使用kind([kind](https://kind.sigs.k8s.io/))来本地运行 +```console +$ git clone https://github.com/RayWangQvQ/BiliBiliToolPro.git +$ cd ${local_code_repo}/helm/bilibili-tool +$ vim values.yaml # provides your cookie and cron +$ helm install . +``` + +### 在集群中通过chart部署 + +```console +$ git clone https://github.com/RayWangQvQ/BiliBiliToolPro.git +$ cd ${local_code_repo}/helm/bilibili-tool +$ helm cm-push . +``` +Then on the cluster control plane +```console +$ mkdir /tmp/bilibili-tool && cd /tmp/bilibili-tool +$ helm repo add +$ helm update && helm pull /bilibili-tool +$ tar -zvxf -C . && cd +$ vim values.yaml # provides your cookie and cron +$ helm install . +``` + +## Introduction + +这个chart通过[Helm](https://helm.sh)在[Kubernetes](https://kubernetes.io)集群上拉起一个[BiliBiliToolPro](https://github.com/RayWangQvQ/BiliBiliToolPro)deployment + + +## Prerequisites + +- Kubernetes +- Helm + +或者 -请确认已安装了Helm工具([Helm](https://helm.sh/)) +- Kind +- Helm -## 2. 方式:Chart 安装 +## 安装Chart -### 2.1. 启动 +安装Chart并命名为 `my-release`: +```console +$ helm repo add my-repo +$ helm install my-release my-repo/bilibili-tool(:0.2.1) ``` -# 进入目录 -cd helm -# 修改Chart values文件 +上述命令需要用户在values.yaml里提供cookie等必须信息 +[Parameters](#parameters) 部分列出了所有可供自定义的值 -修改values.yaml,填写env下cookie以及定时触发cron表达式,其他的环境变量设置可以按需设置 +> **Tip**: `helm list` 可以列出当前已经列出的所有的release -helm install . +## 卸载 Chart -如果您想先检查一下生成的资源文件以及是否可以部署在集群中 +卸载 `my-release` deployment: -helm install . --dry-run > workload.yaml +```console +$ helm delete my-release +``` + +上述命令卸载掉所有的release相关资源 + +## Parameters + +| Name | Description | Value | Required | +| ------------------------- | ----------------------------------------------- | ----- | -------- | +| `replicaCount` | Deployment Relicas Count | `1` | true | +| `image.repository` | Global Dockevr registry | `zai7lou/bilibili_tool_pro` | true | +| `image.tag` | Image Tag | `0.2.1` | true | +| `image.pullPolicy` | Image Pull Policy | `IfNotPresent` | true | +| `imagePullSecrets` | Image Pull Secrets | `[]` | false | +| `nameOverride` | Deployment name in the Chart | `""` | false | +| `fullnameOverride` | Release name when set | `""` | false | +| `resources.limits` | The resources limits for the BiliBili Tool containers | `{}` | true | +| `resources.limits.memory` | The limited memory for the BiliBili Tool containers | `180Mi` | true | +| `resources.limits.cpu` | The limited cpu for the BiliBili Tool containers | `100m` | true | +| `resources.requests` | The resources requests for the BiliBili Tool containers | `{}` | true | +| `resources.requests.memory` | The requested memory for the BiliBili Tool containers | `180Mi` | true | +| `resources.requests.cpu` | The requested cpu for the BiliBili Tool containers | `100m` | true | +| `affinity` | Affinity for pod assignment | `{}` | false | +| `nodeSelector` | Node labels for pod assignment | `{}` | false | +| `tolerations` | Tolerations for pod assignment | `[]` | false | +| `env` | Environment variables for the BiliBili Tool container, Ray_BiliBiliCookies__1 and Ray_DailyTaskConfig__Cron are required, others vars pls take a look at [supported envvars](https://github.com/RayWangQvQ/BiliBiliToolPro/blob/main/docs/configuration.md) | `[]` | true | +| `volumes.enabled` | Enable persistent log volume for BiliBili Tool or not | `"false"` | true | +| `volumes.path` | The host path mounted into pod | `"/tmp/Logs"` | false | +| `volumes.name` | The volume name | `"bili-tool-vol"` | false | +| `podAnnotations` | The annotations for the BiliBili Tool pod | `{}` | false | + +可以用指定helm install命令行参数 `--set key=value[,key=value]`, 比如 + +```console +$ helm install my-release \ + --set \ + relicas=1 +``` + +也可以通过指定一个YAML格式的values文件来配置以上参数,比如 + +```console +$ helm install my-release -f values.yaml my_chart_repo/bilibili-tool +``` -kubectl apply -f workload.yaml --dry-run=server +> **Tip**: 你可以使用默认的 [values.yaml](bilibili-tool/values.yaml)进行配置 -确认无误后 -helm install . +当想更新一些变量时,可以通过指定参数或者直接修改YAML的values文件进行更新 -# 查看启动日志 -kubectl logs -f +```console +$ helm upgrade my-release my_chart_repo/bilibili-tool <-f values> or <--set-file ...> ``` +## [Optional]本地Cluster运行 + +通过安装[kind](https://kind.sigs.k8s.io/docs/user/quick-start/)工具在本地运行一个Kubernetes Cluster + +### Prerequisites + +go 1.17+ and Docker installed + +```console +$ go install sigs.k8s.io/kind@v0.17.0 && kind create cluster <--config kind_config_file> +$ cat +$ kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: +- role: control-plane +- role: worker +$ EOF +``` +at least one worker node otherwise you have to provides tolerations in the values.yaml to schedule on master node diff --git a/helm/Chart.yaml b/helm/bilibili-tool/Chart.yaml similarity index 100% rename from helm/Chart.yaml rename to helm/bilibili-tool/Chart.yaml diff --git a/helm/templates/NOTES.txt b/helm/bilibili-tool/templates/NOTES.txt similarity index 100% rename from helm/templates/NOTES.txt rename to helm/bilibili-tool/templates/NOTES.txt diff --git a/helm/templates/_helpers.tpl b/helm/bilibili-tool/templates/_helpers.tpl similarity index 100% rename from helm/templates/_helpers.tpl rename to helm/bilibili-tool/templates/_helpers.tpl diff --git a/helm/templates/deployment.yaml b/helm/bilibili-tool/templates/deployment.yaml similarity index 100% rename from helm/templates/deployment.yaml rename to helm/bilibili-tool/templates/deployment.yaml diff --git a/helm/values.yaml b/helm/bilibili-tool/values.yaml similarity index 55% rename from helm/values.yaml rename to helm/bilibili-tool/values.yaml index 903894960..f061f0c5d 100644 --- a/helm/values.yaml +++ b/helm/bilibili-tool/values.yaml @@ -14,6 +14,7 @@ imagePullSecrets: [] nameOverride: "" fullnameOverride: "" +# For more envs pls take a view at https://github.com/RayWangQvQ/BiliBiliToolPro/blob/main/docs/configuration.md env: # cookie - required - name: Ray_BiliBiliCookies__1 @@ -21,19 +22,16 @@ env: value: "" # DailyTrigger - required - name: Ray_DailyTaskConfig__Cron + # This means BiliBili Toll triggers at every day's 08:10 AM value: "10 8 * * *" - # Optional fields - - name: Ray_Security__IntervalSecondsBetweenRequestApi - value: "20" - - name: Ray_Security__RandomSleepMaxMin - value: "20" - #- name: Ray_LiveLotteryTaskConfig__Cron - # value: "" - #- name: Ray_UnfollowBatchedTaskConfig__Cron - # value: "" - #- name: Ray_VipBigPointConfig__Cron - # value: "" + # Add your custom env vars like + # - name: Ray_Security__IntervalSecondsBetweenRequestApi + # value: "20" + # - name: Ray_Security__RandomSleepMaxMin + # value: "20" + # - name: Ray_LiveLotteryTaskConfig__Cron + # value: "" volumes: enabled: false @@ -44,10 +42,7 @@ volumes: podAnnotations: {} resources: - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # Recommended to set this resources field limits: cpu: 100m memory: 180Mi From 82f5b800b848a549b5aceed922427bbae98ee205 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 18:53:59 +0800 Subject: [PATCH 12/23] feat: update README --- podman/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/podman/README.md b/podman/README.md index b0754097b..6aef954b8 100644 --- a/podman/README.md +++ b/podman/README.md @@ -16,7 +16,7 @@ ### 1.1. Podman环境 -请确认已安装了Podman所需环境([Docker](https://podman.io/) +请确认已安装了Podman所需环境([Podman](https://podman.io/) 安装完成后,请执行`podman -v`检查是否安装成功,请执行`podman info`检查虚拟机环境是否正常。 From 27a352765f21313231b913afff88e5cd1f97412c Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 19:23:07 +0800 Subject: [PATCH 13/23] feat: update dotnet install scripts --- CHANGELOG.md | 4 +- qinglong/DefaultTasks/bili_base.sh | 23 +++++++++++ qinglong/DefaultTasks/bili_dev_task_daily.sh | 14 ++----- .../DefaultTasks/bili_dev_task_liveLottery.sh | 13 ++----- qinglong/DefaultTasks/bili_dev_task_test.sh | 14 ++----- .../bili_dev_task_unfollowBatched.sh | 14 ++----- .../DefaultTasks/bili_dev_task_vipBigPoint.sh | 14 ++----- qinglong/DefaultTasks/bili_task_daily.sh | 14 ++----- .../DefaultTasks/bili_task_liveLottery.sh | 14 ++----- qinglong/DefaultTasks/bili_task_test.sh | 14 ++----- .../DefaultTasks/bili_task_unfollowBatched.sh | 14 ++----- .../DefaultTasks/bili_task_vipBigPoint.sh | 14 ++----- qinglong/ray-dotnet-install.sh | 39 ++----------------- 13 files changed, 60 insertions(+), 145 deletions(-) create mode 100644 qinglong/DefaultTasks/bili_base.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index cab9d081f..feb5ca6cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,4 +58,6 @@ ## 0.2.2 - 新增`podman`部署教程 - 合并PR(#264),腾讯云定时任务补充新增的大会员大积分任务 -- 合并PR(#262),更新docker的entry.sh +- 合并PR(#262),更新docker的entry.sh\ +- 新增Chart部署 +- 新增lv6后开启白嫖模式的配置(多账号时可以实现不足lv6的继续投币,达到lv6的开始白嫖) diff --git a/qinglong/DefaultTasks/bili_base.sh b/qinglong/DefaultTasks/bili_base.sh new file mode 100644 index 000000000..71095f4c9 --- /dev/null +++ b/qinglong/DefaultTasks/bili_base.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# new Env("bili_base") +# cron 0 0 1 1 * bili_base.sh + +dir_shell=$QL_DIR/shell +. $dir_shell/share.sh + +## 安装dotnet +apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn +ln -s ~/.dotnet/dotnet /usr/local/bin +dotnet --version + +bili_repo="raywangqvq_bilibilitoolpro_develop" + +echo "repo目录: $dir_repo" +bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" +echo -e "bili仓库目录: $bili_repo_dir\n" + +echo -e "清理缓存" +cd $bili_repo_dir +find . -type d -name "bin" -exec rm -rf {} \; +find . -type d -name "obj" -exec rm -rf {} \; diff --git a/qinglong/DefaultTasks/bili_dev_task_daily.sh b/qinglong/DefaultTasks/bili_dev_task_daily.sh index 53c53f0da..3ed0612c3 100644 --- a/qinglong/DefaultTasks/bili_dev_task_daily.sh +++ b/qinglong/DefaultTasks/bili_dev_task_daily.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili每日任务[dev先行版]") # cron 0 9 * * * bili_dev_task_daily.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro_develop" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=Daily && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh b/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh index 0dbf48d52..3b2ecc993 100644 --- a/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh +++ b/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh @@ -1,17 +1,10 @@ #!/usr/bin/env bash # new Env("bili天选时刻[dev先行版]") # cron 0 13 * * * bili_dev_task_liveLottery.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh +cd ./src/Ray.BiliBiliTool.Console -bili_repo="raywangqvq_bilibilitoolpro_develop" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir export ENVIRONMENT=Production && \ export Ray_RunTasks=LiveLottery && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_dev_task_test.sh b/qinglong/DefaultTasks/bili_dev_task_test.sh index e79a07b7e..6ffb92bee 100644 --- a/qinglong/DefaultTasks/bili_dev_task_test.sh +++ b/qinglong/DefaultTasks/bili_dev_task_test.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili测试ck[dev先行版]") # cron 0 8 * * * bili_dev_task_test.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro_develop" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=Test && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh b/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh index 8a339da23..c1fb9cbb2 100644 --- a/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh +++ b/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili批量取关主播[dev先行版]") # cron 0 12 1 * * bili_dev_task_unfollowBatched.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro_develop" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=UnfollowBatched && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh b/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh index a5a63e2a1..95ac4ed57 100644 --- a/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh +++ b/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili大会员大积分[dev先行版]") # cron 7 1 * * * bili_dev_task_vipBigPoint.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro_develop" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=VipBigPoint && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_task_daily.sh b/qinglong/DefaultTasks/bili_task_daily.sh index a03aad201..c803a1611 100644 --- a/qinglong/DefaultTasks/bili_task_daily.sh +++ b/qinglong/DefaultTasks/bili_task_daily.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili每日任务") # cron 0 9 * * * bili_task_daily.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=Daily && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_task_liveLottery.sh b/qinglong/DefaultTasks/bili_task_liveLottery.sh index 6793ac3ae..d22f14ede 100644 --- a/qinglong/DefaultTasks/bili_task_liveLottery.sh +++ b/qinglong/DefaultTasks/bili_task_liveLottery.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili天选时刻") # cron 0 13 * * * bili_task_liveLottery.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=LiveLottery && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_task_test.sh b/qinglong/DefaultTasks/bili_task_test.sh index f48c7d41f..ff8b9f390 100644 --- a/qinglong/DefaultTasks/bili_task_test.sh +++ b/qinglong/DefaultTasks/bili_task_test.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili测试ck") # cron 0 8 * * * bili_task_test.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=Test && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_task_unfollowBatched.sh b/qinglong/DefaultTasks/bili_task_unfollowBatched.sh index 73b6c3135..b775fe1b5 100644 --- a/qinglong/DefaultTasks/bili_task_unfollowBatched.sh +++ b/qinglong/DefaultTasks/bili_task_unfollowBatched.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili批量取关主播") # cron 0 12 1 * * bili_task_unfollowBatched.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=UnfollowBatched && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/DefaultTasks/bili_task_vipBigPoint.sh b/qinglong/DefaultTasks/bili_task_vipBigPoint.sh index 1dada710d..e81a30958 100644 --- a/qinglong/DefaultTasks/bili_task_vipBigPoint.sh +++ b/qinglong/DefaultTasks/bili_task_vipBigPoint.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash # new Env("bili大会员大积分") # cron 7 1 * * * bili_task_vipBigPoint.sh +. bili_base.sh -dir_shell=$QL_DIR/shell -. $dir_shell/share.sh - -bili_repo="raywangqvq_bilibilitoolpro" - -echo "repo目录: $dir_repo" -bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" -echo -e "bili仓库目录: $bili_repo_dir\n" - -cd $bili_repo_dir +cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ export Ray_RunTasks=VipBigPoint && \ -dotnet run --project ./src/Ray.BiliBiliTool.Console +dotnet run diff --git a/qinglong/ray-dotnet-install.sh b/qinglong/ray-dotnet-install.sh index a90686ff8..8e2478d5e 100644 --- a/qinglong/ray-dotnet-install.sh +++ b/qinglong/ray-dotnet-install.sh @@ -1,41 +1,10 @@ #!/usr/bin/env bash echo -e "\n-------set up dot net env-------" -DOWNLOAD_X64=https://download.visualstudio.microsoft.com/download/pr/70fb6022-ef53-473b-bfde-dc8cd6b673ca/2c04303064ed5c5158998c3a0d11fcc1/dotnet-sdk-6.0.201-linux-musl-x64.tar.gz -DOWNLOAD_ARM32=https://download.visualstudio.microsoft.com/download/pr/09df51a1-5ef7-4db6-90cd-302ae92b7c84/3d000f08ab919f43f61184a3c48b46a8/dotnet-sdk-6.0.201-linux-musl-arm.tar.gz -DOWNLOAD_ARM64=https://download.visualstudio.microsoft.com/download/pr/0038906f-0d85-41ad-897d-2579359eeb77/78bb1d3b9df9d8017222f0bed5df23ab/dotnet-sdk-6.0.201-linux-musl-arm64.tar.gz - -get_download_url_by_machine_architecture() { - if command -v uname > /dev/null; then - CPUName=$(uname -m) - case $CPUName in - armv*l) - echo $DOWNLOAD_ARM32 - return 0 - ;; - aarch64|arm64) - echo $DOWNLOAD_ARM64 - return 0 - ;; - esac - fi - # Always default to 'x64' - echo $DOWNLOAD_X64 - return 0 -} - -DOWNLOAD_URL="$(get_download_url_by_machine_architecture)" -DOTNET_FILE=dotnet-sdk.tar.gz - +## 安装dotnet apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib - -wget -O $DOTNET_FILE $DOWNLOAD_URL -DOTNET_ROOT=/home/dotnet -mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT" - -export PATH=$PATH:$DOTNET_ROOT -ln -s /home/dotnet/dotnet /usr/local/bin - -dotnet --version +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn --verbose +ln -s ~/.dotnet/dotnet /usr/local/bin +dotnet --info echo -e "\n-------set up dot net env finish-------" \ No newline at end of file From d6d25fcb3133f95cc9ba9fea95d93d8b063d9a0e Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 19:31:02 +0800 Subject: [PATCH 14/23] feat: change bash script name --- qinglong/DefaultTasks/bili_dev_task_base.sh | 23 +++++++++++++++++++ qinglong/DefaultTasks/bili_dev_task_daily.sh | 2 +- .../DefaultTasks/bili_dev_task_liveLottery.sh | 2 +- qinglong/DefaultTasks/bili_dev_task_test.sh | 2 +- .../bili_dev_task_unfollowBatched.sh | 2 +- .../DefaultTasks/bili_dev_task_vipBigPoint.sh | 2 +- .../{bili_base.sh => bili_task_base.sh} | 0 qinglong/DefaultTasks/bili_task_daily.sh | 2 +- .../DefaultTasks/bili_task_liveLottery.sh | 2 +- qinglong/DefaultTasks/bili_task_test.sh | 2 +- .../DefaultTasks/bili_task_unfollowBatched.sh | 2 +- .../DefaultTasks/bili_task_vipBigPoint.sh | 2 +- 12 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 qinglong/DefaultTasks/bili_dev_task_base.sh rename qinglong/DefaultTasks/{bili_base.sh => bili_task_base.sh} (100%) diff --git a/qinglong/DefaultTasks/bili_dev_task_base.sh b/qinglong/DefaultTasks/bili_dev_task_base.sh new file mode 100644 index 000000000..f97f4d495 --- /dev/null +++ b/qinglong/DefaultTasks/bili_dev_task_base.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# new Env("bili_dev_task_base") +# cron 0 0 1 1 * bili_dev_task_base.sh + +dir_shell=$QL_DIR/shell +. $dir_shell/share.sh + +## 安装dotnet +apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn +ln -s ~/.dotnet/dotnet /usr/local/bin +dotnet --version + +bili_repo="raywangqvq_bilibilitoolpro_develop" + +echo "repo目录: $dir_repo" +bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" +echo -e "bili仓库目录: $bili_repo_dir\n" + +echo -e "清理缓存" +cd $bili_repo_dir +find . -type d -name "bin" -exec rm -rf {} \; +find . -type d -name "obj" -exec rm -rf {} \; diff --git a/qinglong/DefaultTasks/bili_dev_task_daily.sh b/qinglong/DefaultTasks/bili_dev_task_daily.sh index 3ed0612c3..574d3d0df 100644 --- a/qinglong/DefaultTasks/bili_dev_task_daily.sh +++ b/qinglong/DefaultTasks/bili_dev_task_daily.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili每日任务[dev先行版]") # cron 0 9 * * * bili_dev_task_daily.sh -. bili_base.sh +. bili_dev_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh b/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh index 3b2ecc993..521b03a48 100644 --- a/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh +++ b/qinglong/DefaultTasks/bili_dev_task_liveLottery.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili天选时刻[dev先行版]") # cron 0 13 * * * bili_dev_task_liveLottery.sh -. bili_base.sh +. bili_dev_task_base.sh cd ./src/Ray.BiliBiliTool.Console diff --git a/qinglong/DefaultTasks/bili_dev_task_test.sh b/qinglong/DefaultTasks/bili_dev_task_test.sh index 6ffb92bee..a175c5bd5 100644 --- a/qinglong/DefaultTasks/bili_dev_task_test.sh +++ b/qinglong/DefaultTasks/bili_dev_task_test.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili测试ck[dev先行版]") # cron 0 8 * * * bili_dev_task_test.sh -. bili_base.sh +. bili_dev_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh b/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh index c1fb9cbb2..71cd7be83 100644 --- a/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh +++ b/qinglong/DefaultTasks/bili_dev_task_unfollowBatched.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili批量取关主播[dev先行版]") # cron 0 12 1 * * bili_dev_task_unfollowBatched.sh -. bili_base.sh +. bili_dev_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh b/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh index 95ac4ed57..3dbcfbb8e 100644 --- a/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh +++ b/qinglong/DefaultTasks/bili_dev_task_vipBigPoint.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili大会员大积分[dev先行版]") # cron 7 1 * * * bili_dev_task_vipBigPoint.sh -. bili_base.sh +. bili_dev_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_base.sh b/qinglong/DefaultTasks/bili_task_base.sh similarity index 100% rename from qinglong/DefaultTasks/bili_base.sh rename to qinglong/DefaultTasks/bili_task_base.sh diff --git a/qinglong/DefaultTasks/bili_task_daily.sh b/qinglong/DefaultTasks/bili_task_daily.sh index c803a1611..55cef2f06 100644 --- a/qinglong/DefaultTasks/bili_task_daily.sh +++ b/qinglong/DefaultTasks/bili_task_daily.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili每日任务") # cron 0 9 * * * bili_task_daily.sh -. bili_base.sh +. bili_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_task_liveLottery.sh b/qinglong/DefaultTasks/bili_task_liveLottery.sh index d22f14ede..b3caa3b0c 100644 --- a/qinglong/DefaultTasks/bili_task_liveLottery.sh +++ b/qinglong/DefaultTasks/bili_task_liveLottery.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili天选时刻") # cron 0 13 * * * bili_task_liveLottery.sh -. bili_base.sh +. bili_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_task_test.sh b/qinglong/DefaultTasks/bili_task_test.sh index ff8b9f390..38e740aaa 100644 --- a/qinglong/DefaultTasks/bili_task_test.sh +++ b/qinglong/DefaultTasks/bili_task_test.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili测试ck") # cron 0 8 * * * bili_task_test.sh -. bili_base.sh +. bili_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_task_unfollowBatched.sh b/qinglong/DefaultTasks/bili_task_unfollowBatched.sh index b775fe1b5..7fa37a101 100644 --- a/qinglong/DefaultTasks/bili_task_unfollowBatched.sh +++ b/qinglong/DefaultTasks/bili_task_unfollowBatched.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili批量取关主播") # cron 0 12 1 * * bili_task_unfollowBatched.sh -. bili_base.sh +. bili_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ diff --git a/qinglong/DefaultTasks/bili_task_vipBigPoint.sh b/qinglong/DefaultTasks/bili_task_vipBigPoint.sh index e81a30958..f6f9792a2 100644 --- a/qinglong/DefaultTasks/bili_task_vipBigPoint.sh +++ b/qinglong/DefaultTasks/bili_task_vipBigPoint.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # new Env("bili大会员大积分") # cron 7 1 * * * bili_task_vipBigPoint.sh -. bili_base.sh +. bili_task_base.sh cd ./src/Ray.BiliBiliTool.Console export ENVIRONMENT=Production && \ From 828c0521fffab1f747c9de0f41b5428aea61a2c1 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 19:40:10 +0800 Subject: [PATCH 15/23] feat:rm soft link of dotnet before creating soft link --- qinglong/DefaultTasks/bili_dev_task_base.sh | 1 + qinglong/DefaultTasks/bili_task_base.sh | 1 + qinglong/ray-dotnet-install.sh | 3 +++ 3 files changed, 5 insertions(+) diff --git a/qinglong/DefaultTasks/bili_dev_task_base.sh b/qinglong/DefaultTasks/bili_dev_task_base.sh index f97f4d495..983502c1c 100644 --- a/qinglong/DefaultTasks/bili_dev_task_base.sh +++ b/qinglong/DefaultTasks/bili_dev_task_base.sh @@ -8,6 +8,7 @@ dir_shell=$QL_DIR/shell ## 安装dotnet apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn +rm -f /usr/local/bin/dotnet ln -s ~/.dotnet/dotnet /usr/local/bin dotnet --version diff --git a/qinglong/DefaultTasks/bili_task_base.sh b/qinglong/DefaultTasks/bili_task_base.sh index 71095f4c9..24ab5480e 100644 --- a/qinglong/DefaultTasks/bili_task_base.sh +++ b/qinglong/DefaultTasks/bili_task_base.sh @@ -8,6 +8,7 @@ dir_shell=$QL_DIR/shell ## 安装dotnet apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn +rm -f /usr/local/bin/dotnet ln -s ~/.dotnet/dotnet /usr/local/bin dotnet --version diff --git a/qinglong/ray-dotnet-install.sh b/qinglong/ray-dotnet-install.sh index 8e2478d5e..5549a7e3f 100644 --- a/qinglong/ray-dotnet-install.sh +++ b/qinglong/ray-dotnet-install.sh @@ -4,7 +4,10 @@ echo -e "\n-------set up dot net env-------" ## 安装dotnet apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0 --no-cdn --verbose + +rm -f /usr/local/bin/dotnet ln -s ~/.dotnet/dotnet /usr/local/bin + dotnet --info echo -e "\n-------set up dot net env finish-------" \ No newline at end of file From 89d825b36fb94638e6e1c69ddd777f3787ea8fde Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:14:58 +0800 Subject: [PATCH 16/23] feat:update clear cmd(find) --- qinglong/DefaultTasks/bili_dev_task_base.sh | 3 +-- qinglong/DefaultTasks/bili_task_base.sh | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/qinglong/DefaultTasks/bili_dev_task_base.sh b/qinglong/DefaultTasks/bili_dev_task_base.sh index 983502c1c..64a1b70f2 100644 --- a/qinglong/DefaultTasks/bili_dev_task_base.sh +++ b/qinglong/DefaultTasks/bili_dev_task_base.sh @@ -20,5 +20,4 @@ echo -e "bili仓库目录: $bili_repo_dir\n" echo -e "清理缓存" cd $bili_repo_dir -find . -type d -name "bin" -exec rm -rf {} \; -find . -type d -name "obj" -exec rm -rf {} \; +find . -type d -name "bin" -o -type d -name "obj" -exec rm -rf {} + \ No newline at end of file diff --git a/qinglong/DefaultTasks/bili_task_base.sh b/qinglong/DefaultTasks/bili_task_base.sh index 24ab5480e..e72df3b6c 100644 --- a/qinglong/DefaultTasks/bili_task_base.sh +++ b/qinglong/DefaultTasks/bili_task_base.sh @@ -20,5 +20,4 @@ echo -e "bili仓库目录: $bili_repo_dir\n" echo -e "清理缓存" cd $bili_repo_dir -find . -type d -name "bin" -exec rm -rf {} \; -find . -type d -name "obj" -exec rm -rf {} \; +find . -type d -name "bin" -o -type d -name "obj" -exec rm -rf {} + \ No newline at end of file From e1902afe78b66c55a41ca57f0b0c5115de299661 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:20:30 +0800 Subject: [PATCH 17/23] feat:update sh fmt --- qinglong/DefaultTasks/bili_dev_task_base.sh | 7 ++++--- qinglong/DefaultTasks/bili_task_base.sh | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/qinglong/DefaultTasks/bili_dev_task_base.sh b/qinglong/DefaultTasks/bili_dev_task_base.sh index 64a1b70f2..b78480d0b 100644 --- a/qinglong/DefaultTasks/bili_dev_task_base.sh +++ b/qinglong/DefaultTasks/bili_dev_task_base.sh @@ -14,10 +14,11 @@ dotnet --version bili_repo="raywangqvq_bilibilitoolpro_develop" -echo "repo目录: $dir_repo" +echo -e "\nrepo目录: $dir_repo" bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" echo -e "bili仓库目录: $bili_repo_dir\n" -echo -e "清理缓存" +echo -e "清理缓存...\n" cd $bili_repo_dir -find . -type d -name "bin" -o -type d -name "obj" -exec rm -rf {} + \ No newline at end of file +find . -type d -name "bin" -exec rm -rf {} + +find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file diff --git a/qinglong/DefaultTasks/bili_task_base.sh b/qinglong/DefaultTasks/bili_task_base.sh index e72df3b6c..93bd6cd84 100644 --- a/qinglong/DefaultTasks/bili_task_base.sh +++ b/qinglong/DefaultTasks/bili_task_base.sh @@ -14,10 +14,11 @@ dotnet --version bili_repo="raywangqvq_bilibilitoolpro_develop" -echo "repo目录: $dir_repo" +echo -e "\nrepo目录: $dir_repo" bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" echo -e "bili仓库目录: $bili_repo_dir\n" -echo -e "清理缓存" +echo -e "清理缓存...\n" cd $bili_repo_dir -find . -type d -name "bin" -o -type d -name "obj" -exec rm -rf {} + \ No newline at end of file +find . -type d -name "bin" -exec rm -rf {} + +find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file From 8e20c1e02bb4215eeb19ec983a5def37f7a46748 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:25:51 +0800 Subject: [PATCH 18/23] feat:unable Nullable --- .../Ray.Serilog.Sinks.GotifyBatched.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.GotifyBatched/Ray.Serilog.Sinks.GotifyBatched.csproj b/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.GotifyBatched/Ray.Serilog.Sinks.GotifyBatched.csproj index 55eb04647..ebfaae80a 100644 --- a/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.GotifyBatched/Ray.Serilog.Sinks.GotifyBatched.csproj +++ b/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.GotifyBatched/Ray.Serilog.Sinks.GotifyBatched.csproj @@ -3,7 +3,7 @@ net6.0 enable - enable + From 37d74539858e8ad453a6680c3604d7680c00ab32 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:33:37 +0800 Subject: [PATCH 19/23] chore:update change log --- CHANGELOG.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index feb5ca6cc..2bc05e509 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,7 +57,9 @@ - Feature:更新、优化docker部署文档 ## 0.2.2 - 新增`podman`部署教程 -- 合并PR(#264),腾讯云定时任务补充新增的大会员大积分任务 -- 合并PR(#262),更新docker的entry.sh\ -- 新增Chart部署 -- 新增lv6后开启白嫖模式的配置(多账号时可以实现不足lv6的继续投币,达到lv6的开始白嫖) +- 合并PR(#264),腾讯云定时任务补充新增的大会员大积分任务,感谢@layui0320 +- 合并PR(#262),更新docker的entry.sh,感谢@syrinka +- 合并PR(#308 #312),新增Chart部署,感谢@chenliu1993 +- 合并PR(#309)新增lv6后开启白嫖模式的配置(多账号时可以实现不足lv6的继续投币,达到lv6的开始白嫖),感谢@cluom +- 优化青龙安装dotnet的脚本,改为使用官方`dotnet-install.sh`脚本安装(之前测试网络不通,后发现--no-cdn可以) +- 优化青龙的执行脚本,提取公共部分,并且在执行前会尝试安装一次dotnet,会清理一次缓存 From f71d51e82ab923282f0b9c5871a50a5ec101720f Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:45:51 +0800 Subject: [PATCH 20/23] chore: update README --- README.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 7630ba1a9..61f224986 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,16 @@ BiliBiliTool - [1. 如何使用](#1-如何使用) - - [1.1. 第一步:获取BiliBili的 Cookie](#11-第一步获取BiliBili的-cookie) + - [1.1. 第一步:获取BiliBili的 Cookie](#11-第一步获取bilibili的-cookie) - [1.2. 第二步:配置 Cookie 并运行 BiliBiliTool](#12-第二步配置-cookie-并运行-bilibilitool) - - [1.2.1. 方式一:Docker容器化运行(推荐)](#121-方式一docker容器化运行推荐) - - [1.2.2. 方式二:青龙运行](#122-方式二青龙运行) - - [1.2.3. 方式三:下载程序包到本地或服务器运行](#123-方式三下载程序包到本地或服务器运行) - - [1.2.4. 方式四:腾讯云函数SCF](#124-方式四腾讯云函数scf) - - ~~[1.2.5. 方式五:GitHub Actions](#125-方式五github-actions)~~ + - [1.2.1. 方式一:Docker容器化运行(推荐)](#121-方式一docker容器化运行推荐) + - [1.2.2. 方式二:Podman容器化运行](#122-方式二podman容器化运行) + - [1.2.3. 方式三:青龙运行](#123-方式三青龙运行) + - [1.2.4. 方式四:下载程序包到本地或服务器运行](#124-方式四下载程序包到本地或服务器运行) + - [1.2.5. 方式五:腾讯云函数SCF](#125-方式五腾讯云函数scf) + - [1.2.6. 方式六:GitHub Actions](#126-方式六github-actions) + - [1.2.7. 方式七:Chart部署](#127-方式七chart部署) + - [1.3. 消息推动(可选)](#13-消息推动可选) - [2. 功能任务说明](#2-功能任务说明) - [3. 个性化自定义配置](#3-个性化自定义配置) - [4. 多账号支持](#4-多账号支持) @@ -99,11 +102,15 @@ BiliBiliTool 实现自动完成任务的原理,是通过调用一系列开放 [>>Docker部署说明](docker/README.md) +#### 1.2.2. 方式二:Podman容器化运行 -#### 1.2.2. 方式二:青龙运行 +[>>Podman部署说明](podman/README.md) + + +#### 1.2.3. 方式三:青龙运行 [>>青龙部署教程](qinglong/README.md) -#### 1.2.3. 方式三:下载程序包到本地或服务器运行 +#### 1.2.4. 方式四:下载程序包到本地或服务器运行 如果是 DotNet 开发者,直接 Clone 源码,然后 VS 打开解决方案,配置 Cookie 后即可直接本地进行运行和调试。 @@ -160,18 +167,25 @@ Ray.BiliBiliTool.Console -#### 1.2.4. 方式四:腾讯云函数SCF +#### 1.2.5. 方式五:腾讯云函数SCF + +当前腾讯云函数已改为收费模式,不推荐。 [>>腾讯云函数部署说明](tencentScf/README.md) -#### 1.2.5. 方式五:GitHub Actions +#### 1.2.6. 方式六:GitHub Actions 暂时删掉该方式避避风头。 **建议所有使用该方式运行的朋友,暂时先替换其他运行方式,避免造成不必要的损失。** +#### 1.2.7. 方式七:Chart部署 + +[>>Chart部署说明](helm/README.md) + +### 1.3. 消息推动(可选) -如果配置了推送,执行成功后接收端会收到推送消息,推送效果如下所示: +如果配置了推送,执行成功后,指定的接收端会收到推送消息,推送效果如下所示: ![微信推送图示](docs/imgs/wechat-push.png) From 1aff80e5d5dd512d7f4b52191f1514b4b86d056b Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:54:09 +0800 Subject: [PATCH 21/23] chore: update README --- README.md | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 61f224986..4e22c92e7 100644 --- a/README.md +++ b/README.md @@ -42,13 +42,12 @@ BiliBiliTool - [1. 如何使用](#1-如何使用) - [1.1. 第一步:获取BiliBili的 Cookie](#11-第一步获取bilibili的-cookie) - [1.2. 第二步:配置 Cookie 并运行 BiliBiliTool](#12-第二步配置-cookie-并运行-bilibilitool) - - [1.2.1. 方式一:Docker容器化运行(推荐)](#121-方式一docker容器化运行推荐) - - [1.2.2. 方式二:Podman容器化运行](#122-方式二podman容器化运行) - - [1.2.3. 方式三:青龙运行](#123-方式三青龙运行) - - [1.2.4. 方式四:下载程序包到本地或服务器运行](#124-方式四下载程序包到本地或服务器运行) - - [1.2.5. 方式五:腾讯云函数SCF](#125-方式五腾讯云函数scf) - - [1.2.6. 方式六:GitHub Actions](#126-方式六github-actions) - - [1.2.7. 方式七:Chart部署](#127-方式七chart部署) + - [1.2.1. 方式一:青龙运行(推荐)](#121-方式一青龙运行推荐) + - [1.2.2. 方式二:Docker或Podman容器化运行](#122-方式二docker或podman容器化运行) + - [1.2.3. 方式三:下载程序包到本地或服务器运行](#123-方式三下载程序包到本地或服务器运行) + - [1.2.4. 方式四:腾讯云函数SCF](#124-方式四腾讯云函数scf) + - [1.2.5. 方式五:GitHub Actions](#125-方式五github-actions) + - [1.2.6. 方式六:Chart部署](#126-方式六chart部署) - [1.3. 消息推动(可选)](#13-消息推动可选) - [2. 功能任务说明](#2-功能任务说明) - [3. 个性化自定义配置](#3-个性化自定义配置) @@ -70,8 +69,7 @@ BiliBiliTool - **本应用仅用于学习和测试,作者本人并不对其负责,请于运行测试完成后自行删除,请勿滥用!** - **所有代码都是开源且透明的,任何人均可查看,程序不会保存或滥用任何用户的个人信息** -- **应用内几乎所有功能都开放为了配置(如任务开关、日期、upId等),请仔细阅读配置文档,自己对自己的配置负责** - +- **应用内几乎所有功能都开放为了配置(如任务开关、日期、id等),详细信息可阅读配置文档,请自己对配置负责** 本地运行图示: @@ -98,19 +96,17 @@ BiliBiliTool 实现自动完成任务的原理,是通过调用一系列开放 ### 1.2. 第二步:配置 Cookie 并运行 BiliBiliTool -#### 1.2.1. 方式一:Docker容器化运行(推荐) - -[>>Docker部署说明](docker/README.md) +#### 1.2.1. 方式一:青龙运行(推荐) -#### 1.2.2. 方式二:Podman容器化运行 +[>>青龙部署教程](qinglong/README.md) -[>>Podman部署说明](podman/README.md) +#### 1.2.2. 方式二:Docker或Podman容器化运行 +[>>Docker部署说明](docker/README.md) -#### 1.2.3. 方式三:青龙运行 +[>>Podman部署说明](podman/README.md) -[>>青龙部署教程](qinglong/README.md) -#### 1.2.4. 方式四:下载程序包到本地或服务器运行 +#### 1.2.3. 方式三:下载程序包到本地或服务器运行 如果是 DotNet 开发者,直接 Clone 源码,然后 VS 打开解决方案,配置 Cookie 后即可直接本地进行运行和调试。 @@ -167,19 +163,20 @@ Ray.BiliBiliTool.Console -#### 1.2.5. 方式五:腾讯云函数SCF +#### 1.2.4. 方式四:腾讯云函数SCF 当前腾讯云函数已改为收费模式,不推荐。 [>>腾讯云函数部署说明](tencentScf/README.md) -#### 1.2.6. 方式六:GitHub Actions +#### 1.2.5. 方式五:GitHub Actions + 暂时删掉该方式避避风头。 **建议所有使用该方式运行的朋友,暂时先替换其他运行方式,避免造成不必要的损失。** -#### 1.2.7. 方式七:Chart部署 +#### 1.2.6. 方式六:Chart部署 [>>Chart部署说明](helm/README.md) From 09f22d1490e7586b46b70bfb63ff57e33f86ce80 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 20:58:42 +0800 Subject: [PATCH 22/23] chore: update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4e22c92e7..3cb5d732f 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ BiliBiliTool - [1.2.2. 方式二:Docker或Podman容器化运行](#122-方式二docker或podman容器化运行) - [1.2.3. 方式三:下载程序包到本地或服务器运行](#123-方式三下载程序包到本地或服务器运行) - [1.2.4. 方式四:腾讯云函数SCF](#124-方式四腾讯云函数scf) - - [1.2.5. 方式五:GitHub Actions](#125-方式五github-actions) + - [1.2.5. 方式五:~~GitHub Actions~~](#125-方式五github-actions) - [1.2.6. 方式六:Chart部署](#126-方式六chart部署) - [1.3. 消息推动(可选)](#13-消息推动可选) - [2. 功能任务说明](#2-功能任务说明) @@ -170,7 +170,7 @@ Ray.BiliBiliTool.Console [>>腾讯云函数部署说明](tencentScf/README.md) -#### 1.2.5. 方式五:GitHub Actions +#### 1.2.5. 方式五:~~GitHub Actions~~ 暂时删掉该方式避避风头。 From d3e00978114b6f1bf019dc074f687f6320f3a6f0 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 14 Nov 2022 21:13:31 +0800 Subject: [PATCH 23/23] feat: add clear task to fix unexpected error --- qinglong/DefaultTasks/bili_dev_task_base.sh | 5 +---- qinglong/DefaultTasks/bili_dev_task_tryFix.sh | 17 +++++++++++++++++ qinglong/DefaultTasks/bili_task_base.sh | 5 +---- qinglong/DefaultTasks/bili_task_tryFix.sh | 17 +++++++++++++++++ 4 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 qinglong/DefaultTasks/bili_dev_task_tryFix.sh create mode 100644 qinglong/DefaultTasks/bili_task_tryFix.sh diff --git a/qinglong/DefaultTasks/bili_dev_task_base.sh b/qinglong/DefaultTasks/bili_dev_task_base.sh index b78480d0b..50be9cabe 100644 --- a/qinglong/DefaultTasks/bili_dev_task_base.sh +++ b/qinglong/DefaultTasks/bili_dev_task_base.sh @@ -18,7 +18,4 @@ echo -e "\nrepo目录: $dir_repo" bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" echo -e "bili仓库目录: $bili_repo_dir\n" -echo -e "清理缓存...\n" -cd $bili_repo_dir -find . -type d -name "bin" -exec rm -rf {} + -find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file +cd $bili_repo_dir \ No newline at end of file diff --git a/qinglong/DefaultTasks/bili_dev_task_tryFix.sh b/qinglong/DefaultTasks/bili_dev_task_tryFix.sh new file mode 100644 index 000000000..3f63c17e7 --- /dev/null +++ b/qinglong/DefaultTasks/bili_dev_task_tryFix.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# new Env("bili尝试修复异常[dev先行版]") +# cron 0 0 1 1 * bili_dev_task_tryFix.sh + +dir_shell=$QL_DIR/shell +. $dir_shell/share.sh + +bili_repo="raywangqvq_bilibilitoolpro_develop" + +echo -e "\nrepo目录: $dir_repo" +bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" +echo -e "bili仓库目录: $bili_repo_dir\n" + +echo -e "清理缓存...\n" +cd $bili_repo_dir +find . -type d -name "bin" -exec rm -rf {} + +find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file diff --git a/qinglong/DefaultTasks/bili_task_base.sh b/qinglong/DefaultTasks/bili_task_base.sh index 93bd6cd84..801573c47 100644 --- a/qinglong/DefaultTasks/bili_task_base.sh +++ b/qinglong/DefaultTasks/bili_task_base.sh @@ -18,7 +18,4 @@ echo -e "\nrepo目录: $dir_repo" bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" echo -e "bili仓库目录: $bili_repo_dir\n" -echo -e "清理缓存...\n" -cd $bili_repo_dir -find . -type d -name "bin" -exec rm -rf {} + -find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file +cd $bili_repo_dir \ No newline at end of file diff --git a/qinglong/DefaultTasks/bili_task_tryFix.sh b/qinglong/DefaultTasks/bili_task_tryFix.sh new file mode 100644 index 000000000..8a1ed4a45 --- /dev/null +++ b/qinglong/DefaultTasks/bili_task_tryFix.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# new Env("bili尝试修复异常") +# cron 0 0 1 1 * bili_task_tryFix.sh + +dir_shell=$QL_DIR/shell +. $dir_shell/share.sh + +bili_repo="raywangqvq_bilibilitoolpro_develop" + +echo -e "\nrepo目录: $dir_repo" +bili_repo_dir="$(find $dir_repo -type d -iname $bili_repo | head -1)" +echo -e "bili仓库目录: $bili_repo_dir\n" + +echo -e "清理缓存...\n" +cd $bili_repo_dir +find . -type d -name "bin" -exec rm -rf {} + +find . -type d -name "obj" -exec rm -rf {} + \ No newline at end of file