Endurain:自托管的类似 Strava 服务

一个新的开源项目 Endurain 旨在提供一个类似 Strava 的自托管替代界面,这引起了希望更好掌控活动数据和隐私的用户兴趣。评论者质疑它对 Strava API 的依赖,指出诸如智能手表集成和缺少截图等缺口,并提到克隆类似 Strava 功能可能存在的法律与技术限制。讨论还扩展到健身平台中的社交与隐私取舍,以及非专业开发者如何越来越多地使用 ChatGPT 来构建复杂 Web 应用。

项目定位、README 与 UX

  • 许多评论者喜欢这个想法,但觉得 README 很弱:
    • 缺少截图和在线演示。
    • 默认读者熟悉 Strava;好几个人希望有一句话说明这个应用本身是做什么的,而不只是“像 Strava”。
  • 有些人不确定这到底是:
    • 真正自托管的 Strava 替代品,还是
    • 主要是 Strava 数据的替代前端/备份。
      他们希望在 README/标题开头就说明清楚。

对 Strava 的依赖以及 API/法律问题

  • 不少评论指出,如果数据必须先进入 Strava,那这就不是一个完整替代品。
  • 有评论者提到 Strava 的 API 协议禁止复制 Strava 的功能,并建议如果这个项目过于镜像其功能,可能会处于法律灰色地带。

智能手表与数据集成

  • 一个关键缺失能力:直接、自动地从智能手表和厂商平台导入。
  • 目前的变通方式似乎是:设备 → 厂商云(Garmin、Suunto、Apple 等)→ Strava → Endurain。
  • 讨论内容包括:
    • 通过 Health 应用和/或 Strava 应用使用 Apple Watch。
    • Garmin 的官方 API(面向商业,业余项目很难使用)。
    • Garmin 的逆向工程库。
    • RunGap、Gadgetbridge 以及自定义导出/GPX 工作流等工具。
  • 也有人指出,只要有 API 或逆向工程客户端,Web 应用技术上可以直接集成。

Strava 的角色:社交、分段与隐私、成本

  • 对不熟悉 Strava 的读者的解释:它既是健身追踪工具,也带有很强的社交网络属性。
  • “Segments”(在定义好的路线区段上进行时间比较)被视为杀手级功能,也是很多人愿意付费的主要原因;一些人希望有一个开放的、中心化的分段枢纽。
  • 对 Strava 订阅价值的看法分歧:
    • 有人说每年 80 美元相对于装备成本来说不算什么。
    • 也有人觉得相比手表生态系统并没有多少额外价值,因此取消订阅。
  • 多条评论提到隐私/安全风险:
    • 暴露家庭位置、昂贵装备和常用路线。
    • 热力图会暴露军事基地和敏感地点。
    • 对脆弱用户的风险(例如独自跑步的女性)。
    • 缓解方式:默认模糊起点/终点位置、隐私控制、化名、延迟上传。

替代方案与相关项目

  • 提到的工具包括:intervals.icu、Golden Cheetah、Runalyze(较老的开源软件)、基于 GPX 的 CLI 工具、cubetrek、以及足球专用的类似 Strava 应用。
  • 讨论中区分了:
    • 社交平台(类似 Strava)和
    • 深度训练/分析工具(例如 Golden Cheetah、intervals.icu)。

实现质量、AI 辅助与安全性

  • 作者(根据 README)不是专业开发者,并且大量使用了 ChatGPT;评论者:
    • 赞赏其成果与坦诚。
    • 强调所有开发者都会犯错;关键在于通过测试、linters、CI、类型系统快速发现并修复。
  • 也有人担心安全性:
    • 指出 SHA-2 用于密码哈希以及 PHP 可能是红旗。
    • 另一些人则认为,不必因为未来可能出现的 bug 就停止发布和学习。

架构、联邦与 Fediverse

  • 有几位建议基于 XMPP 或 ActivityPub 构建联邦和互操作性。
  • 也有人明确想要一个基于 ActivityPub、FOSS 的 Strava 替代品。
  • 从讨论串里无法确定 Endurain 目前是否支持任何 Fediverse 协议。

名称以及自行车文化的支线讨论

  • 名称“Endurain”因其是“endurance”和一位著名自行车手姓氏的双关而受到称赞;也有人提出其他双关(“endure the rain”“Endurian”)。
  • 一段旁支讨论深入到 1990 年代的自行车生理学、EPO 时代的兴奋剂使用,以及相关健康风险,主要是作为这个名称引用的背景。