#upload #platform #activity #icu #intervals #logs #strava

app trackme

将活动日志上传到分析平台

1 个不稳定版本

0.1.0 2023年10月22日

#8#intervals

GPL-3.0-or-later

40KB
616

trackme

用于将活动日志上传到Intervals.icu和Strava等平台的命令行工具。

快速入门

$ trackme upload --name "My Activity" activity.fit
  [intervals.icu] upload finished (ID i12345)
  [strava       ] upload finished (ID 12345)

安装

要安装trackme,您需要Rust 1.70.0或更高版本。下载最新版本的源代码,并用以下命令编译:

$ git clone https://codeberg.org/robink/trackme.git
$ cd trackme
$ git checkout stable
$ cargo build --release

建议在编译和安装之前验证发布的OpenPGP签名

$ git verify-commit stable

所有版本都应该使用密钥 EC7E F0F9 B681 4C24 6236 3842 B755 6972 702A FD45 进行签名。

或者,您可以直接从crates.io安装trackme

$ cargo install --locked trackme

用法

命令

主要命令是upload。它上传一个活动文件——通常是FIT、GPX或TCX格式——到一个或多个跟踪平台。默认情况下,它会上传到所有支持的平台。您可以使用--platforms选项选择平台。使用--name选项来覆盖由平台生成的活动名称。

$ trackme upload activity.fit
  [intervals.icu] upload finished (ID i12345)
  [strava       ] upload finished (ID 12345)

$ trackme upload --name "My Activity" activity.fit
  [intervals.icu] upload finished (ID i12345)
  [strava       ] upload finished (ID 12345)

$ trackme upload --platforms strava --name "My Strava Activity" activity.fit
  [strava] upload finished (ID 12345)

配置

trackme会尝试从以下文件之一加载其配置

  • ${XDG_CONFIG_HOME}/trackme/config.toml(默认:~/.config/trackme/config.toml
  • ${dir}/trackme/config.toml对于dirXDG_CONFIG_DIRS中(默认:/etc/xdg/trackme/config.tml

或者,可以使用--config选项设置配置文件的路径。

config.toml是一个示例配置文件,描述了可用的设置。所有设置也可以作为命令行参数传递。使用--help选项列出可用的参数。

平台

以下部分描述了如何设置受支持的平台,以便您可以上传您的活动。建议使用配置文件进行所需的设置,但您也可以使用CLI参数。

Intervals.icu

要将活动上传到Intervals.icu,您需要从“设置”→“开发者设置”获取运动员ID和API密钥。

CLI

$ trackme --intervals-icu-athlete-id i12345 --intervals-icu-api-key secret-string ...

配置

[platform.intervals_icu]
athlete_id = "i12345"
api_key = "secret-string"

Strava

要将活动上传到Strava,您首先需要在“设置”→“我的API应用程序”中创建API应用程序,具体操作请参阅Strava开发者文档。然后使用您的API应用程序的客户端ID和密钥配置trackme

CLI

$ trackme --strava-client-id 12345 --strava-client-secret secret-string ...

配置

[platform.strava]
client_id = 12345
client_secret = "secret-string"

在您上传活动到Strava之前,您需要使用strava login命令授权您的账户应用程序。它将打印一个您需要在网页浏览器中打开的URL(或使用--open选项自动打开)。登录您的Strava账户并授权应用程序。您将被重定向到一个localhost URL。复制该URL并将其粘贴到strava login命令中。

$ trackme strava login --open

这将为访问Strava API生成一个访问令牌,并为访问令牌过期时更新访问令牌生成一个刷新令牌。为了跟踪这些令牌,trackme将生成一个文件${XDG_STATE_HOME}/trackme/strava.toml(默认:~/.local/state/trackme/strava.toml)。

联系

有关错误报告、功能请求和其他消息,请为Codeberg.org项目打开一个问题

许可

本项目受GNU通用公共许可证,版本3.0或更高版本的许可。本存储库中包含的文档和示例受Creative Commons Zero许可的许可。有关更多信息,请参阅每个文件的许可头。您可以在LICENSES目录中找到许可证文本的副本。

trackme符合REUSE规范3.0版本

依赖

~5–17MB
~249K SLoC