基于宝塔+Docker+青龙的米游社自动签到
前段时间搭了一个青龙用来挂脚本,学习到不少,折腾过程供参考。
截止2023.01,随着项目多次更新文章已过时无参考价值
建议有那么一丢丢linux基础便于上手。教程偏小白,懒人也可以直接按步骤抄。
效果如图:
安装Docker及青龙面板
首先准备一个vps,宝塔的安装过程这里就不再赘述。
随后在宝塔面板-软件商店中安装Docker管理器。
然后在宝塔的终端处输入指令安装青龙面板。
docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/scripts:/ql/scripts \
-v $PWD/ql/db:/ql/db \
--net host \
--name qinglong \
--hostname qinglong \
--restart always \
whyour/qinglong:latest
ps:安装完后记得放行5700端口
随后访问"你的服务器IP:5700"即可访问青龙面板。
默认账号和密码应该都是admin,如果不是可以在终端输入docker exec -it qinglong cat /ql/config/auth.json
进入交互模式查看密码。
拉取AutoMihoyoBBS所需的库及依赖
进入青龙面板后,右上角选择新建任务,名称随意,命令填
ql repo https://github.com/Womsxd/AutoMihoyoBBS.git
拉取开源库。拉取成功后主页应该会如图出现许多新增的项目。
接下来点开青龙面板左侧的依赖管理,选择Python3,右上角新建依赖按如图填写,安装脚本所需要的第三方库。
httpx>=0.21.1
requests>=2.26.0
crontab~=0.23.0
获取米游社Cookie
1.打开http://bbs.mihoyo.com/ys/并完成登录
2.打开http://user.mihoyo.com/
3.因使用的浏览器而异打开开发者工具,点击Console/控制台,在下方输入var cookie=document.cookie;var ask=confirm('Cookie:'+cookie+'\n\nDo you want to copy the cookie to the clipboard?');if(ask==true){copy(cookie);msg=cookie}else{msg='Cancel'}
回车执行,在弹出的消息框点击true,此时需要的Cookie就已经到你的剪切板了,留着备用。
配置脚本
创建脚本
根据原作者项目简介可以知道,要先在config文件夹创建config.json.example
在宝塔面板打开终端,输入docker exec -it qinglong bash
管理Docker下的文件,然后输入cd /ql/data/scripts/Womsxd_AutoMihoyoBBS/
,输入ls命令看看目录下有没config文件夹
若没有则mkdir congif
新建一个,如果有则cd config
跳转到目录,再次用ls命令看看文件夹下有没有文件config.json.example。
如果没有,输入vi config.json.example
创建一个,有忽略即可。接着再输vi 自定义名字.json
,这里的名字可以自由填写,如果你有一个账号就创建一个,有两个账号就创建两个,以此类推即可。
编辑脚本
回到http://你的服务器IP:5700/script。复制下面的代码,
{
"enable": true,
"version": 5,
"account": {
"cookie": "",
"login_ticket": "",
"stuid": "",
"stoken": ""
},
"mihoyobbs": {
"enable": true,
"checkin": true,
"checkin_multi": true,
"checkin_multi_list": [2, 5],
"read_posts": true,
"like_posts": true,
"un_like": true,
"share_post": true
},
"games": {
"cn": {
"enable": true,
"hokai2": {
"auto_checkin": false,
"black_list": []
},
"honkai3rd": {
"auto_checkin": false,
"black_list": []
},
"tears_of_themis": {
"auto_checkin": false,
"black_list": []
},
"genshin": {
"auto_checkin": false,
"black_list": []
}
},
"os": {
"enable": false,
"cookie": "",
"genshin": {
"auto_checkin": false,
"black_list": []
}
}
}
}
粘贴到config.json.example和自己新建的json里。如图所示,如果无法编辑,点击右上角的编辑图标即可。
接着选中你自己的配置文件,按图提示编辑按需填写保存即可。详细配置文档可参考原作者Github
注释脚本
只运行一个账号的可以忽略,运行多个账号的按下图编辑注释一下脚本
设置脚本自动运行
返回青龙面板左侧定时任务
如果只有一个账号,新建任务
task Womsxd_AutoMihoyoBBS/main.py
如果有多个账号则新建任务
task Womsxd_AutoMihoyoBBS/main_multi.py
名称随意,定时规则填
1 0 0 * * *
最后运行一下脚本即可,如果没有报错则说明到已经搭建好了。会在每天凌晨00:01自动运行脚本。
常见问题
这里罗列一些我在折腾过程中遇到的问题
Q1:报错,错误代码为httpcore.ConnectTimeout: _ssl.c:980: The handshake operation timed out
A1:解决方法如下图,把默认的等待超时时间设置为30s
Q2:报错httpcore.RemoteProtocolError: Server disconnected without sending a response.
A2:未知...可以试着把retries=后面的数值调大一些?
文章参考:
1.https://www.kejiwanjia.com/jiaocheng/46595.html/comment-page-16
2.https://www.wunote.cn/article/4713/
运行后提示
开始执行... 2023-01-27 13:48:35Traceback (most recent call last):
File "/ql/data/scripts/Womsxd_AutoMihoyoBBS/main.py", line 117, in
File "/ql/data/scripts/Womsxd_AutoMihoyoBBS/main.py", line 21, in main
File "/ql/data/scripts/Womsxd_AutoMihoyoBBS/config.py", line 71, in load_config
FileNotFoundError: [Errno 2] No such file or directory: '/ql/data/scripts/Womsxd_AutoMihoyoBBS/config/config.yaml'
执行结束... 2023-01-27 13:48:36 耗时 1 秒注:陈年老帖已无参考价值,建议去Github找更新的资料