升级
tcpfit update新装:
bash <(curl -fsSL https://raw.githubusercontent.com/Kylin010/tcpfit/main/tcpfit.sh)修复
1. sweep 失败时会应用上一次的限速值(重要)
这轮 sweep 因为对端太慢、探测失败、用户取消等原因没跑成时, 旧的 sweep.result 没被清除. 屏幕上写着 "shaping skipped", 实际却读到上次的 RECOMMEND 并把旧限速值应用了上去.
现在参数校验一过就清除, 在任何返回之前. 向导也改成按 sweep 的返回码决定读不读结果.
2. Alpine / BusyBox 兼容
v0.3.9 引入的 timeout --foreground 和 pkill -g 在 BusyBox 上都不存在, 会让 Alpine 上的自动选节点和测速直接失败. 现在启动时探测一次, 不支持就退回到能用的写法; Alpine 装 iperf3 时一并装 coreutils 和 procps.
3. "超出扫描范围" 被说成 "没有限速器"
不限速时明明高丢包、只是没在范围内定位到拐点, 结果页却写 "扫描未发现限速器". 现在分开:
检测到限速迹象, 但未在扫描范围内定位到拐点
扫描未发现限速器, 加整形只会限制自己
继承 v0.3.10
verify 的重传判定改用丢包率, 不再用绝对次数:
< 0.05% 干净
0.05-0.5% 略高, 通常不影响
0.5-1% 偏高, 值得查
> 1% 很糟, 多半撞了限速器或链路有问题
没有应用整形的机器不再被建议 "整形值可能设高了".
回滚
tcpfit rollback
tcpfit shape --off