{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/kevinkwee/Mi-Fitness-Sync/blob/b51fd421fbdda18b53c13aad12b6868731684583/docs/mi-fitness-auth-findings.md",
    "https://github.com/kevinkwee/Mi-Fitness-Sync/blob/b51fd421fbdda18b53c13aad12b6868731684583/docs/mi-fitness-fds-findings.md",
    "https://github.com/kevinkwee/Mi-Fitness-Sync/blob/b51fd421fbdda18b53c13aad12b6868731684583/README.md"
  ],
  "category": "reconstruction-cases",
  "class": "apps",
  "description_en": "Mi Fitness Sync reconstructs workout retrieval from the Mi Fitness Android app and implements a Python CLI for activity export and Strava uploads. Its JADX-based notes map Xiaomi Passport authentication, activity API calls and FDS download handling. The client decrypts workout blobs and exports available data as GPX, TCX or FIT.",
  "description_zh": "Mi Fitness Sync 根据 Mi Fitness Android 应用重建运动记录获取流程，并提供用于导出活动及上传 Strava 的 Python 命令行工具。基于 JADX 的研究记录梳理 Xiaomi Passport 认证、活动 API 和 FDS 下载流程；客户端解密运动数据块，并将可用数据导出为 GPX、TCX 或 FIT。",
  "entry_url": "https://awesomerea.org/resources/mi-fitness-sync-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/mi-fitness-sync-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/kevinkwee/Mi-Fitness-Sync/blob/b51fd421fbdda18b53c13aad12b6868731684583/docs/mi-fitness-activity-findings.md",
  "group": "cases",
  "id": "mi-fitness-sync-case",
  "json_url": "https://awesomerea.org/resources/mi-fitness-sync-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/mi-fitness-sync-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/mi-fitness-sync-case/index.md",
  "name": "Mi Fitness Sync: reconstructing workout retrieval from the Android app",
  "name_zh": "Mi Fitness Sync：从 Android 应用重建运动记录获取流程",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Python 3.12 or newer and a Mi/Xiaomi account are required.",
    "Strava upload commands require a Strava API application.",
    "GPX export requires GPS track points; FIT export includes only fields available in the source data.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要 Python 3.12 或更新版本，以及 Mi/Xiaomi 账号。",
    "使用 Strava 上传命令需要 Strava API 应用。",
    "GPX 导出需要 GPS 轨迹点；FIT 仅包含源数据中存在的字段。",
    "采用 MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "app"
  ],
  "url": "https://github.com/kevinkwee/Mi-Fitness-Sync",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
