Skip to content
/ yun Public

云运动一键跑步脚本,理论上适用于一切使用云运动的学校的健跑任务,包括但不限于合肥工业大学

Notifications You must be signed in to change notification settings

kontori/yun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

真 · 云运动 一键跑步脚本

本仓库现已停止更新,如有需要请谨慎修改使用,欢迎各位大佬的fork

注意!已经有同学遇到被检测出软件作弊而导致健跑全部不合格的情况!请谨慎使用该脚本。

写在前面

免责声明

一切代码仅供研究学习,请勿用于非法用途。 使用中造成的一切后果,本人概不负责。

一些规则

打卡点的选取规则

绝大部分的数据来自于服务器的返回值,包括打卡点。以合工大为例,服务器将返回一串打卡点,而程序将从中随机选取raDislikes个作为本次跑步所有的打卡点。

其中部分打卡点由于太靠近学校边缘,有时会导航到校外(例如合工大的 117.209175,31.774432 打卡点),需要手动去除。点位需要抓包获取,确保完全一致。

更新: 由于云运动增加了打卡点,并且都非常靠近学校边缘,去除打卡点的方式不再方便(但仍将保留),现引入allow_overflow_distance参数,如果总公里数偏移量超出这一限制,将尝试重新规划路线。

路线的规划规则

成功获取一定数量的打卡点后,依次将打卡点置入任务列表,同时计算路径距离、消耗时间,若总距离在置入raMinDislikes个点位之前已达到了用户配置的min_distance,之后的打卡点将不作处理;反之,继续放置点位,若超出raDislikes个,则从头开始放置,即“回跑”。

由于高德地图路径规划的精度有限,致使导航终点与实际打卡点存在偏差,可能出现”瞬移“。

使用方法

1. 给项目star

2. 获取高德地图开发者密钥

脚本使用高德地图API规划跑步路径,故需要获取开发者密钥。有能力的可以自己尝试更精确的路径规划哦

登录 https://console.amap.com/dev/key/app

image

点击右上角的创建新应用,应用名称随便,应用类型选择出行。

创建完毕后,点击应用上方的添加按钮,

Key名称随便,服务平台选择Web服务,IP白名单留空即可。你将会得到一个Key,这就是我们的开发者密钥。(不是安全密钥!)

3. 将项目下载到本地

4. 配置

你需提前在config.ini文件中完成一些简单的配置。不要随意删除配置字段。

[Yun]
# 云运动服务器的完整Url,一般来说不需要更改
yun_host = https://sports.yzhiee.com:8085
# 学校服务器的完整url,例如合工大的为http://210.45.246.53:8080,请一定不要遗漏 http:// 
# 如选择在初次启动时登录,会自动获取该地址,可留空
# 注:有些学校服务器的ip为内网ip,可能需要使用校园网
school_host = http://210.45.246.53:8080
# 云运动的加密密钥
key = YUNZHIEE
# 云运动app版本
app_edition = 2.3.1

[User]
# 用户token,可通过抓包获取。如果你不知道怎么获得,请留空,运行时会引导登录
token = 
# 设备id,可通过抓包获取(每次登录都是不同的设备id,我怀疑它就是个随机数,不要尝试用抓包以外的方法获取),
# 可留空,运行时会自动生成15位随机数
device_id = 
# 高德地图开发者密钥
map_key = 
# 设备名称
device_name = Xiaomi(Mi10)
# 安卓系统版本(大版本号)ios用户自行抓包分析哦
sys_edition = 12

[Run]
# 初始位置经纬度,精确到小数点后6位,可修改
point = 117.205608,31.772887
# 去除指定打卡点,用于解决路径异常的问题。但注意,即使删除失败,程序仍将继续。数组类型
exclude_points = ["117.209175,31.774432"]
# 最少公里数,float
min_distance = 2
# 允许超出公里数,float
allow_overflow_distance = 0.1
# 以下两个配置只会影响单点配速,即决定路线是绿色、黄色还是红色
# 具体范围见云运动公告
# 最小配速偏移量,float
single_mileage_min_offset = 1
# 最大配速偏移量,float
single_mileage_max_offset = -1
# 最小步频偏移量,int
cadence_min_offset = 60
# 最大步频偏移量,int
cadence_max_offset = -100
# 单次发送split_point个数,如果你不知道这个是什么,就不要修改
split_count = 10
# 最终配速最小值
min_consume = 4.50
# 最终配速最大值
max_consume = 5.50

5. 运行

测试环境:Python 3.9.5

安装依赖

pip install -r requirements.txt

run

确保config.ini文件与main.py处于同级目录,然后

python main.py

按照提示操作即可。

6. 退出登录

每次运行、任务执行结束时,可选择退出登录,以避免系统检测出多设备登录。若Token为抓包获取,确保与真机一致时,一般来说,可无需退出。

About

云运动一键跑步脚本,理论上适用于一切使用云运动的学校的健跑任务,包括但不限于合肥工业大学

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages