Skip to content

0-0-a/MihoyoBBSTools

 
 

Repository files navigation

米游社辅助签到

基于 Python3 的米游社辅助签到项目

禁止大范围宣传本项目,谢谢配合

也请不要滥用本项目

本项目米游币部分参考XiaoMiku01/miyoubiAuto进行编写

  • 此项目的用途

    这是一个米游社的辅助签到项目,包含了米游币、崩坏学院2、崩坏3、原神、未定事件簿、崩坏:星穹铁道 已经支持米哈游国内在运营的全部游戏的米游社签到,以及米游币自动获取

如何使用程序

  • 部署方法

    1. 使用Git点击此处下载本项目

    2. 下载Python3

    3. 解压本项目压缩包,在解压目录中Shift+右键 打开你的命令提示符 cmd 或 powershell

    4. requirements.txt 是所需第三方模块,执行 pip install -r requirements.txt 安装模块

    5. 打开目录中的config 文件夹复制config.yaml.example并改名为config.yaml,脚本的多用户功能靠读取不同的配置文件实现,你可以创建无数个自定义名字.yaml,脚本会扫描config目录下yaml为拓展名的文件,并按照名称顺序依次执行。

    6. 请使用 vscode/notepad++等文本编辑器打开上一步复制好的配置文件

    7. 使用获取 Cookie里面的方法来获取米游社 Cookie

    8. 将复制的 Cookie 粘贴到config.yamlcookie:" "中(在account里面)

      例子

      cookie: 你复制的cookie
    9. 检查config.yamlenable:的值为 true

    10. 在命令提示符(cmd)/powershell,输入python main.py来进行执行

    11. 多用户的请使用python main_multi.py,多用户在需要自动执行的情况下请使用python main_multi.py autorun

获取米游社 Cookie

  1. 打开你的浏览器,进入无痕/隐身模式

  2. 由于米哈游修改了 bbs 可以获取的 Cookie,导致一次获取的 Cookie 缺失,所以需要增加步骤

  3. 打开https://www.miyoushe.com/ys/并进行登入操作

  4. 按下键盘上的F12或右键检查,打开开发者工具,点击Source源代码

  5. 键盘按下Ctrl+F8或点击停用断点按钮,点击 ▌▶解除暂停

  6. 点击NetWork网络,在Filter筛选器里粘贴 getUserGameUnreadCount,同时选择Fetch/XHR

  7. 点击一条捕获到的结果,往下拉,找到Cookie:

  8. cookie_token_v2开始复制到结尾

    示例:
    cookie_token_v2=xxx; account_mid_v2=xxx; ltoken_v2=xxx; ltmid_v2=xxx;
    
  9. 将此处的复制到的 Cookie 先粘贴到 config 文件的 Cookie 处,如果末尾没有;空格请手动补上

  10. 打开http://user.mihoyo.com/并进行登入操作

  11. 按下键盘上的F12或右键检查,打开开发者工具,点击 Console

  12. 输入

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'}

回车执行,并在确认无误后点击确定。

  1. 将本次获取到的 Cookie 粘贴到之前获取到的 Cookie 后面

  2. 此时 Cookie 已经获取完毕了

海外版获取Cookie

  1. 打开你的浏览器,进入无痕/隐身模式

  2. 打开https://act.hoyolab.com/bbs/event/signin/hkrpg/index.html?act_id=e202303301540311并进行登入操作

  3. 按下键盘上的F12或右键检查,打开开发者工具,在控制台输入:

    document.cookie
  4. ltoken=....开始复制到结尾

  5. 将获取到的 Cookie 粘贴到之前获取到 OS 的 Cookie 里面

获取设备 UA

  1. 使用常用的移动端设备访问 https://www.ip138.com/useragent/

  2. 复制网页内容中的 客户端获取的UserAgent

  3. 替换配置文件中 useragent 的原始内容

获取云原神的 token

  1. 建议使用打开浏览器的无痕/隐私/InPrivate模式

  2. 下载 云原神网页版

  3. 按下键盘上的F12或右键检查,打开开发者工具,在打开后登入账号

  4. 在filter里面输入wallet/wallet/get,选择status200的记录

  5. 点击记录,往下拉,找到X-Rpc-Combo_token,复制对应的值,成功获取token

使用 Docker 运行

Docker 的运行脚本基于 Linux 平台编写,暂未在 Win 平台测试。

将本项目 Clone 至本地后,请先按照上述步骤添加或修改配置文件。随后执行

docker-compose up -d

启动 docker 容器。
 
容器运行成功后可用

docker-compose logs -f

命令来查看程序输出。

若需要添加配置文件或修改配置文件,可直接在主机 config 文件夹中修改,修改的内容将实时同步在容器中。

每次运行 Docker 容器后,容器内将自动按照参数执行签到活动,签到完成后容器将默认在每天上午 9:30 运行一次,如果想自行修改时间可自行编辑docker-compose.yml文件中的CRON_SIGNIN,将其修改成想运行的时间。

若想要更新容器镜像,可以参考以下命令

docker-compose stop
docker-compose pull && docker-compose up -d

使用 python 运行(screen)

  1. 将本项目 Clone 至本地后,安装好依赖直接运行python3 server.py

  2. 在后台运行时请安装 screen

  3. 使用screen -S automhy进入后台线程

  4. Ctrl+A 组合键再按下 d 键回到主线程

  5. screen -r automhy回到线程

  6. 如果不能回到线程请先screen -d automhy挂起线程

命令窗口如下

stop: 关闭程序
mulit: 测试多用户签到
single: 测试单用户签到
reload: 重载配置文件
mod x: mod 1 为单用户模式 mod 2 为多用户模式
add 'yourcookie': 直接 add cookie 添加 Cookie,根据提示输入用户存档名称
time x: 设置任务巡查时间,默认 720 分钟(12 小时)
set user enable true(设置 user.json 的 enable 属性为 true)
show true/false: 开启/关闭 20 秒的倒计时提示

使用云函数运行

阿里云和腾讯云的云函数功能现已收费,请各位注意费用!

  • 腾讯云
  1. 下载本项目

  2. 在脚本目录执行pip3 install -r requirements_qcloud.txt -t .

  3. 在本地完整运行一次。

  4. 打开并登录云函数控制台

  5. 新建云函数 - 自定义创建,函数类型选事件函数,部署方式选代码部署,运行环境选 Python3.6.

  6. 提交方法选本地上传文件夹,并在下方的函数代码处上传整个项目文件夹。

  7. 执行方法填写 index.main_handler,多用户请填写index.main_handler_mulit.

  8. 展开高级配置,将执行超时时间修改为 300 秒,其他保持默认。

  9. 展开触发器配置,选中自定义创建,触发周期选择自定义触发周期,并填写表达式0 0 10 * * * *(此处为每天上午 10 时运行一次,可以自行修改)

  10. 完成,enjoy it!

  • 阿里云
    1. 下载本项目
    2. 在脚本目录执行pip3 install -r requirements.txt -t .,如果无法选择Python3.9环境请执行pip3 install -r requirements_qcloud.txt -t .
    3. 在本地完整运行一次。
    4. 打开并登录函数计算 FC。注意左上方显示的地区,可点击切换其他地区。
    5. 创建服务 (日志功能可能产生费用,建议关闭)
      1. 创建函数
      2. 从零开始创建
        1. 请求处理程序类型:处理事件请求
        2. 推荐设置运行环境为Python3.9
        3. 请求处理程序:index.main_handler,多用户请填写index.main_handler_mulit
        4. 配置触发器:触发器类型 定时触发器 异步调用。建议触发方式设为指定时间
        5. 点击创建
      3. 进入函数详情
        1. 打开函数配置
        2. 修改 环境信息 - 执行超时时间 为 300 秒。
    6. 测试运行
      1. 打开 函数详情
      2. 点击测试函数
    7. 完成

使用青龙面板运行(V2.12+)

1.拉取仓库

方式 1:订阅管理

名称:米游社签到
类型:公开仓库
链接:https://github.com/Womsxd/MihoyoBBSTools.git
定时类型:crontab
定时规则:2 2 28 * *
白名单:ql_main.py
依赖文件:error|mihoyo|genshin|honkai3rd|log|push|req|set|tools|con|acc|honkai2|tearsofthemis|captcha|main|gamecheckin|honkaisr|hoyo_checkin|hoyo_gs|hoyo_sr

方式 2:指令拉取

ql repo https://github.com/Womsxd/MihoyoBBSTools.git "ql_main.py" "" "error|mihoyo|genshin|honkai3rd|log|push|req|set|tools|con|acc|honkai2|tearsofthemis|captcha|main|gamecheckin|honkaisr|hoyo_checkin|hoyo_gs|hoyo_sr"

2.环境变量添加

在青龙面板环境变量中添加以下变量

名称 功能
AutoMihoyoBBS_config_path /ql/data/config/ 设置配置文件路径(必选)
AutoMihoyoBBS_config_multi 1 开启多用户(可选)
AutoMihoyoBBS_config_prefix mhy_ 自定义文件开头(单用户可选,多用户推荐)

注意!仅多用户需添加变量AutoMihoyoBBS_config_multi

3.复制配置文件

进入容器后运行以下命令(docker exec -it ql bash)修改 ql 为你的青龙容器名字

单用户请使用以下命令复制配置文件

cp /ql/data/repo/Womsxd_MihoyoBBSTools/config/config.yaml.example /ql/data/config/config.yaml

多用户需要注意,配置文件的名字必须以mhy_开头,之后的[config*]可以为任意字符 或通过环境变量AutoMihoyoBBS_config_prefix来自定义开头,如果不配置则默认mhy_开头

cp /ql/data/repo/Womsxd_MihoyoBBSTools/config/config.yaml.example /ql/data/config/mhy_[config1].yaml
cp /ql/data/repo/Womsxd_MihoyoBBSTools/config/config.yaml.example /ql/data/config/mhy_[config2].yaml
cp /ql/data/repo/Womsxd_MihoyoBBSTools/config/config.yaml.example /ql/data/config/mhy_[config3].yaml
……
cp /ql/data/repo/Womsxd_MihoyoBBSTools/config/config.yaml.example /ql/data/config/mhy_[config*].yaml

4.添加依赖

在青龙面板依赖管理中添加 httpx 及 PyYAML

5.编辑配置文件

单用户在配置文件内 config.yaml 中编辑信息

多用户在配置文件内 mhy_[config*].yaml 中编辑信息

*注:通知配置为青龙 config.sh 中配置

使用的第三方库

requests: github pypi (当 httpx 无法使用时使用)

httpx: github pypi

crontab: github pypi

PyYAML: github pypi

关于使用 Github Actions 运行

本项目不支持不推荐使用Github Actions来每日自动执行!

不会处理使用Github Actions执行有关的 issues!

推荐使用 阿里云/腾讯云 的云函数来进行每日自动执行脚本。

Stargazers over time

Stargazers over time

License

MIT License

鸣谢

JetBrains

本项目的Contributors

还有正在使用这份程序的你

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • Dockerfile 1.3%
  • HTML 1.3%
  • Shell 0.7%