MHYY 您所在的位置:网站首页 米哈游官方社区怎么签到 MHYY

MHYY

2023-10-08 02:59| 来源: 网络整理| 查看: 265

米哈云游(云原神)自动签到脚本食用指南

在指南开始之前,请确保你有一颗聪明的头脑和可以折腾的时间,否则请等时机合适再进行配置!

在使用过程中如果遇到什么问题,请前往Issues · GamerNoTitle/MHYY (github.com)发起新的issue来提出,不要在本页面的评论区提出问题(因为追踪性太差了)

对于正在使用本脚本的用户,请注意:每次云原神更新后(一般会跟着本体大版本更新就更一次),请把自己的配置中的version修改为最新的云原神版本,否则可能会出现不可预料的错误;并且请及时更新脚本,在自己的仓库点击Fetch upstream然后点击Merge即可!)

现在这个值是作为fallback值使用,只有当官方的版本号服务器不可用时才会用到这个值,所以有空就改,不改也可以

用前必读

⚠️请不要进行宣传,谢谢!一旦发现宣传就删库跑路!使用过程中如果出现bug可能会使用您的日志进行错误追踪,详情请见隐私政策

快速开始

先点个STAR,我们马上开始我们的教程:D

青龙面板

如果你选择使用青龙面板,那么你需要执行以下操作

首先点开订阅管理,把这个命令粘贴进去

1ql repo http://gogs.console.bili33.top/GamerNoTitle/MHYY-AutoCheckin.git "main" "" ""

然后他会自动识别,并填入相应的内容,你只需要修改定时规则即可,名称按照自己需要修改

如果上面这个命令贴进去后因为网络原因(有可能我的gogs宕机了)或者其他原因拉取不了,可以改成下面这个

1ql repo https://github.com/GamerNoTitle/MHYY.git "main" "" ""

优先还是建议用gogs的那个,谁知道啥时候Github就给我仓库封了呢~

保存以后点击运行按钮更新一下订阅

在定时任务中你就能找到刚刚更新的内容,但是还不能够使用,我们还需要配置依赖和环境变量

我们需要两个python3依赖,分别是requests和sentry-sdk,如图填写并安装

然后点到环境变量,新建名为config的变量(可以改,请见青龙面板不使用config作为变量名)把我们的配置填进去,点击保存

配置应该如下(单个账号)

1234567891011{ "token": "token1", "type": 0, "version": "3.0.0", "android": "13", "deviceid": "uuid", "devicename": "device_name", "devicemodel": "device_modal", "appid": 1953439974, "analytics": false}

程序已经支持多个账号了,多个账号你需要按照下面这个格式填写

123456789101112131415161718192021222324[ { "token": "token1", "type": 0, "version": "3.0.0", "android": "13", "deviceid": "uuid", "devicename": "device_name", "devicemodel": "device_modal", "appid": 1953439974, "analytics": false }, { "token": "token2", "type": 0, "version": "3.0.0", "android": "13", "deviceid": "uuid", "devicename": "device_name", "devicemodel": "device_modal", "appid": 1953439974, "analytics": false }]

保存后你就可以在定时任务中运行试试看效果了~

青龙面板不使用config作为变量名

先点开脚本管理,找到你对MHYY-AutoCheckin的命名,然后打开它的文件夹,找到main.py文件,在大约23行的位置找到以下内容

12# Running in Github Action, use this to get the configconfig = json.loads(os.environ.get('config'))

把括号里的config改成你想要的名字,然后配置环境变量的时候就直接改成你配置的名字就可以了~

Github Action 版本

原仓库在2023/02/03收到Github通知封禁,镜像仓库在GamerNoTitle/MHYY: Disabled Action, if you need it, enable it by yourself (github.com),本项目仓库的Github Action已经被我手动禁用,如果需要使用Action版本,请将~/.github/workflows文件夹内的两个文件后面的.disabled删掉!

首先你需要先打开本脚本的仓库GamerNoTitle/MHYY: 米哈云游(云原神)自动签到脚本,让你每天都拿到15分钟~ (github.com),点击右上角的fork按钮,接着点击下面绿色的Create fork来创建一个分支

然后点击上面的Settings,导航到Secrets->Actions页面下,点击New repository secret(如图)

将以下内容进行填充后加入名字为config的Secret中(内容获取请参照配置内容获取一节)

1234567891011{ "token": "", "type": 0, "version": "2.2.0", "android": "0", "deviceid": "", "devicename": "", "devicemodel": "", "appid": 0, "analytics": true} 阿里云函数版本

首先你得先下载本仓库的代码文件,点击右上角绿色的Code,然后点击Download ZIP,把压缩包下载后解压到一个你知道的地方,我们一会会用到

先打开阿里云函数,点左边的函数服务,然后顶上选择地区,随便选(但是最好是国内)

点击创建服务来建立一个新的服务

紧接着创建一个新的函数,设置方法如下面几张图

创建后会自动打开阿里云函数的vscode,在这里,点击上面的Terminal,点击New Terminal(也可以直接快捷键Ctrl + Shift + `)

打开以后在里面输入下面的命令

1chmod +x ./preinstall.sh && ./preinstall.sh

运行完以后,打开config.json,把自己的配置内容填进去即可,然后点击部署代码

一定要先把配置丢进config.json再部署代码!一定要先把配置丢进config.json再部署代码!一定要先把配置丢进config.json再部署代码!

要是不确定能不能使用,可以点一下顶上的测试函数,看看能不能使用

腾讯云函数版本(不推荐,腾讯要收钱了,可以在阿里云函数使用,正常是不会用完你的免费额度的)

首先你得先下载本仓库的代码文件,点击右上角绿色的Code,然后点击Download ZIP,把压缩包下载后解压到一个你知道的地方,我们一会会用到

先打开腾讯云函数,点左边的函数服务,然后顶上选择地区,随便选(但是最好是国内)

点击新建来建立一个新的函数

函数的名称可以随便填,但是你也得符合腾讯云指定的规则;但是运行环境一定一定要选择Python 3.6(因为Python 3.7不带我们需要的环境,还需要自己装非常麻烦)

接着往下,提交方法选择本地上传文件夹,然后选择你刚刚解压的文件夹里面的SCF文件夹,接着重点来啦:执行方法里面填写为index.handler(一定要改)

接着点击下面的触发器配置,选择自定义创建,触发方式选择定时触发,触发周期选择每1天,下面的启用要打勾,点击完成

创建完成后进入配置界面,先点击顶上的函数配置,点击编辑,往下面拉找到初始化超时时间和执行超时时间,把这两个数字往高了调

然后点击顶上的函数代码,等底下加载完后点击config.json,把你的信息填进去

然后打开终端,输入以下代码安装依赖

1chmod +x ./preinstall.sh && ./preinstall.sh

一定要先把配置丢进config.json再部署代码!一定要先把配置丢进config.json再部署代码!一定要先把配置丢进config.json再部署代码!

往下拉,先点击部署,然后点测试,只要测试成功了就是部署完成了

其他云函数

其他的云函数有如下

华为云函数 百度云函数(找不到百度云的AFF页面在哪里所以没有推广链接) 其他……

用法其实跟阿里云函数和腾讯云函数大差不差,看着用就行了,不会就开issue问

配置解释(配置内容获取) token 是在云原神登录后用于验证的token type (应该)是设备类型,安卓好像是2,iOS设备用户是1,但是目前还不支持iOS设备,请看这里 version 是云原神的版本(每次更新以后记得改一下,不然可能会出问题 不用改了,现在改成从官方服务器获取版本号) android 安卓版本,例如我的红米K40的安卓版本是Android 12,就填入12,应该是只有Android有,因为手上只有Android设备,如果你愿意用iOS设备进行测试的话,请将相关内容发邮件到[email protected] deviceid 设备在米哈游注册的id(格式为UUID,例如d76fb4b4-b898-4093-990d-c57ebb40f29b) devicename 设备的名称 devicemodel 设备的型号(请注意:deviceid devicename devicemodel 尽量是同一台手机的内容,因为指不定那天米忽悠就对这三个东西进行校验了,当然你要用公共的我也不阻止对吧) appid 暂时不清楚,从我目前手上各用户提交的统计信息来看,好像是云原神这个应用在米哈游的应用id(貌似不会变) analytics 因为关于这个东西的信息太少,所以会把除了token以外的东西发送到我的云端服务器以便于分析,如果你不想分享你的信息(包括设备id、设备名称、设备型号等),请将这个设置为false

配置完成后,我们点开顶上的Actions,然后点绿色的那个按钮

然后点击左侧列表中的两个脚本,点Enable workflow来启用

然后我们点开左侧的AutoCheckin,然后点Run workflow来运行,只要运行结果打了绿色的勾勾就一般就没啥问题

自动保活

事实上,对于现版本的Github Action,只需要把KeepActionAlive打开即可,下面的这些操作是旧版本的Action所需要的

因为Github在仓库没有push三个月后会停用仓库的一切Action,所以说我们需要进行保活。

在启用KeepActionAlive之前,你需要创建一个用来push更改的GITHUB_TOKEN

右上角点击自己的头像,然后点击Settings,然后在左侧的导航栏找到Developer Settings

然后在左边找到Personal Access Tokens,点击Generate new token生成一个token,名字填写为GITHUB_TOKEN

把过期时间设置为No expiration,然后依次勾选下面内容

然后点最下面的绿色按钮Generate token即可

在Action页面启用KeppActionAlive即可!脚本会在每个月的1号自动推送更新从而达到保活的目的。

配置内容获取

因为云原神是在手机上运行的,所以你需要安装一个手机上的抓包软件(例如HttpCanary,或者如果你能够用fiddler电脑运行去抓也行)

一定要记得装抓包软件提供的证书,要不然解不了SSL连接,一定要先登录并成功进去了再启动抓包软件!!!

这里面只要是个HTTP链接,随便一个里面都有我们所需要的东西,这里我就点开了一个链接,在请求里面有所有我们需要的东西,而解释我都写在图片里面了

其中,这里面的东西与变量有如下的对应关系

1234567891011{ "token": x-rpc-combo_token, "type": x-rpc-client_type, "version": x-rpc-app_version, "android": x-rpc-sys_version, "deviceid": x-rpc-device_id, "devicename": x-rpc-device_name, "devicemodel": x-rpc-device_model, "appid": x-rpc-app_id, "analytics": true}

version不是必要的,在a4e5f06..7bd5d44 commit中,使用了米忽悠自己的api获取云原神的最新版本号,此处填写version只是作为获取不到最新版本号时的fallback值

对于token(应该说写作token念作cookie)由以下几部分组成:

ai 一个数值,具体含义未知 ci 一个数值,具体含义未知 oi 一个数值,推测是米游社ID ct 一串字符,具体作用未知,推测为认证使用 si 一串字符,具体作用未知,推测为认证使用 bi 一串字符,推测为服务器通道

只要把对应的内容填到配置中即可!对于字符串类型的内容请使用双引号而不是单引号,json不认单引号(在错误收集中发现有此类现象,故特别提出)

请不定时自己上线米哈云游(云原神)来清理签到的提醒消息,不然会一直堆积着,就要点好多次了

堆积的信息可以在运行结果中查看

iOS设备用户须知

因为米忽悠在请求头中的cms-signature键中写了用了hmac-sha1加密方法,这种加密方法需要要加密的信息和密钥,这两个东西我这边目前都不能确定(其实有要加密的信息就可以去猜密钥,但是目前不清楚是对什么进行了加密),而且在CONTENT-MD5中,还对请求的MD5进行了校验(这个好搞,主要是前面那个),最后还有一个时间Date的请求头(目前猜是发出请求的时间),总的来说就是不好搞,如果你手上是iOS设备,并且你愿意用iOS设备进行测试的话,请将相关内容发邮件到[email protected],最好是抓到的所有包都截图发一下(我好进行判断),并且抓多几次(感谢多玩幻灵qwq愿意与我共享他的抓包数据,这是我第一次收到iOS设备有关信息,谢谢你的共享:D)

已知iOS设备抓包会包含以下内容(以log获取为例)[感谢@多玩幻灵qwq在QQ给我提供的完整请求]

12345678910111213141516171819202122Host: log-upload.mihoyo.comx-rpc-device_model: iPhone11,8 Cookie: account_id=; cookie_token=; ltoken=; ltuid=User-Agent: %E4%BA%91%C2%B7%E5%8E%9F%E7%A5%9E/24 CFNetwork/1331.0.7 Darwin/21.4.0 (前面那里的URL解码后是"云·原神")Referer: https://app.mihoyo.comx-rpc-device_name: iPhonecms-signature: hmac-sha1Content-Length: CONTENT-MD5: Date: x-rpc-combo_token: x-rpc-channel: appstorex-rpc-app_version: Authorization: Accept-Language: zh-CN,zh-Hans;q=0.9Connection: keep-alivex-rpc-client_type: 1 x-rpc-device_id: Accept: */*Content-Type: application/jsonAccept-Encoding: gzip, deflate, brx-rpc-sys_version: Q&A青龙面板里面怎么用 (因仓库被封所以issue没了,请看青龙面板一节)

使用Action版本,把配置写入config.json内,然后根据这个链接里面的做法对脚本进行小修改就可以用了

为什么要把信息作为统计数据发到统计服务器? 统计服务器已关闭,本条目已失效

因为我手头上的信息实在太少了,而且按照米忽悠的习惯,他们的数据如果没有庞大的数据量的话很难分析出一个所以然来,所以我这里需要大量的数据。如果你不想共享你的数据,请将配置中的analytics设置为false。

SCF版本出现报错

报错内容为:wait_time = random(1, 300) # Random wait time TypeError: 'module' object is not callable

更新一下脚本就好了,在commit1665099已经修好了(感谢@Elletear发现这个问题并提交PR#5)

KeepActionAlive运行失败(权限不足)

具体如图所示,这个要得益于昨天Github的一个更新GitHub Actions - Updating the default GITHUB_TOKEN permissions to read-only | GitHub Changelog

在仓库里面点击Settings => Actions => General,往下拉找到Workflow permissions,把原来的Read repository contents and packages permissions改为上面的Read and write permissions,然后点击下面的Save键就可以了

发现了bug/无法使用

请前往Issues · GamerNoTitle/MHYY (github.com)发起新的issue来提出,不要在本页面的评论区提出问题(因为追踪性太差了)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有