Release v2.1.0 - 自动提速状态检测
SpeedTestUp v2.1.0 发布
🎉 新功能
✨ 自动提速状态检测
本次更新解决了长期运行后提速失效无法自动恢复的关键问题!
核心改进:
-
智能状态检测
- 每2小时自动检查提速状态(可配置)
- 检测到提速失效时立即自动重新提速
- 无需重启程序,无需手动干预
-
灵活的配置选项
- 新增
status_check_interval配置项 - 支持自定义检查间隔(建议2-6小时)
- 最长限制24小时,确保每天至少检查一次
- 新增
-
优化的检测算法
- 智能判断何时需要检查状态,避免频繁调用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解析错误(时间戳字段类型不匹配)
- 提升了网络提速的稳定性和可靠性
📚 相关文档
🔗 下载
- 源代码: Source code (zip)
- 源代码: Source code (tar.gz)
完整更新日志: 查看提交历史
🤖 本次发布由 Claude Code 协助完成