Skip to content

Releases: realzza/bilibili-accelerator

v0.3.0 — Panel themes and dark mode / 面板主题与深色模式

Choose a tag to compare

@realzza realzza released this 15 Jul 18:22
ccb1c96

v0.3.0 focuses on the in-page panel. It adds a coherent appearance system without changing the acceleration behavior or existing defaults.

What changed

  • Seven accent themes. Choose Bilibili Blue, Teal, Emerald, Violet, Pink, Sunset, or Graphite under Advanced settings → Accent.
  • A proper light/dark panel. The panel follows the system appearance by default and updates when the OS theme changes. Once you choose light or dark from the header, that preference is saved.
  • Cleaner header controls. Theme and language now use the same compact sliding control, with direct access to both settings.
  • Consistent color throughout. The status card, speed chart, switches, action buttons, and floating ⚡ badge all use the same accent and surface tokens, so the panel changes as one system.

Upgrade notes

Existing settings carry over unchanged. If you do not choose a new appearance, the accent remains Bilibili Blue and the panel continues to follow the system theme. Update the userscript or extension, then reload any open Bilibili tabs.

Verified with 51 passing tests, a clean reproducible build, and successful CI on both the pull request and the merged main commit.

Full change set: #19


更新内容(中文)

0.3.0 这次主要收拾面板体验:加速逻辑没有改动,现有配置也会原样保留;变化集中在主题色、明暗模式和顶部交互。

  • 新增 7 套主题色。 在「高级设置 → 主题色」中可选哔哩蓝、青碧、翠绿、星紫、少女粉、落日橙和石墨灰。
  • 补齐深浅色面板。 默认跟随系统,并在系统外观变化时实时切换;从面板顶部手动选择浅色或深色后,会记住你的选择。
  • 统一顶部交互。 主题与语言开关现在使用同一套紧凑的滑动控件,两项设置都可以直接切换。
  • 整套配色同步切换。 状态卡片、速度曲线、开关、操作按钮和悬浮 ⚡ 图标统一走同一套颜色变量,不会再出现只换了一部分颜色的情况。

升级说明

旧配置可以直接沿用。没有手动调整外观时,主题色仍为哔哩蓝,明暗模式继续跟随系统。更新用户脚本或扩展后,刷新已经打开的 B 站页面即可。

本次发布已通过 51 项测试;重新构建的产物与仓库内 dist/ 完全一致,PR 与合并后的 main CI 均已通过。

完整改动见 #19

v0.2.3 — Live-stream safety & smarter probing

Choose a tag to compare

@realzza realzza released this 14 Jul 05:22
800e6ef

A correctness and coverage release: live streams are now safe, server probing got honest, and more PCDN families are caught. No UI changes, no settings changed. Update and reload any open Bilibili tab.

What changed

  • Live streams are now safe. Live playback runs on a separate CDN tier, and the old heuristics could rewrite a live stream's address to a video-on-demand server that can't serve it. Live addresses are now never rewritten; instead, PCDN/MCDN nodes are filtered out of the live room's server list so the live player only connects to official CDN servers (and the last usable server is never removed).
  • Smarter server probing. Probes now read the real HTTP status — a server that fails fast can no longer win the "fastest server" ranking — and stop the download right after timing the response. Previously each probe silently pulled full video segments from every candidate in parallel.
  • More hidden PCDN caught. upos-*302* redirect hosts, the residential-node domains they land on, *.edge.mountaintoys.cn explicitly, and PCDN servers hiding behind mirror-style names — all flagged regardless of port.
  • Fewer escapes. Requests made with URL objects, protocol-relative addresses, bangumi payloads, and legacy durl playlists are all covered now.
  • Stall recovery that keeps trying. Recovery now tracks the server that actually stalled and keeps rotating while buffering persists, instead of switching exactly once.
  • Bandwidth guard hardening. The opt-in guard also disables Bilibili's P2P SDK entry points.

Verified against production: on the known-stuttery test video, the script rewrote 18 URLs from the slow overseas mirror to a healthy one, and the rewritten address served immediately; the live filter was run against a real live-room response and correctly left official servers untouched.


更新内容(中文)

一次正确性与覆盖率升级:直播不再误伤、测速更诚实、识别更多 PCDN 家族。界面与设置均无变化,更新后刷新已打开的 B 站页面即可。

  • 直播不再误伤。 直播走的是独立的 CDN 体系,旧版的启发式规则可能把直播地址改写到根本放不了直播的点播服务器上。现在直播地址一律不改写,改为从直播间的服务器列表里过滤 PCDN/MCDN 节点,让直播播放器只连官方 CDN(且永远不会移除最后一个可用服务器)。
  • 测速更聪明。 探测候选服务器时会读取真实 HTTP 状态——秒回错误的服务器不会再赢得「最快服务器」排名——并在拿到响应后立刻停止下载。旧版每次探测会从所有候选服务器并行拉取完整视频分片。
  • 识别更多隐藏 PCDN。 upos-*302* 跳转节点及其落地的家用宽带域名、明确列入的 *.edge.mountaintoys.cn、伪装成镜像名的 PCDN 服务器——无论端口如何都会被识别。
  • 漏网更少。 URL 对象请求、协议相对地址、番剧返回、老式 durl 播放列表全部覆盖。
  • 卡顿恢复更执着。 现在记录真正卡住的服务器,持续缓冲时不断轮换,而不是只切一次。
  • 带宽保护加固。 可选的带宽保护同时禁用 B 站 P2P SDK 入口。

已对线上环境验证:在已知卡顿的测试视频上,脚本把 18 个地址从慢速海外镜像改写到健康镜像,改写后的地址立即可用;直播过滤器已用真实直播间返回验证,官方服务器不受影响。

v0.2.2 — Speed meter polish

Choose a tag to compare

@realzza realzza released this 07 Jul 23:27
906a0a5

A focused polish of the live speed graph introduced in 0.2.1.

What changed

  • The curve reflects your real speed. Video players download in bursts — they fill the buffer, then pause until it drains. The old meter divided bytes by wall-clock time, so those idle gaps read as 0 Mbps and a fast connection looked like it was constantly stalling. It now measures throughput over the time data is actually flowing, so your link reads high and steady.
  • Smoother, and still honest. During a full buffer the graph holds near your recent measured speed instead of flickering to zero, and eases back down when playback pauses. Every value shown is a real measurement — no inflation.
  • Elastic graph. The curve fills the panel from the first seconds, then settles into a rolling 60-second window once full.

No settings changed. Update and reload any open Bilibili tab.


更新内容(中文)

对 0.2.1 实时速度曲线的一次专注打磨。

  • 曲线更贴近真实网速。 视频播放器是「突发式」下载:先把缓冲填满,再暂停,等缓冲快用完了继续。旧版把字节数除以真实时间,这些空档就显示成 0 Mbps,快网络看起来像在不停卡顿。现在速度按数据真正在传输的时段计算,你的网速会稳定显示为高速。
  • 更顺滑,也依然真实。 缓冲填满时曲线会保持在最近测得的速度附近,而不是频繁掉到 0;暂停播放时则平滑回落。所有显示的数值都是真实测量结果,没有任何虚高。
  • 弹性曲线。 曲线从最初几秒起就撑满整个面板,数据积累够了再固定为 60 秒滚动窗口。

无需改动任何设置。更新后刷新已打开的 B 站页面即可。

v0.2.1 — Live speed graph

Choose a tag to compare

@realzza realzza released this 30 Jun 23:09
ea1b179

English中文见下

⚡ v0.2.1 — Live speed graph

A small upgrade on top of v0.2.0: the panel now shows a real-time download-speed chart so you can see the accelerator working at a glance.

  • Live throughput sparkline, measured from real media-segment timing.
  • Smooth monotone-cubic curve with a gradient fill — the modern sparkline look.
  • Falls back to buffer-health (seconds buffered ahead) when a CDN hides byte sizes.
  • Bilingual labels (中文 / English); minor copy polish across the panel.

Update via your script manager, or grab bilibili-accelerator.user.js below.


⚡ v0.2.1 — 实时速度图

v0.2.0 基础上的小升级:面板新增实时下载速度曲线,一眼就能看出加速是否生效。

  • 实时下载速度曲线,基于真实媒体分片的下载耗时计算。
  • 平滑的单调三次曲线 + 渐变填充,现代化的速度图观感。
  • 当 CDN 不暴露字节数时,自动回退显示缓冲时长(已缓冲秒数)。
  • 中英文标签;面板文案细节打磨。

通过脚本管理器更新,或下载下方的 bilibili-accelerator.user.js


🤖 Released with Claude Code

v0.2.0 — Full upgrade: smarter detection, auto server selection, bilingual UI

Choose a tag to compare

@realzza realzza released this 30 Jun 18:30
ebd30bc

English中文见下

⚡ Bilibili Accelerator v0.2.0 — a full upgrade

Overseas Bilibili shouldn't buffer every few seconds. v0.2 is a ground-up upgrade that catches far more slow servers automatically — and gets out of your way while doing it.

What's new

  • Catches Bilibili's newer hidden PCDN (e.g. *.edge.mountaintoys.cn). Any playback server on an odd port or carrying os=mcdn is treated as slow — no domain list to keep updated.
  • Covers every request path. Adds XMLHttpRequest interception on top of fetch, JSON.parse, and page globals, so quality switches and bangumi no longer slip through.
  • Picks the fastest server for you. Auto-probes candidate servers and remembers the best one for your region, instead of forcing everyone onto one fixed host.
  • Auto-recovers from stalls. If playback buffers, it switches servers live — no page reload.
  • Plain-language panel. One status (Playing smoothly / Finding a faster server), one switch, and a "Boost harder" button that only appears when it's relevant. Every advanced knob is still there under Advanced settings.
  • EN / 中 language toggle in the panel (defaults to English), plus a localized toolbar popup with synced settings.
  • Optional bandwidth guard — stop Bilibili from using your upload via WebRTC P2P (off by default).

Install

Open any video — the ⚡ in the lower-right means it's working.


⚡ Bilibili Accelerator v0.2.0 — 一次大升级

海外看 B 站,不该每隔几秒就转圈。v0.2 是一次彻底升级:自动识别更多慢节点,同时尽量不打扰你。

新功能

  • 能抓 B 站新出的隐藏 PCDN(例如 *.edge.mountaintoys.cn):凡是用了奇怪端口或带 os=mcdn 的播放节点都按慢节点处理,不再依赖一份要不断更新的域名清单。
  • 覆盖所有请求路径:在 fetchJSON.parse、页面全局变量之外,新增 XMLHttpRequest 拦截,切清晰度、看番剧不再漏网。
  • 自动挑最快的服务器:自动探测候选节点,按你所在区域记住最快的那个,而不是把所有人钉死在一个固定地址。
  • 卡顿自动恢复:缓冲时实时切换服务器,无需刷新页面。
  • 大白话面板:一个状态(播放流畅 / 正在找更快的服务器)、一个开关、一个「再加把劲」按钮(只在需要时出现)。所有高级选项都收进 Advanced settings(高级设置)
  • EN / 中 语言切换(默认英文),扩展版还新增了工具栏弹窗与设置同步。
  • 可选的带宽保护:阻止 B 站通过 WebRTC P2P 占用你的上传带宽(默认关闭)。

安装

打开任意视频,右下角出现 ⚡ 就说明已生效。


🤖 Released with Claude Code

v0.1.3 - Lightning icon & fullscreen polish / 闪电图标 & 全屏体验优化

Choose a tag to compare

@realzza realzza released this 28 Jun 19:37
c0dba0f

海外看 B 站加速脚本 v0.1.3 —— 根据开源后用户反馈打磨了右下角悬浮控件的体验,并补充了「软路由」方案的说明。加速核心逻辑未改动,正常 CDN 默认仍不动。

Polish for the floating control based on post–open-source feedback, plus docs for the router-proxy question. The acceleration core is unchanged — healthy CDNs are still left alone by default.


中文

✨ 改进

  • 全新闪电图标:去掉「Bili」文字,右下角只保留一个紧凑的圆形 ⚡ 小标,更小、更不挡画面。
  • 网页全屏不再挡视频:进入网页全屏后小标自动淡出;把鼠标移到右下角即可重新唤出,停手几秒后再次淡出,手感和播放器自带控件一致。真全屏下同样隐藏。
  • 不再压住「全屏」按钮:当播放器铺满整个窗口(网页全屏 / 宽屏 / 全屏)时,小标会自动抬高到控件栏之上,不再遮挡右下角的全屏 / 网页全屏按钮。
  • 点击面板外即可关闭:打开设置面板后,点击页面任意空白处就能收起,不必再去点「Close」。

📄 文档

  • 新增 docs/router-proxy.md:说明「软路由 / Apple TV / 手机 App 加速」的可行性与限制——HTTPS 中间人需逐台设备安装根证书,且原生 App 多有证书固定,基本无法生效;网页端虽可行,但直接装脚本更简单。

🔧 其他

  • 版本号升至 0.1.3(用户脚本与扩展 manifest 同步更新)。

English

✨ Improvements

  • New lightning icon: dropped the "Bili" text label — the lower-right control is now a compact round ⚡ badge that covers less of the video.
  • Web fullscreen no longer blocks the video: the badge auto-hides in web fullscreen and fades back in when you move the cursor to the bottom-right corner, then hides again after a short idle — mirroring the player's own controls. True fullscreen hides it too.
  • No longer covers the 全屏 (fullscreen) button: when the player fills the window (web / wide / true fullscreen), the badge lifts above the control bar so it never sits on the fullscreen / web-fullscreen buttons.
  • Click outside to close the panel: with the settings panel open, clicking anywhere outside it dismisses it — no need to reach for "Close".

📄 Docs

  • Added docs/router-proxy.md: feasibility and limits of router-level acceleration for Apple TV / mobile apps — HTTPS MITM needs a per-device root CA and the native app likely pins certificates, so it generally won't work; the browser case is doable but installing the userscript is simpler.

🔧 Misc

  • Version bump to 0.1.3 (userscript + extension manifest).

安装 / Install: Greasy Fork · .user.js · GitHub Raw

v0.1.2 - Polished floating UI

Choose a tag to compare

@realzza realzza released this 10 Jun 09:16
ea9ca96

Changes

  • Replaces the old BA square with a polished floating pill control
  • Redesigns the settings panel with status, compact controls, and switch-style toggles
  • Fixes Shadow DOM status rendering for rewrite counts and last rewrite details
  • Keeps userscript and WebExtension builds in sync

Install

Greasy Fork: https://greasyfork.org/en/scripts/582026-bilibili-accelerator

Direct userscript: https://update.greasyfork.org/scripts/582026/Bilibili%20Accelerator.user.js

v0.1.1 - Tampermonkey-ready userscript

Choose a tag to compare

@realzza realzza released this 10 Jun 08:51
3946dff

Install

Open this raw userscript URL with Tampermonkey, Violentmonkey, or Safari Userscripts:

https://raw.githubusercontent.com/realzza/bilibili-accelerator/main/dist/bilibili-accelerator.user.js

Changes

  • Adds public userscript metadata for script managers
  • Adds MIT license
  • Bumps userscript and extension version to 0.1.1
  • Documents GitHub raw install flow

Greasy Fork publishing is prepared, but requires Greasy Fork account login/OAuth.