Underworld511 发表于 2022-7-27 19:59

【Golang】【MoreSteps】 借助小米运动 APP 刷步数的命令行程序,支持微信和支付宝

本帖最后由 Underworld511 于 2023-3-4 16:16 编辑

目前该工具已失效,无法同步步数。

https://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gif

参考了冰狐的帖子:《小米运动 APP 刷步数,支持微信 v1.1含源码》
https://www.52pojie.cn/thread-1564084-1-1.html

以及wxc6688的帖子:《小米运动 APP 刷步数,支持微信支付宝 修改成易语言》
https://www.52pojie.cn/thread-1651952-1-1.html
感谢两位作者的无私奉献。

https://static.52pojie.cn/static/image/hrline/5.gifhttps://static.52pojie.cn/static/image/hrline/5.gif


我首先使用 Charles 对冰狐的运动修改器软件进行抓包来查看网络请求的细节,并参考wxc6688的易语言版本程序源码,用 Go 语言重新实现了一个可自动化更改步数的命令行界面的版本,取名为 MoreSteps,可在服务器上运行,共享出来供大家学习参考。


一、MoreSteps 界面

目前只有前三项功能和退出功能可用,算个半成品吧。

[*]添加新用户:输入手机号码和密码(格式为"15512345678 Password233",中间用一个空格隔开),并设定每天的目标步数,以便于每日自动刷步。
[*]手动刷步模式:输入要刷步的手机号码(需已被添加为新用户)和步数,可以刷出指定的步数。
[*]自动刷步模式:选择此项会对用户列表中的用户进行遍历,按照每个用户设定的目标步数的小幅度随机加减后的步数进行自动刷步。在添加多个新用户后,可在服务器上使用 crontab 定时执行该命令:MoreSteps auto,就可以实现每日自动刷步啦!


二、使用方法

[*]注册”小米运动“APP(现在已更名为 Zepp Life 了)并绑定微信或支付宝授权。(详细操作可以去阅读本帖开头提及的两个帖子)
[*]在命令行或终端中进入MoreSteps可执行程序所在的目录,输入MoreSteps即可。



三、部分源代码展示
// login 通过手机号码和密码登录,得到access。
func (u *User) login() error {
      URL := fmt.Sprintf(`https://api-user.huami.com/registrations/+86%s/tokens`, u.phoneNumber)
      str := "client_id=HuaMi&password=" + u.password + `&redirect_uri=https://s3-us-west-2.amazonaws.com/hm-registration/successsignin.html&token=access`
      req, err := http.NewRequest("POST", URL, strings.NewReader(str))
      if err != nil {
                return err
      }

      req.Header.Set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8")
      req.Header.Set("User-Agent", "MiFit/4.6.0 (iPhone; iOS 14.0.1; Scale/2.00)")

      client := &http.Client{}
      client.CheckRedirect = func(req *http.Request, via []*http.Request) error {
                return http.ErrUseLastResponse
      }
      resp, err := client.Do(req)
      if err != nil {
                return err
      }
      defer resp.Body.Close()

      if resp.StatusCode != 303 {
                return errors.New("登录失败!")
      }
      location := resp.Header.Get("Location")
      u.access = strings.Split(location, "&")
      return nil
}

四、成果展示




源码链接:https://share.weiyun.com/MDwyE7TA 密码:k5wqbk

-- 如有违规请管理员删帖 --



hwjiejie 发表于 2022-10-2 04:41

本帖最后由 wushaominkk 于 2023-7-21 14:40 编辑

w10设置 实现自动每日自动刷步
方法一:文字教程
我的电脑-管理-任务计划程序-创建基本任务
注意操作框 设置参数auto 设置路径

图片教程https://s1.ax1x.com/2022/10/04/xQfgmD.png


w10设置自动每日自动刷步,就是那么简单.

Underworld511 发表于 2022-7-28 19:57

本帖最后由 Underworld511 于 2022-7-28 20:06 编辑

ggggvfhpapsu 发表于 2022-7-28 10:58
请教一下:

自己照每个用户设定的目标步数的小幅度随机加减后的步数进行自动刷步

感谢使用,随机步数处理部分的代码如下:
      if enableRandom {
                steps, _ := strconv.Atoi(u.targetSteps)
                rand.Seed(time.Now().Unix()) //对步数进行随机性处理
                if rand.Intn(2) == 0 {
                        steps += rand.Intn(711)
                } else {
                        steps -= rand.Intn(522)
                }
                u.targetSteps = strconv.Itoa(steps)
      }
会在目标步数的基础上增加小于711的随机正整数的步数或减少小于522的随机正整数的步数。写死在代码里了,不能自己设定。(有需求可以自己改一下代码)

执行MoreSteps.exe auto命令即可使用自动刷步模式。
如果想电脑开机就运行,可以设定一个计划任务,定时执行MoreSteps.exe auto命令。

添加新用户时可以为每个用户设定不同的目标步数。

ych13846701169 发表于 2022-7-27 20:46

谢谢分享,使用了

cwyuchen 发表于 2022-7-27 21:51

谢谢,很好用

zhujunhan7 发表于 2022-7-27 22:06

我来看看怎么样的

_水瓶座 发表于 2022-7-27 22:35

{:1_893:}鼓励优秀程序

yj1009 发表于 2022-7-27 22:52

牛啊,牛啊

polyneices 发表于 2022-7-27 22:53

感谢分享 学习一下

GGabc 发表于 2022-7-28 01:13

感谢分享~{:1_927:}

xiaojian40 发表于 2022-7-28 03:24

优秀的程序,点赞

manchangwu 发表于 2022-7-28 05:32

谢谢分享,使用了
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【Golang】【MoreSteps】 借助小米运动 APP 刷步数的命令行程序,支持微信和支付宝