Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🚴‍♂️ igpsport_to_intervals_icu

Strava 同步到 Intervals.icu 的时候会丢掉踩踏平顺度和左右平衡数据,这个项目可以从 IGPSPORT 直接导出 FIT 并同步到 Intervals.icu 补齐这些数据

README

这是一个专为骑行发烧友设计的 iGPSPORT (迹驰) -> Intervals.icu 自动同步工具。

🌟 为什么需要它?

  1. 高阶指标零阉割:Strava 网页端和 API 在接收/分发数据时会强制剥离高阶踩踏指标(如:左右平衡 L/R Balance、踩踏平顺度 Pedal Smoothness、扭矩效率 TE)。本工具通过直接抓取迹驰云端原始 FIT 文件直链并推送,保证数据 100% 完整导入。
  2. 完全云端托管:利用 GitHub Actions 免费服务器进行定时同步,不需要你准备软路由、NAS 或服务器。
  3. GitHub Fork 友好:使用 GitHub Rolling Cache(滚动缓存)机制,同步过程不会在你的仓库里产生任何提交历史(commit),保持仓库绝对干净。

🚀 3分钟快速部署指南

大家只需要 Fork 本仓库,即可开始使用!

第一步:Fork 本仓库

点击仓库右上角的 Fork 按钮,复制一份到你自己的 GitHub 账号下。

第二步:添加 Secrets

你 Fork 后的仓库页面,点击 Settings -> Secrets and variables -> Actions,点击 New repository secret,依次添加以下 4 个密钥:

密钥名称 (Name) 示例值 (Value) 说明
IGPSPORT_USERNAME 188xxxx1234 你的迹驰登录手机号/账号
IGPSPORT_PASSWORD your_password 你的迹驰登录密码
INTERVALS_ATHLETE_ID i548189 你的 Intervals.icu ID (可在设置页最下方找到,带 i 前缀)
INTERVALS_API_KEY 3ipy6o12... 你的 Intervals.icu API Key (可在设置页最下方生成)

第三步:启用 Actions

  1. 在你 Fork 的仓库上方,点击 Actions 标签。
  2. 看到提示后,点击绿色的 "I understand my workflows, go ahead and enable them" 按钮。
  3. 在左侧列表中选择 "iGPSPORT to Intervals.icu Sync"
  4. 点击右侧的 Run workflow 下拉菜单,点击绿色的 Run workflow 按钮,进行第一次手动数据同步测试!

🛠️ 技术内幕与防封控设计

  • App 级 OAuth 协议逆向:抛弃了老旧且容易被境外 IP 封锁的 my.igpsport.com 网页爬虫方案。直接逆向迹驰最新单页 Web 应用,使用其移动端 qiwu.mobile OAuth 网关进行密码授权,拿到 Bearer Token 后调用移动端 API。
  • Alibaba Cloud CDN 加速下载:直接获取迹驰托管在阿里云 OSS 的 FIT 数据直链,数据传输安全高速。
  • 免提交滚动缓存 (Rolling Cache):通过 GitHub Action Native Cache 存储 .igp_to_intervals_cache.json。如果在 7 天内无运动导致缓存被 GitHub 清空,脚本会触发无损去重重建机制:Intervals.icu API 遇到已存在的 FIT 会返回 409 Conflict,脚本捕获该状态并自动重新将其写回缓存,不产生重复活动,也不脏化 Git 历史。

Created with 💙 by Nox & Liki4.

About

Strava 同步到 Intervals.icu 的时候会丢掉踩踏平顺度和左右平衡数据,这个项目可以从 IGPSPORT 直接导出 FIT 并同步到 Intervals.icu 补齐这些数据

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages