Skip to content

Release v2.1.0 - 自动提速状态检测

Choose a tag to compare

@nick3 nick3 released this 12 Nov 11:52
· 4 commits to main since this release

SpeedTestUp v2.1.0 发布

🎉 新功能

✨ 自动提速状态检测

本次更新解决了长期运行后提速失效无法自动恢复的关键问题!

核心改进:

  1. 智能状态检测

    • 每2小时自动检查提速状态(可配置)
    • 检测到提速失效时立即自动重新提速
    • 无需重启程序,无需手动干预
  2. 灵活的配置选项

    • 新增 status_check_interval 配置项
    • 支持自定义检查间隔(建议2-6小时)
    • 最长限制24小时,确保每天至少检查一次
  3. 优化的检测算法

    • 智能判断何时需要检查状态,避免频繁调用API
    • 基于心跳检测频率自动计算检查时机
    • 性能影响极小

🔧 API兼容性修复 (新增)

🐛 修复JSON解析错误

问题:部分API返回的时间戳字段可能为数字类型,而代码中定义为字符串类型,导致JSON解析失败。

修复内容:

  • 将 *ExpireT 字段类型从 string 改为 json.Number
  • 更新 parseTimestamp 函数,支持 json.Number 类型
  • 正确处理 "false" 值(表示未开通提速)
  • 重写测试文件,更新mock数据结构

错误信息:

json: cannot unmarshal number into Go struct field .data.downExpireT of type string

影响:修复后程序能够正确处理API返回的数字和字符串两种格式的时间戳,提高API兼容性。

📝 配置示例

{
  "speedup": {
    "enabled": true,                      // 启用提速服务
    "check_interval": "10m",              // 心跳检测间隔
    "status_check_interval": "2h",        // ✅ 新增:提速状态检查间隔
    "reopen_schedule": "0 0 * * 1",       // 每周一定时任务
    "ip_binding": {
      "enabled": false,
      "interface": "wan",
      "bind_ip": ""
    },
    "auto_recovery": {
      "enabled": true,
      "max_retries": 3,
      "retry_interval": "5m"
    },
    "self_check": {
      "enabled": true,
      "interval": "168h"
    },
    "down_acc": true,
    "up_acc": true,
    "logging": false,
    "verbose": false
  }
}

🔧 工作原理

心跳检测 (每10分钟)
  ↓
├─ IP变化? → 立即重新提速
  ↓
├─ 到达状态检查时间? (每2小时)
  ↓        ↓
  │        ├─ 查询提速状态
  │        ↓
  │        ├─ 提速有效? → 继续监控
  │        ↓
  │        └─ 提速失效? → 自动重新提速
  ↓
└─ 验证IP绑定状态

🚀 使用建议

  • 默认检查间隔: 2小时(平衡及时性和API调用频率)
  • 网络不稳定: 可缩短至1-2小时
  • 网络很稳定: 可延长至4-6小时

📊 性能影响

  • CPU占用: 极低(仅在检查时增加)
  • API调用: 每2小时额外1-2次查询调用
  • 内存占用: 无显著增加

💡 你将获得

✅ 无需重启: 提速失效后自动恢复
✅ 持续提速: 24/7不间断监控
✅ 智能高效: 仅在需要时检查状态
✅ 灵活可控: 可自定义检查频率
✅ API兼容: 支持多种数据格式

🐛 修复的问题

  • 修复了长时间运行后提速失效的问题
  • 修复了必须重启程序才能恢复提速的问题
  • 修复了JSON解析错误(时间戳字段类型不匹配)
  • 提升了网络提速的稳定性和可靠性

📚 相关文档

🔗 下载


完整更新日志: 查看提交历史

🤖 本次发布由 Claude Code 协助完成