由于住校原因,没法经常登录B站,但作为资深白嫖党又不愿错过,所以搭建脚本实现自动签到
本篇文章参考记录自官方文档 https://github.com/RayWangQvQ/BiliBiliToolPro/blob/main/docker/README.md
1. 前期工作
1.1. Docker环境
请确认已安装了Docker所需环境(Docker和Docker Compose)
Linux一键安装命令:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
Window系统推荐使用Docker Desktop,官方下载安装包安装。
安装完成后,请执行docker --version
检查Docker
是否安装成功,请执行docker compose version
检查Docker Compose
是否安装成功。
1.2. 须知
-
Docker有两种部署方式:使用
Docker Compose
或使用docker指令,选择其中一种即可 -
以下章节,凡设计到下载GitHub文件的,如
wget https://raw.githubusercontent.com...
,需要有良好的互联网环境,如果是“局域网”,可以在地址前添加https://ghproxy.com/
,比如更改为wget https://ghproxy.com/https://raw.githubusercontent.com...
-
每次容器启动会去跑一遍 Test 任务,用于测试 Cookie ,其他任务由设定的Cron来指定定时触发。
-
想手动运行某任务的话,查看功能任务参数 请进入容器后输入命令来启动执行。
2. 方式一:Docker Compose(推荐)
2.1. 启动
# 创建目录
mkdir bili
cd bili
docker pull zai7lou/bilibili_tool_pro
# 下载
wget https://raw.githubusercontent.com/RayWangQvQ/BiliBiliToolPro/main/src/Ray.BiliBiliTool.Console/appsettings.json
wget https://raw.githubusercontent.com/RayWangQvQ/BiliBiliToolPro/main/docker/sample/cookies.json
wget https://raw.githubusercontent.com/RayWangQvQ/BiliBiliToolPro/main/docker/sample/docker-compose.yml
# 启动
docker compose up -d
# 查看启动日志
docker logs -f bili
最终文件结构如下:
bili
├── appsettings.json
├── cookies.json
└── docker-compose.yml
2.2. 其他命令参考
# 启动 docker-compose
docker compose up -d
# 停止 docker-compose
docker compose stop
# 查看实时日志
docker logs -f bili
# 进入容器
docker exec -it bili /bin/bash
# 手动更新容器
docker compose pull && docker compose up -d
3. 方式二:Docker指令
3.1. Docker启动
# 生成并运行容器
docker pull zai7lou/bilibili_tool_pro
docker run -d --name="bili" \
-v /bili/Logs:/app/Logs \
-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 * * *" \
zai7lou/bilibili_tool_pro
# 查看实时日志
docker logs -f bili
其中,cookie
需要替换为自己真实的cookie字符串
3.2. 其他指令参考
# 启动容器
docker start bili
# 停止容器
docker stop bili
# 重启容器
docker restart bili
# 删除容器
docker rm bili
# 进入容器
docker exec -it bili /bin/bash
3.3. 使用Watchtower更新容器
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once --cleanup \
bili
4. 登录
在宿主机运行docker exec -it bili bash -c "dotnet Ray.BiliBiliTool.Console.dll --runTasks=Login"
扫码进行登录。
5. 自己构建镜像(非必须)
目前官方提供和维护的镜像:https://hub.docker.com/repository/docker/zai7lou/bilibili_tool_pro;
如果有需要(大部分都不需要),可以使用源码自己构建镜像,如下:
在有项目的Dockerfile的目录运行
docker build -t TARGET_NAME .
TARGET_NAME
为镜像名称和版本,可以自己起个名字
6. 其他
代码编译和发布环境: mcr.microsoft.com/dotnet/sdk:6.0
代码运行环境: mcr.microsoft.com/dotnet/runtime:6.0
apt-get 包源用的国内网易的。