BiliBoost
一个让海外网络流畅看 B 站的 Tampermonkey 脚本:探测 CDN 节点、并行分段拉流,4K 也能顺畅播放。
- 类型
- 个人工具
- 年份
- 2026
- 角色
- 独立
- 技术栈
- JavaScript · Tampermonkey · Streams API
用途
在海外看 B 站,总是会出现明明带宽足够,却加载非常卡顿的情况。千兆的网络,却连 1080P 视频都没办法正常观看,常常出现播放数秒又重新进行缓冲,或缓冲始终无速度的问题。部分热门视频不会出现这个问题,因为它们已经在边缘缓存里;冷门视频则缓存未命中,主备两个节点双双超时,导致非常糟糕的播放体验。GitHub 有很多开源项目,采用更换 CDN 的方法来改善这样的体验。但是跨境线路单线路始终有缓冲速度的上限,对于高码率视频,并没有什么效果。所以我做了 BiliBoost,它采用聚合缓冲来提高缓冲速度的上限,同时优选 CDN,让其发挥更好的效果。
BiliBoost 是一个单文件js,在浏览器内部同时解决这两个问题。直接通过 Tampermonkey 来使用。
优选节点
候选节点用两点采样法探测:同时测文件头部和文件深处的一段偏移。只缓存了前几兆的节点,在只测文件头的探测下看起来很快,播到一半就会卡住;加测一段远端范围,就能在播放器提交节点之前把这类假阳性过滤掉。
绕过单连接限速
限速按连接计算,所以脚本把大的媒体请求拆成多个字节区间,最多同时从四个节点并行拉取,再按正确的回压把分片拼回一条流。实测下来,原本在无脚本的情况下单流约 2 Mbps 的链路可以聚合到 22 到 103 Mbps。
延迟用同样的思路处理。如果一个节点约 900 毫秒还没返回,就发一条请求让备用节点与其竞争,谁先响应用谁。
在缓存未命中时
节点 404 或卡死时,播放沿候选链依次回退,同时在后台为下一段预热更优节点。在比较极端的工况下,过去要等 37 秒才能起播的冷门视频,现在约 250 毫秒开播,4K 也完全没问题。
脚本的测试地点位于美西加州的网络环境,具体的 CDN 优选策略可能在该地表现更佳,其他地方尚未测试。
使用案例
- 01
安装 Tampermonkey
给浏览器装上 Tampermonkey 扩展。
- 02
导入脚本
把仓库里的 bilibili-cdn-optimizer.user.js 导入 Tampermonkey,无需额外配置。
- 03
打开视频
脚本在播放视频时自动运行。
- 04
需要时看面板
悬浮面板显示实时吞吐量和各节点健康状态,可以测速、手动选节点、导出诊断报告;设置保存在 localStorage。