commit
315eb7d884
4
.gitignore
vendored
4
.gitignore
vendored
@ -136,3 +136,7 @@ dmypy.json
|
|||||||
|
|
||||||
#自己用的推送((
|
#自己用的推送((
|
||||||
push_main.py
|
push_main.py
|
||||||
|
|
||||||
|
# 避免上传配置文件
|
||||||
|
.idea/
|
||||||
|
config/*.json
|
||||||
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FROM python:3.8-slim-buster
|
||||||
|
LABEL maintainer="mailto@wolfbolin.com"
|
||||||
|
|
||||||
|
# Why need these step?
|
||||||
|
# - fast mirror source
|
||||||
|
# - procps contains useful proccess control commands like: free, kill, pkill, ps, top
|
||||||
|
# - wget is quite basic tool
|
||||||
|
# - vim for online debugging
|
||||||
|
# - sync timezone
|
||||||
|
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
|
||||||
|
&& sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
|
||||||
|
&& apt-get update && apt-get install -y --no-install-recommends procps wget vim \
|
||||||
|
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||||
|
|
||||||
|
# Project environment
|
||||||
|
WORKDIR /var/app
|
||||||
|
COPY . /var/app
|
||||||
|
COPY ./Config/openssl.cnf /etc/ssl
|
||||||
|
|
||||||
|
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip \
|
||||||
|
&& pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
|
||||||
|
|
||||||
|
# Docker operation parameters
|
||||||
|
ENV MULTI TRUE
|
||||||
|
|
||||||
|
CMD if [ $MULTI==TRUE ];then python main_multi.py autorun;else python main.py;fi
|
199
README.md
199
README.md
@ -1,75 +1,124 @@
|
|||||||
# 米游社辅助签到
|
# 米游社辅助签到
|
||||||
|
|
||||||
基于Python3的米游社辅助签到项目
|
基于Python3的米游社辅助签到项目
|
||||||
|
|
||||||
本项目米游币部分参考[XiaoMiku01/miyoubiAuto](https://github.com/XiaoMiku01/miyoubiAuto)进行编写
|
本项目米游币部分参考[XiaoMiku01/miyoubiAuto](https://github.com/XiaoMiku01/miyoubiAuto)进行编写
|
||||||
|
|
||||||
* 此项目的用途
|
* 此项目的用途
|
||||||
|
|
||||||
这是一个米游社的辅助签到项目,包含了米游币和原神以及崩坏3
|
这是一个米游社的辅助签到项目,包含了米游币和原神以及崩坏3
|
||||||
|
|
||||||
## 如何使用程序
|
## 如何使用程序
|
||||||
|
|
||||||
* **部署方法**
|
* **部署方法**
|
||||||
|
|
||||||
1. 使用[Git](https://git-scm.com/)或[点击此处](https://github.com/Womsxd/AutoMihoyoBBS/archive/refs/heads/master.zip)下载本项目
|
1. 使用[Git](https://git-scm.com/)或[点击此处](https://github.com/Womsxd/AutoMihoyoBBS/archive/refs/heads/master.zip)下载本项目
|
||||||
|
|
||||||
2. 下载[Python3](https://www.python.org/downloads/)
|
2. 下载[Python3](https://www.python.org/downloads/)
|
||||||
|
|
||||||
3. 解压本项目压缩包,在解压目录中**Shift+右键** 打开你的命令提示符cmd或powershell
|
3. 解压本项目压缩包,在解压目录中**Shift+右键** 打开你的命令提示符cmd或powershell
|
||||||
|
|
||||||
4. [requirements.txt](https://raw.githubusercontent.com/Womsxd/AutoMihoyoBBS/master/requirements.txt) 是所需第三方模块,执行 `pip install -r requirements.txt` 安装模块
|
4. [requirements.txt](https://raw.githubusercontent.com/Womsxd/AutoMihoyoBBS/master/requirements.txt) 是所需第三方模块,执行 `pip install -r requirements.txt` 安装模块
|
||||||
|
|
||||||
5. 打开目录中的**config文件夹**复制`config.json.example`并改名为`config.json`,脚本的多用户功能靠读取不同的配置文件实现,你可以创建无数个`自定义名字.json`,脚本会扫描**config**目录下`json`为拓展名的文件,并按照名称顺序依次执行。
|
5. 打开目录中的**config文件夹**复制`config.json.example`并改名为`config.json`,脚本的多用户功能靠读取不同的配置文件实现,你可以创建无数个`自定义名字.json`,脚本会扫描**config**目录下`json`为拓展名的文件,并按照名称顺序依次执行。
|
||||||
|
|
||||||
6. 请使用vscode/notepad++等文本编辑器打开上一步复制好的配置文件
|
6. 请使用vscode/notepad++等文本编辑器打开上一步复制好的配置文件
|
||||||
|
|
||||||
7. **使用[获取Cookie](#获取米游社Cookie)里面的方法来获取米游社Cookie**
|
7. **使用[获取Cookie](#获取米游社Cookie)里面的方法来获取米游社Cookie**
|
||||||
|
|
||||||
8. 将复制的Cookie粘贴到`config.json`的`"mihoyobbs_Cookies":" "`中
|
8. 将复制的Cookie粘贴到`config.json`的`"mihoyobbs_Cookies":" "`中
|
||||||
|
|
||||||
例子
|
例子
|
||||||
|
|
||||||
> ```json
|
> ```json
|
||||||
> "mihoyobbs_Cookies": "你复制的cookie"
|
> "mihoyobbs_Cookies": "你复制的cookie"
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
9. 在命令提示符(cmd)/powershell,输入`python main.py`来进行执行
|
9. 在命令提示符(cmd)/powershell,输入`python main.py`来进行执行
|
||||||
|
|
||||||
10. 多用户的请使用`python main_multi.py`,多用户在需要自动执行的情况下请使用`python main_multi.py autorun`
|
10. 多用户的请使用`python main_multi.py`,多用户在需要自动执行的情况下请使用`python main_multi.py autorun`
|
||||||
|
|
||||||
## 获取米游社Cookie
|
## 获取米游社Cookie
|
||||||
|
|
||||||
1. 打开你的浏览器,进入**无痕/隐身模式**
|
1. 打开你的浏览器,进入**无痕/隐身模式**
|
||||||
|
|
||||||
2. 由于米哈游修改了bbs可以获取的Cookie,导致一次获取的Cookie缺失,所以需要增加步骤
|
2. 由于米哈游修改了bbs可以获取的Cookie,导致一次获取的Cookie缺失,所以需要增加步骤
|
||||||
|
|
||||||
3. 打开`http://bbs.mihoyo.com/ys/`并进行登入操作
|
3. 打开`http://bbs.mihoyo.com/ys/`并进行登入操作
|
||||||
|
|
||||||
4. 在上一步登入完成后新建标签页,打开`http://user.mihoyo.com/`并进行登入操作
|
4. 在上一步登入完成后新建标签页,打开`http://user.mihoyo.com/`并进行登入操作
|
||||||
|
|
||||||
5. 按下键盘上的`F12`或右键检查,打开开发者工具,点击Console
|
5. 按下键盘上的`F12`或右键检查,打开开发者工具,点击Console
|
||||||
|
|
||||||
6. 输入
|
6. 输入
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
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'}
|
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'}
|
||||||
```
|
```
|
||||||
|
|
||||||
回车执行,并在确认无误后点击确定。
|
回车执行,并在确认无误后点击确定。
|
||||||
|
|
||||||
7. **此时Cookie已经复制到你的粘贴板上了**
|
7. **此时Cookie已经复制到你的粘贴板上了**
|
||||||
|
|
||||||
## 使用的第三方库
|
|
||||||
|
|
||||||
requests: [github](https://github.com/psf/requests) [pypi](https://pypi.org/project/requests/)
|
## 使用Docker运行
|
||||||
|
|
||||||
httpx: [github](https://github.com/encode/httpx) [pypi](https://pypi.org/project/httpx/)
|
Docker的运行脚本基于Linux平台编写,暂未在Win平台测试。
|
||||||
|
|
||||||
## License
|
将本项目Clone至本地后,请先按照上述步骤添加或修改配置文件。随后运行`make-docker.sh`脚本本地构建Docker镜像,同时初次运行容器。
|
||||||
|
|
||||||
[MIT License](https://github.com/Womsxd/AutoMihoyoBBS/blob/master/LICENSE)
|
```shell
|
||||||
|
sh make-docker.sh
|
||||||
## 鸣谢
|
```
|
||||||
|
|
||||||
[JetBrains](https://jb.gg/OpenSource)
|
或手动执行
|
||||||
|
|
||||||
|
```
|
||||||
|
# 编译容器
|
||||||
|
docker build -f Dockerfile --tag ${docker_name}:"${time_now}" .
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
# 运行容器(默认自动多配置文件)
|
||||||
|
docker run -itd \
|
||||||
|
--name ${docker_name} \
|
||||||
|
--log-opt max-size=1m \
|
||||||
|
-v $(pwd):/var/app \
|
||||||
|
${docker_name}:"${time_now}"
|
||||||
|
# 运行容器(直接运行main.py)
|
||||||
|
docker run -itd \
|
||||||
|
--name ${docker_name} \
|
||||||
|
--log-opt max-size=1m \
|
||||||
|
-v $(pwd):/var/app \
|
||||||
|
-e MULTI=FALSE \
|
||||||
|
${docker_name}:"${time_now}"
|
||||||
|
```
|
||||||
|
|
||||||
|
若需要添加配置文件或修改配置文件,可直接在主机config文件夹中修改,修改的内容将实时同步在容器中。
|
||||||
|
|
||||||
|
若需要再次运行签到脚本,可手动重启容器。每次运行Docker容器后,容器内将自动按照参数执行签到活动,签到完成后容器将自动停止运行。
|
||||||
|
|
||||||
|
```
|
||||||
|
docker restart ${docker_name} && docker logs -f ${docker_name}
|
||||||
|
```
|
||||||
|
|
||||||
|
关于每日定时,用户可在容器外部设计定时触发(启动)程序,每日定时运行脚本。
|
||||||
|
|
||||||
|
(若有需要可自行编写相关脚本通知完成状态
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 使用的第三方库
|
||||||
|
|
||||||
|
requests: [github](https://github.com/psf/requests) [pypi](https://pypi.org/project/requests/)
|
||||||
|
|
||||||
|
httpx: [github](https://github.com/encode/httpx) [pypi](https://pypi.org/project/httpx/)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[MIT License](https://github.com/Womsxd/AutoMihoyoBBS/blob/master/LICENSE)
|
||||||
|
|
||||||
|
## 鸣谢
|
||||||
|
|
||||||
|
[JetBrains](https://jb.gg/OpenSource)
|
||||||
|
18
make-docker.sh
Normal file
18
make-docker.sh
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
docker_name="mihoyo-bbs"
|
||||||
|
docker stop ${docker_name}
|
||||||
|
docker rm ${docker_name}
|
||||||
|
echo -e "\033[5;36mOrz 旧容器(镜像)已清理\033[0m"
|
||||||
|
|
||||||
|
time_now=$(date "+%m%d%H")
|
||||||
|
docker build -f Dockerfile --tag ${docker_name}:"${time_now}" .
|
||||||
|
echo -e "\033[5;36mOrz 镜像重建完成\033[0m"
|
||||||
|
|
||||||
|
docker run -itd \
|
||||||
|
--name ${docker_name} \
|
||||||
|
--log-opt max-size=1m \
|
||||||
|
-v $(pwd):/var/app \
|
||||||
|
${docker_name}:"${time_now}"
|
||||||
|
echo -e "\033[5;36mOrz 镜像启动完成\033[0m"
|
||||||
|
docker ps -a
|
||||||
|
docker logs ${docker_name} -f
|
Loading…
Reference in New Issue
Block a user