Skip to content

solitudechn/garmin-fit-auto-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Garmin FIT 文件自动上传脚本

这是一个Python脚本,用于自动化将FIT文件(例如从Garmin设备导出的文件)上传到Garmin Connect。它支持批量上传、失败或处理中文件的重试,并模拟人类行为以避免检测。该脚本设计注重可靠性,包括错误处理和进度跟踪。

注意: 该脚本需要手动登录Garmin Connect,因为存在CAPTCHA和安全措施。它不是完全无头模式——初始阶段需要与浏览器交互。

功能

  • 批量处理:以可配置的批量大小(默认:100)上传文件,避免服务器过载。
  • 重试逻辑:自动检测失败或“处理中”的上传,并在后续轮次中重试(最多10轮)。
  • 模拟人类行为:使用undetected_chromedriver规避机器人检测,添加随机延迟和鼠标移动。
  • 进度跟踪:使用tqdm显示上传进度,并记录估计的成功/失败情况。
  • 文件管理:将失败/处理中文件复制到特定轮次的目录,便于审查。
  • 错误处理:超时、异常和手动干预点。

先决条件

  • Python 3.8+(在3.12上测试)
  • Google Chrome浏览器(用于undetected_chromedriver
  • Garmin Connect账户(需要手动登录)
  • FIT文件目录(例如 ./fit/*.fit

安装

  1. 克隆仓库:
git clone https://github.com/solitudechn/garmin-fit-auto-uploader.git
cd garmin-fit-auto-uploader
  1. 安装依赖:
pip install -r requirements.txt
  1. 确保Chrome已安装并更新。脚本使用undetected_chromedriver,它会自动下载兼容版本。

配置

在脚本顶部编辑配置部分:

使用

  1. 将FIT文件放入FIT_DIR指定的目录。
  2. 运行脚本:
python auto_update_garmin_fit.py
  1. 浏览器会打开登录页面。手动登录并解决CAPTCHA(如果出现)。脚本会等待120秒。
  2. 登录后,脚本会自动导航到上传页面并开始处理文件。
  3. 失败/处理中文件会复制到failed_uploads_roundX目录(X为轮次)。

注意事项

  • 该脚本模拟人类行为,但仍可能被Garmin检测。请遵守Garmin的服务条款。
  • 如果上传超时或出错,脚本会尝试重试。
  • 手动干预:如果登录未自动检测,按Enter继续。
  • 脚本结束时会关闭浏览器。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages