Speedtest Tracker + Server酱:家庭宽带定时测速结果推送到微信

效果:Speedtest Tracker 每次完成定时测速后,自动将速率、延迟等结果推送到你的微信。

前置条件

  • 一个 Server酱 SendKey(30 秒获取教程)。注意:Apprise 的 schan:// 协议仅支持 SCT 开头的 SendKey,不支持 sctp 开头的 key。
  • 一个已运行的 Speedtest Tracker 实例(alexjustesen/speedtest-tracker)。

配置步骤

1. 准备 Apprise URL

获取 SCT 开头的 SendKey 后,拼接成 Apprise 协议 URL:

schan://你的SENDKEY

你的SENDKEY 替换为实际 SendKey。schan:// 是 Apprise 中 Server酱 的专用协议。

2. 在 Speedtest Tracker 中添加通知渠道

进入 Speedtest Tracker 管理后台,依次打开 Admin → Settings → Notifications → Apprise,在 URL 输入框中填入上面的 schan://你的SENDKEY,保存设置。

3. 命令行验证(可选)

配置 UI 之前,可先用命令行验证 SendKey 和协议是否可用:

pip install apprise && apprise -t "测试" -b "正文" "schan://你的SENDKEY"

收到微信推送说明配置无误,再回到 UI 中填入即可。

4. 配置通知触发规则

测速结果的通知触发条件(如阈值告警、每次测速都推送等)以应用内实际显示为准,根据需要开启对应开关。

如需将消息推送到企业微信、钉钉或飞书群,参见通道配置说明。通用 Apprise 接法详见 Apprise 接入 Server酱

完整示例

以下是一次完整的命令行验证流程,复制后替换 SendKey 即可运行:

# 安装 apprise
pip install apprise

# 发送测试消息
apprise -t "【测试】Speedtest Tracker 通知" -b "这是一条来自 Server酱的测试消息" "schan://你的SENDKEY"

验证通过后,将同一个 schan://你的SENDKEY 填入 Speedtest Tracker 的 Apprise URL 字段即可。

常见问题

每天能发多少条消息?

免费额度为每天 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

消息没收到怎么办?

先检查 SendKey 是否以 SCT 开头(sctp 开头的 key 不支持 schan:// 协议),再用命令行验证。更多排查步骤见常见问题与排查

测速频率高会触发限制吗?

Speedtest Tracker 的定时测速间隔如果较短,叠加每次测速都推送通知,可能触达每分钟 50 条的频率限制。建议根据实际需要调整推送频率或仅推送异常结果。

sctp 开头的 SendKey 能用吗?

不能。Apprise 的 schan:// 协议仅支持 SCT 开头的 SendKey。如果你的 SendKey 以 sctp 开头,请改用直接调用 API 的方式接入。

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。