使用Docker部署自动签到脚本

1. Docker部署环境

1.1 Docker简介

是什么:Docker是一个用于开发,交付和运行应用程序的开放平台。可以将应用程序与基础架构分开,从而可以快速交付软件。

作用:将一整套环境打包封装成镜像,无需重复配置环境,解决环境带来的种种问题。Docker容器间是进程隔离的,谁也不会影响谁。

1.2 为什么使用Docker进行部署

最初我是使用Github Action部署的自动签到脚本,但后来由于Github Action被很多人滥用,导致官方被官方严查,封禁了很多自动签到脚本,Fork的项目也被删了。由于Docker部署简单易用,又不会污染开发环境,因此我将这些自动签到脚本改为了Docker部署。

注:以下脚本支持很多种部署方式,除了现在已经不可靠的Github Action方式之外,可以自行选择,本文仅介绍使用Docker进行部署。

1.3 Docker环境搭建

VPS系统用的是Debian 10 x86_64,其他系统的命令略有不同,自行查找。

1.3.1 卸载旧版本Docker

旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:

1
2
3
4
$ apt-get install -y sudo
$ sudo apt-get remove docker \
docker-engine \
docker.io

1.3.2 安装HTTPS传输包及CA证书

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们需要添加使用 HTTPS 传输的软件包以及 CA 证书。

Step1:更新apt包索引

1
$ sudo apt-get update

Step2:安装包以允许apt通过HTTPS使用存储库

1
2
3
4
5
6
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common

Step3:添加Docker的官方GPG密钥

1
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Step4:验证您现在拥有带指纹的密钥

1
$ sudo apt-key fingerprint 0EBFCD88

Step5:添加源

1
2
3
4
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"

1.3.3 安装DOCKER CE

1
2
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

1.3.4 启动Docker服务并查看版本

1
2
$ sudo systemctl start docker
$ sudo docker --version

注:如果是apt安装的docker,开机自启脚本已经自动放置在/etc/init.d/目录下了,无需配置。

2. Telegram及微信消息推送

这个是为了设置推送签到结果的,以便于Cookie或脚本失效时及时发现,如果不需要可以省略这一步。

2.1 Telegram Bot订阅推送

  • Step1:在Telegram中添加BotFather这个账号,然后依次发送/start/newbot,按照提示即可创建一个新的机器人。记下来给你生成的token。(可使用/setuserpic命令更换机器人的头像)
  • Step2:搜索刚刚创建的机器人的名字,并给它发送一条消息。(注意:需要先与机器人之间创建会话,机器人才能下发消息,否则机器人无法主动发送消息)
  • Step3:在Telegram中搜索userinfobot,并给它发送一条消息,它会返回给你chatid,将它也记下来。

2.2 微信公众号订阅推送

  • Step1:前往 Server酱 点击登入,创建账号,点击点发送消息,生成一个 Key,把它记下来。

  • Step2:扫码关注“方糖”公众号绑定微信,开启微信推送,。

3. 米游社自动签到

3.1 项目简介

原神是一个游戏本体和签到福利分离的游戏,玩家为了签到还要额外下载米游社App。虽然签到奖励实在不咋地,但蚊子再小也是肉,这 6W+摩拉和紫色经验书的奖励,可以通过部署脚本实现每日自动签到来获取。

  • miHoYo BBS Genshin Impact 每日签到
  • HoYoLAB 社区 Genshin Impact 每日签到
  • 微博超级话题每日签到
  • 支持订阅推送
  • 支持多账号
  • 支持多角色(CN Server)

脚本项目地址:https://github.com/y1ndan/genshinhelper

3.2 项目部署

3.2.1 获取Cookie

Step1:Chrome浏览器打开 米游社官网 并登录账号

Step2:右键“检查”,打开“开发者工具”,点击“Network”并按“Ctrl+R”刷新页面,按下图复制“Cookie”

3.2.2 部署genshinhelper脚本

Step1:拉取genshinhelper的docker镜像

1
$ docker pull yindan/genshinhelper:latest 

Step2:创建实例容器并运行

1
2
3
4
5
6
$ docker run -d --name=genshinhelper \
-e COOKIE_MIHOYOBBS="填写Cookie" \
-e TG_USER_ID="填写Telegram Bot ID" \
-e TG_BOT_TOKEN="填写Telegram Bot TOKEN" \
--restart always \
yindan/genshinhelper:latest

稍微等待一会儿,打开Telegram即可看到签到结果。

米游社自动签到

注:支持的全部环境变量如下,可以根据自己需要进行配置。

米游社自动脚本配置参数

3.3 有用的Docker管理命令

1
2
3
4
5
6
7
8
9
# Logs
$ docker logs -f genshinhelper --tail 100

# Restart
$ docker restart genshinhelper

# Uninstall
$ docker rm -f genshinhelper
$ docker image rm genshinhelper

3.4 注意事项

[1] 默认每天早上6点自动执行签到流程,可以对其进行配置,也可以随时手动触发。

[2] 登录失效时,尝试重新更换Cookie。

[3] 支持多账号,不同Cookie之间用#分开即可。

4. Bilibili自动签到

4.1 项目简介

这是一个实现Bilibili每日任务投币,点赞,分享视频,直播签到,银瓜子兑换硬币,漫画每日签到的脚本,简单配置即可每日获取 65 经验值,轻松成为 Lv6 ,功能详情如下:

  • 通过docker或者云函数执行定时任务。【运行时间可自定义】
  • 哔哩哔哩漫画每日自动签到,自动阅读 1 章节 。
  • 每日自动从热门视频中随机观看 1 个视频,分享一个视频。
  • 每日从热门视频中选取 5 个进行智能投币 【如果投币不能获得经验了,则不会投币】
  • 投币支持下次一定啦,可自定义每日投币数量。【如果检测到你已经投过币了,则不会投币】
  • 大会员月底使用快到期的 B 币券,给自己充电,一点也不会浪费哦,默认开启。【已支持给指定 UP 充电】
  • 大会员月初 1 号自动领取每月 5 张 B 币券和福利。
  • 每日哔哩哔哩直播自动签到,领取签到奖励。【直播你可以不看,但是奖励咱们一定要领】
  • Linux 用户支持自定义配置了。
  • 投币策略更新可配置投币喜好。【可配置优先给关注的 up 投币】
  • 自动送出即将过期的礼物。 【默认开启,未更新到新版本的用户默认关闭】
  • 支持推送执行结果到微信,钉钉,飞书等。

项目地址:https://github.com/JunzhouLiu/BILIBILI-HELPER

Docker版项目地址:https://github.com/SuperNG6/docker-bilibili-helper

4.2 项目部署

4.2.1 获取Cookie有效信息

Step1:Chrome浏览器打开 Bilibili官网 并登录账号

Step2:右键“检查”,打开“开发者工具”,依次点击 Application -> Storage -> Cookies,找到 bili_jctSESSDATADEDEUSERID 三项,复制其值。

4.2.2 部署bilibili-helper脚本

Step1:拉取bilibili-helper的docker镜像

1
$ docker pull superng6/bilibili-helper:latest

Step2:创建实例容器并运行

1
2
3
4
5
6
7
8
9
10
docker run -d \
--name=bilibili-helper \
-e DEDEUSERID="填写Cookie中的DEDEUSERID" \
-e SESSDATA="填写Cookie中的SESSDATA" \
-e BILI_JCT="填写Cookie中的bili_jct" \
-e TELEGRAMBOTTOKEN="填写Telegram Bot TOKEN" \
-e TELEGRAMCHATID="填写Telegram Bot ID" \
-e CUSP=false \
--restart unless-stopped \
superng6/bilibili-helper:latest

稍微等待一会儿,打开Telegram即可看到签到结果。

Bilibili自动签到

注:支持的全部环境变量如下,可以根据自己需要进行配置。

4.3 有用的Docker管理命令

1
2
3
4
5
6
7
8
9
# Logs
$ docker logs -f bilibili-helper --tail 100

# Restart
$ docker restart bilibili-helper

# Uninstall
$ docker rm -f bilibili-helper
$ docker image rm bilibili-helper

5. 参考资料

[1] Debian安装Docker_from 简书

[2] 米游社原神每日签到 | 微博超话签到 | 原神超话监测和领码 from Github

[3] 原神签到小助手 每日福利不用愁 from yindan

[4] Bilibili自动签到投币工具,每天轻松获取65经验值 from Github

[5] Docker BILIBILI-HELPER | BILIBILI助手