本地 B 站 CDN 选路工具:浏览器 2.5.1 已在 Chrome 商店上架,支持 Chrome / Edge 安装并保留 ZIP 备用;手机端 0.5.5 仍为待真机验证的候选版。A local Bilibili CDN routing tool: browser v2.5.1 is available in the Chrome Web Store for Chrome and Edge, with a ZIP fallback. Mobile v0.5.5 remains a candidate awaiting physical-device validation.
Install / Browser 2.5.1 · Mobile 0.5.5 Candidate
选择你的设备。Choose your device.
浏览器版与手机端是两套独立实现;测速、选路与状态处理均在设备本地完成。The browser and mobile editions are separate implementations. Measurement, routing, and state handling all happen on your device.
个别视频仍可能慢开播;本轮仅做有限验证,不能保证所有视频不卡顿。Some videos may still start slowly. This delivery has limited validation and cannot guarantee smooth playback for every video.
01 / Browser · v2.5.1
Chrome / Edge
2.5.1 已在 Chrome 商店公开发布,Chrome 与 Edge 均可从商店安装;不需要开发者模式、代理或证书。ZIP 保留为备用。Version 2.5.1 is publicly available in the Chrome Web Store for Chrome and Edge. No Developer mode, proxy, or certificate is required. The ZIP remains a fallback.
0.5.5 是待真机验证的手机媒体候选版;普通 bilivideo、精确 Akamai、MCDN 的视频与音频首条请求统一直接优先 08ct,同时保留有限回退。选择一款已有客户端并只导入一项模块;项目不提供代理节点或订阅。Version 0.5.5 is a mobile-media candidate awaiting physical-device validation. The first ordinary bilivideo, exact Akamai, and MCDN video or audio request now directly prefers 08ct, with bounded fallback retained. Choose one existing client and import one module only. The project provides no proxy nodes or subscriptions.
签名快捷指令只调用 iOS 原生“连接 VPN”动作。它是可选项,安装后仍需由你创建个人自动化。The signed shortcut only calls the native iOS “Connect VPN” action. It is optional, and you still create the personal automation yourself.
0.5.5 本机脚本会接管这些专用路径。若看到真实网站的 404,说明请求没有被本机控制脚本命中,不算成功。The v0.5.5 local script intercepts these dedicated paths. A 404 from the real website means the local control script did not match the request and is not a success.
Guide / Chrome · Edge · v2.5.1
浏览器版:从商店安装。Browser edition: install from the store.
2.5.1 已公开上架,但并非“全部验收通过的稳定版”。它优先近期可信缓存,否则从常用 08CT 开始;健康线路会保持,真实失败时有限轮换,并仅在安全缓冲后按条件轻量复核。Version 2.5.1 is publicly listed, but is not a fully accepted stable release. It prefers a recent trusted cache, otherwise starts from the commonly used 08CT route, keeps a healthy route, rotates through a bounded set after real failures, and performs conditional light checks only after safe buffering.
01
打开 Bilibili-oversea 商店详情Open Bilibili-oversea in the store
在电脑的 Chrome 或 Edge 中打开下方链接,核对名称为 Bilibili-oversea。Edge 使用同一个 Chrome 商店入口,独立 Edge 商店尚未上架。Open the link below in desktop Chrome or Edge and check the name Bilibili-oversea. Edge uses the same Chrome Web Store listing; a separate Edge Add-ons listing is not available yet.
若已加载 ZIP 或旧候选版,先在扩展管理页停用它,再安装商店版;旧文件夹可保留作回退。同时停用其他 B 站 CDN 切换扩展,避免多个版本重复处理。首次安装可直接下一步。If you use an unpacked ZIP or an older candidate, disable it in the extension manager before installing the store edition. Keep the old folder for rollback. Also disable other Bilibili CDN-switching extensions to avoid duplicate handling. First-time users can continue to the next step.
03
按浏览器提示确认安装Confirm installation in your browser
Google Chrome
点击“添加至 Chrome”。Select “Add to Chrome”.
阅读权限提示,确认后选择“添加扩展程序”。Review the permissions, then select “Add extension” to confirm.
Microsoft Edge
若出现“允许来自其他商店的扩展”,按提示允许。If prompted, allow extensions from other stores.
点击商店安装按钮,阅读权限并选择“添加扩展”。无需开启开发人员模式。Select the store's install button, review the permissions, and choose “Add extension”. Developer mode is not needed.
商店无法访问时,可展开下方 ZIP 备用安装。If the store is unavailable, use the ZIP fallback below.
04
刷新视频页并核对 2.5.1Refresh the video page and check v2.5.1
刷新已打开的 B 站视频页,再点击工具栏图标,确认版本为 2.5.1,并查看播放状态与实际线路。扩展不会在安装后自动弹窗,这是正常行为。Refresh any open Bilibili video page, then select the toolbar icon. Confirm version 2.5.1 and inspect playback and actual-route status. The extension does not open its panel automatically after installation; this is expected.
ZIP 备用安装与 SHA-256ZIP fallback installation and SHA-256
仅在需要手动安装时使用。下载后完整解压到固定目录,确认目录直接包含 manifest.json、src 和 assets,不要直接加载 ZIP。Use this only when you need a manual installation. Fully extract the download into a stable folder containing manifest.json, src, and assets. Do not load the ZIP itself.
在地址栏输入 chrome://extensions 或 edge://extensions,开启开发者模式,选择“加载已解压的扩展程序”或“加载解压缩的扩展”,再选中含 manifest.json 的目录。只保留一个版本启用,并刷新视频页。Enter chrome://extensions or edge://extensions in the address bar, enable Developer mode, select “Load unpacked”, and choose the folder containing manifest.json. Keep only one version enabled and refresh the video page.
商店版由浏览器管理更新。若需回退到保留的 ZIP,先停用商店版,再按备用说明加载旧目录并刷新视频页。不要同时启用两个版本;历史 2.2.0 只作为旧版本记录。The browser manages updates for the store edition. To return to a retained ZIP, disable the store edition first, load the old folder using the fallback instructions, and refresh the video page. Never enable both copies; v2.2.0 remains only as a historical record.
为什么常用 08CT?Why is 08CT commonly used?
自动模式优先近期可信缓存,否则默认从 08CT 开始。健康线路优先保持;08CT 被禁用或已有失败证据时可回到原始线路。它不是每次测速后宣称的“最快节点”。Automatic mode prefers a recent trusted cache; otherwise it starts from 08CT. A healthy route is retained, while a disabled or evidenced-failing 08CT may fall back to the original route. It is not claimed to be the fastest result of a benchmark on every play.
“未测速”是什么意思?What does “not measured” mean?
它只表示没有对应实测证据,不等于不可用或从未尝试。500 余目录项不会每次全部测速,也不代表全部可用;选中线路、收到真实媒体响应、连续播放成功是不同状态。It only means there is no matching measurement evidence; it does not mean unusable or never attempted. The 500-plus catalog entries are neither all tested on every play nor all guaranteed available. Route selection, a real media response, and sustained playback are distinct states.
卡顿时怎么办?What should I do if playback stalls?
在出问题的视频页打开面板并“复制诊断”,保留版本、画质与症状;再选择原始线路或停用扩展作对比。复制内容不会自动上传,也不需要反复测速或拖动来证明成功。On the affected video page, open the panel and use “Copy diagnostics”; keep the version, quality, and symptoms. Then compare with the original route or with the extension disabled. Copying does not upload anything, and you do not need repeated retests or seeking to prove success.
状态、手动控制与验证含义Status, manual controls, and verification meanings
面板与手动控制Panel and manual controls
自动模式恢复自动选路;手动测速是用户主动发起的额外比较;原始线路会撤销当前标签页的重定向。手动固定、当前实际线路和可用证据应分别理解。Automatic mode restores automatic routing; a manual retest is an extra comparison you explicitly request; Original route removes redirection for the current tab. A manual choice, the actual current route, and availability evidence are separate states.
怎样判断实际状态How to read actual state
以面板中的实际媒体线路、真实响应和播放状态为准。匿名预连接只进行 DNS/连接握手,不带媒体路径、签名或 Cookie,也不等于测速成功。首帧前故障恢复本身不新增测速或重建播放器。Use the panel's actual media route, real responses, and playback state. Anonymous preconnect performs only DNS/connection setup without a media path, signature, or cookie; it is not a successful measurement. Pre-first-frame fault recovery itself does not add a benchmark or rebuild the player.
版本记录与验证范围Release notes and validation scope
2.5.1 固定为 r19 运行代码。有限复测中,两条自有短视频以最高可用 AVC 1080P60 完整播放且未记录目标卡顿,首显示帧为 6.385 / 11.139 秒;样本很小,不能据此宣称普遍更快。完整验收仍未通过,长视频、关页重开、最终原生弹窗/BFCache 和 iPhone 真机未覆盖。Version 2.5.1 freezes the r19 runtime. In the limited rerun, two own short videos completed at their highest available AVC 1080P60 tier without a recorded target stall; first displayed frames were 6.385 / 11.139 seconds. The sample is too small for a universal speed claim. Full acceptance still did not pass, and long videos, close-and-reopen behavior, the final native panel/BFCache, and physical iPhone testing were not covered.
浏览器版权限与数据边界Browser permissions and data boundaries
权限为 activeTab、declarativeNetRequestWithHostAccess、storage、webRequest,主机范围限于 B 站页面、媒体域名与精确的 upos-hz-mirrorakam.akamaized.net;不申请代理、Cookie、浏览历史或所有网站权限。Permissions are activeTab, declarativeNetRequestWithHostAccess, storage, and webRequest. Host access is limited to Bilibili pages, media hosts, and the exact upos-hz-mirrorakam.akamaized.net host; it does not request proxy, cookie, browsing-history, or all-sites access.
设置与有时限的测量摘要保存在本机;完整媒体 URL 与签名仅在当前标签页和后台临时处理,不写入持久缓存。“复制诊断”会脱敏且不会自动上传。Settings and time-bounded measurement summaries stay locally. Full media URLs and signatures are handled temporarily in the current tab and background, never persisted. “Copy diagnostics” is redacted and does not upload automatically.
正常播放、测速和备用尝试仍会让媒体 CDN 看到正常的 IP、媒体路径与请求签名。安全缓冲后的条件性复核或手动测速可能产生额外流量;“不向开发者上传”不表示“不访问网络”。Normal playback, measurements, and fallback attempts still expose the ordinary IP, media path, and request signature to the media CDN. Conditional checks after safe buffering and manual retests may add traffic. “No upload to the developer” does not mean “no network access.”
记录版本、视频、画质、时间点与症状,复制一次脱敏诊断;随后分别测试原始线路或停用扩展。商店版安装有问题时,先核对浏览器与商店的具体提示;若使用 ZIP 备用安装且提示扩展损坏,再重新完整解压,并确认加载的是包含 manifest.json 的目录。不要以反复拖动或不断重测替代真实播放观察。Record the version, video, quality, time, and symptoms, then copy one redacted diagnostic. Compare with the original route or the extension disabled. For store-installation issues, check the browser and store messages first. If a ZIP fallback reports a damaged extension, fully extract it again and load the directory containing manifest.json. Do not replace real playback observation with repeated seeking or constant retesting.
Guide / iPhone · iPad · v0.5.5 Candidate
手机媒体候选版:安装并完成一次五步验证。Mobile-media candidate: install and complete one five-step check.
0.5.5 采用 desktop-like-passive-first:普通 bilivideo、精确 Akamai、MCDN 的视频与音频首条请求统一直接优先 08ct(仍尊重自定义线路),不在开播前等待测速或原路参考。交付方报告 63 项本地 Node/VM 手机回归与最终 8 项控制复核通过;这是交付自动化证据,不是真机播放验收。playbackHealthObservable: false、inFlightRecoverySupported: false、physicalIPhoneAcceptancePassed: false,不能据此宣称真实手机卡顿已经改善。Version 0.5.5 uses desktop-like-passive-first: the first ordinary bilivideo, exact Akamai, and MCDN video or audio request directly prefers 08ct while respecting a custom route, without waiting for a benchmark or original-route reference before playback. The delivery reports 63 local Node/VM mobile regression checks and a final 8 control rechecks passing. This is delivery automation evidence, not physical-device playback acceptance. playbackHealthObservable: false, inFlightRecoverySupported: false, and physicalIPhoneAcceptancePassed: false, so this does not establish that real-phone stalls improved.
01
停用旧版并导入 0.5.5 候选Disable the old copy and import the v0.5.5 candidate
只选择你已有的 Surge、Loon、Shadowrocket、Stash 或 Quantumult X。先停用旧模块并保留作回退,再使用页面顶部按钮导入 0.5.5;只启用 0.5.5,不要同时启用多个版本。Quantumult X 仍需手动合并。Use only one client you already have: Surge, Loon, Shadowrocket, Stash, or Quantumult X. Disable the old module and retain it for rollback, then import v0.5.5 with the matching button above. Enable only v0.5.5 and never enable multiple versions together. Quantumult X still requires a manual merge.
重新使用配置并确认自己的 CAReapply the profile and confirm your own CA
Shadowrocket 中进入 Config/配置 → 当前带 ✓ 的配置文件 → 使用配置,确认模块实际引用的四个脚本均来自 mobile-0.5.5。自己的 CA 若已安装并完全信任,无需重装;保持 HTTPS Decryption/MITM 开启。精确域名 limitedrush.online 的全部 HTTPS 会在本机解密,只有 /bili-cdn-auto/ 专用路径执行控制。In Shadowrocket, open Config → the currently checked profile → Use Config, then confirm that all four scripts actually referenced by the module come from mobile-0.5.5. If your own CA is already installed and fully trusted, do not reinstall it; keep HTTPS Decryption/MITM enabled. All HTTPS traffic for the exact limitedrush.online hostname is decrypted locally, while only dedicated /bili-cdn-auto/ paths execute controls.
03
重连并核对本机状态Reconnect and check local status
断开后重新连接客户端;只有原来处于固定或原始模式时,才打开一次顶部“自动模式”,随后回到只读的“查看状态”。自动模式会重置状态,不能当状态页反复点击;“重新测速”只安排下一条视频请求显式复核,控制请求本身不测速。成功的本机 JSON 必须同时包含 ok: true、local: true、service: "bili-cdn-auto" 和 controlVersion: "0.5.5";真实网站 404 不算成功,本机控制成功也不证明媒体脚本已执行。Disconnect and reconnect the client. Only if it was previously in a fixed or original mode, open “Automatic mode” above once, then return to the read-only “View status” page. Automatic mode resets state and must not be repeatedly used as a status page. “Retest” only schedules an explicit review on the next video request; the control request itself does not measure. A successful local JSON response must contain ok: true, local: true, service: "bili-cdn-auto", and controlVersion: "0.5.5" together. A real-site 404 is not success, and successful local control still does not prove the media script ran.
04
播放 30–60 秒未完整缓存的视频Play a not-fully-cached video for 30–60 seconds
可播放用户报告的 BV1HrHC6SEEc 或此前卡顿、未完整缓存的视频 30–60 秒,留意缓冲耗尽后的速度与恢复;无需大量重复播放。首条媒体请求直接优先 08ct,不在开播前等待测速或原路参考;这只是 URL 选路行为。手机脚本不能观察 App 的缓冲或画面进度,也不能取消或直接救回已经卡住的在途下载。You may play the user-reported BV1HrHC6SEEc or another previously stalling, not-fully-cached video for 30–60 seconds, and observe speed and recovery after buffered content is exhausted; extensive repetition is unnecessary. The first media request directly prefers 08ct without waiting for a benchmark or original-route reference before playback; this is only URL-routing behavior. The mobile script cannot observe app buffer or frame progress and cannot cancel or directly recover an in-flight download that is already stuck.
05
刷新状态并保存分轨诊断Refresh status and save track-specific diagnostics
刷新只读的“查看状态”;它不会写缓存或触发测速。视频与音频仍分别保存在 videoDiagnostics 和 audioDiagnostics,后来的音频不会覆盖视频记录;新版尚未执行或无法归属的轨道为 null,用 videoDiagnostics.streamCode 核对视频分类。确认新请求的 videoDiagnostics.mediaVersion 为 0.5.5,并查看 videoDiagnostics.routingPolicy、videoDiagnostics.reason、videoDiagnostics.routeProvisional、videoDiagnostics.verificationBasis、videoDiagnostics.referenceVerified、videoDiagnostics.probeRangeStart、videoDiagnostics.nextReviewAt 与 videoDiagnostics.decisionCompletedAt。这些分轨字段描述 URL 决策,不是媒体传输完成或实时缓冲。再结合顶层 scores 的 resourceTag、stage、sampledAt、rangeStart、rangeValidated、capacityKnown 与 verified;它不自动属于最新视频。顶层媒体字段仍是最新一次请求,最新音频请求不能代替视频判断;lastResponseStatus 为 200/206 也不证明持续速度恢复或整段不卡。Refresh the read-only “View status” page; it neither writes cache nor starts a measurement. Video and audio remain separate in videoDiagnostics and audioDiagnostics, so a later audio request does not overwrite the video record. A track that has not run in the new version or cannot be attributed remains null; use videoDiagnostics.streamCode to check video classification. Confirm that the new request has videoDiagnostics.mediaVersion set to 0.5.5, then inspect videoDiagnostics.routingPolicy, videoDiagnostics.reason, videoDiagnostics.routeProvisional, videoDiagnostics.verificationBasis, videoDiagnostics.referenceVerified, videoDiagnostics.probeRangeStart, videoDiagnostics.nextReviewAt, and videoDiagnostics.decisionCompletedAt within that track. These track-specific fields describe URL decisions, not media-transfer completion or real-time buffering. Then consider the top-level scores fields resourceTag, stage, sampledAt, rangeStart, rangeValidated, capacityKnown, and verified; the list does not automatically belong to the latest video. Top-level media fields still describe the latest request, so the latest audio request cannot replace the video assessment. A lastResponseStatus of 200 or 206 does not prove sustained-speed recovery or stall-free playback.
可选:个人自动化与快捷指令Optional: personal automation and shortcut
安装签名快捷指令Install the signed shortcut
快捷指令仅使用 iOS 原生“连接 VPN”动作;首次运行时由你选择正确的现有配置。多 VPN 环境中请核对选择。The shortcut only uses the native iOS “Connect VPN” action. On first run, choose the correct existing profile yourself; verify the selection when multiple VPNs exist.
创建“打开 App”个人自动化Create an “App is opened” personal automation
在快捷指令 App 中创建由“哔哩哔哩打开时”触发的个人自动化,动作设为运行上述快捷指令,并按你的 iOS 版本选择立即运行。菜单名称可能随系统版本变化。In Shortcuts, create a personal automation triggered when Bilibili opens, run the shortcut above, and choose immediate execution if your iOS version offers it. Menu wording may vary by system version.
候选机制、隐私、排查与回退Candidate mechanics, privacy, troubleshooting, and rollback
媒体候选怎样验证How media candidates are verified
desktop-like-passive-first 让普通 bilivideo、精确 Akamai、MCDN 的视频与音频首条请求统一直接优先 08ct,同时尊重自定义线路;开播前不等待测速或原路参考。首次路由为 provisional,不会虚构已验证状态或 scores。同一资源的稳定线路会保持;视频缓存最多记录 8 个资源并保留 5 分钟,到期时先复核当前线路,不强制回到 08ct,失败资源彼此隔离。desktop-like-passive-first makes the first ordinary bilivideo, exact Akamai, and MCDN video or audio request directly prefer 08ct while respecting a custom route; it does not wait for a benchmark or original-route reference before playback. The first route is provisional and does not fabricate verified state or scores. A stable route is retained for the same resource. The video cache holds at most 8 resources for 5 minutes; expiry reviews the current route first rather than forcing 08ct, and failed resources remain isolated.
403、404、416 或 429 会让后续请求立即进入有限备用队列;5xx 默认须在 30 秒内连续失败两次才触发,200/206 会清零,队列耗尽则回到原始线路。音频不会测速、与视频竞速或定时复核。视频在 15 秒后由下一条请求复核;合格线路保持 45 秒,低速或尾部样本保持 15 秒。复核当前线路使用 512 KiB 样本,不再请求原始 Akamai 参考;低速或失败时最多尝试两个备选。750 ms 时可以启动 hedge,但仍等当前线路完成或共享的 1950 ms 预算到期,再统一校验。An HTTP 403, 404, 416, or 429 sends a later request into the bounded fallback queue immediately. A 5xx response requires two consecutive failures within 30 seconds by default, while 200/206 clears the count; exhaustion returns to the original route. Audio does not benchmark, race video, or run timed review. Video review is triggered by the next request after 15 seconds. A qualified route remains valid for 45 seconds, while a slow or tail sample remains valid for 15 seconds. Review samples the current route with 512 KiB without requesting an original Akamai reference and tests at most two fallbacks after a slow or failed sample. A hedge may start at 750 ms, but validation still waits until the current route completes or the shared 1950 ms budget expires.
完整 512 KiB、至少 3200 kbps、备选至少 1.5 倍更快和 30 秒冷却都只是本轮启发式门槛,不是视频码率、持续带宽或真机流畅保证。复核请求仍可能带来约 2 秒等待与额外流量。当前线路与备选都有样本时,返回区段、文件总长和参考字节必须一致,已知不匹配就拒绝。当前线路没有样本时,可选择通过 206/Range 校验且容量达标的 provisional 备选,但不能记为 verified;复核不再要求原始 Akamai 参考。A complete 512 KiB sample, at least 3200 kbps, a fallback at least 1.5 times faster, and a 30-second cooldown are only heuristics for this decision round, not the video's bitrate, sustained bandwidth, or a guarantee of smooth physical-device playback. Review may still add about two seconds of waiting and traffic. When both the current route and a fallback have samples, their returned range, total length, and reference bytes must match; a known mismatch is rejected. If the current route has no sample, a fallback that passes HTTP 206/Range validation and the capacity threshold may be selected provisionally, but cannot be marked verified. Review no longer requires an original Akamai reference.
videoDiagnostics.routingPolicy 在本轮应为 desktop-like-passive-first;videoDiagnostics.reason 的主要值包括 preferred-route-direct、stable-resource-route、http-failure-priority-fallback、current-route-reviewed 与 range-qualified-fallback。videoDiagnostics.routeProvisional 标出尚未完成兼容验证的路由;videoDiagnostics.verificationBasis 可为 none、range-only 或 current-route-byte-match。videoDiagnostics.referenceVerified 表示当前线路与备选样本的兼容比较,不再表示 Akamai 原始线路参考。videoDiagnostics.routingPolicy should be desktop-like-passive-first in this release. Primary videoDiagnostics.reason values include preferred-route-direct, stable-resource-route, http-failure-priority-fallback, current-route-reviewed, and range-qualified-fallback. videoDiagnostics.routeProvisional marks a route whose compatibility validation is incomplete. videoDiagnostics.verificationBasis may be none, range-only, or current-route-byte-match. videoDiagnostics.referenceVerified now describes compatibility between the current-route and fallback samples, not an original-route Akamai reference.
videoDiagnostics.probeRangeStart 是抽样起点,videoDiagnostics.nextReviewAt 是下一条请求可复核的最早时刻,videoDiagnostics.decisionCompletedAt 只表示 URL 决策完成;都不表示媒体传输完成。顶层 scores 是最近抽样列表,应结合 resourceTag、stage、sampledAt、rangeStart、rangeValidated、capacityKnown 与 verified 判断,不自动属于最新视频。lastResponseStatus 为 200/206 只表示 HTTP 状态,不证明持续速度或不卡顿。三个 false 标志明确表示脚本看不到 App 缓冲、不能直接救援在途下载且未通过真机验收;若没有 0.5.5 视频记录,先核对新版模块、当前配置、HTTPS 解密与自有证书。videoDiagnostics.probeRangeStart is the sample start, videoDiagnostics.nextReviewAt is the earliest time a later request may review the route, and videoDiagnostics.decisionCompletedAt only marks completion of the URL decision; none means media transfer completed. Top-level scores is the most recent sample list. Interpret resourceTag, stage, sampledAt, rangeStart, rangeValidated, capacityKnown, and verified together; it does not automatically belong to the latest video. A lastResponseStatus of 200 or 206 records only HTTP status and does not prove sustained speed or stall-free playback. The three false flags state that the script cannot observe app buffering, cannot directly recover an in-flight download, and has not passed physical-device acceptance. If there is no v0.5.5 video record, confirm the new module, active profile, HTTPS decryption, and your own trusted certificate.
媒体探测与本机诊断边界Media-probe and local-diagnostic boundaries
0.5.2 已在媒体候选解密范围加入模板列出的 upos-*-mirror*.bilivideo.com、upos-tf-all-hw 与 upos-tf-all-tx 家族,并保留原 Akamai、mcdn、cn-hk 和精确网站域;0.5.5 不扩大该范围,也不新增账户或播放 API 域。精确域名 limitedrush.online 的全部 HTTPS 在本机解密,只有 /bili-cdn-auto/ 专用路径执行控制。诊断只保存在本机,不保存原签名 URL、查询或样本字节,也不上传。探测会发送原媒体路径与签名查询,只复制必要的 User-Agent、Referer、Origin、Accept,不带原 Cookie、Authorization 或 Proxy-Authorization;实际跨主机改写也会剥离这三项认证头。不能据此推断所有请求都无 Cookie,原始线路也没有全局无 Cookie 承诺。Version 0.5.2 added the template-listed upos-*-mirror*.bilivideo.com, upos-tf-all-hw, and upos-tf-all-tx families to media-candidate decryption while retaining the original Akamai, mcdn, cn-hk, and exact website host. Version 0.5.5 does not expand this scope or add account or playback API domains. All HTTPS traffic for the exact limitedrush.online hostname is decrypted locally, while only dedicated /bili-cdn-auto/ paths execute controls. Diagnostics remain local, do not retain the original signed URL, query, or sample bytes, and are not uploaded. Probes send the original media path and signed query, copy only necessary User-Agent, Referer, Origin, and Accept headers, and omit the original Cookie, Authorization, or Proxy-Authorization. Actual cross-host rewrites also strip these three authentication headers. This does not mean every request is cookieless, and no global cookieless claim is made for the original route.
回到原始线路或旧版Return to the original route or older version
如果体验变差,必要时使用顶部“原始 CDN”一次,退出并重进视频;切换不会取消已经进行的下载。也可停用 0.5.5,启用保留的 0.5.4、0.5.3、0.5.2、0.5.1 或 0.5.0,并重新使用配置。0.5.0 的旧状态地址仍可能受 .invalid 解析限制。If the experience worsens, use “Original CDN” above once if needed, exit the video, and reopen it; switching does not cancel a download already in progress. You can also disable v0.5.5, enable a retained v0.5.4, v0.5.3, v0.5.2, v0.5.1, or v0.5.0 module, and reapply the profile. The v0.5.0 status address may still be limited by .invalid resolution.
删除个人自动化与快捷指令,在客户端中移除模块;若不再使用任何 HTTPS 解密功能,再删除对应证书描述文件并停止 VPN。Delete the personal automation and shortcut, and remove the module from the client. If no HTTPS decryption feature still needs it, remove the certificate profile and stop the VPN.
Bilibili-oversea addresses cases where the same video behaves very differently across Bilibili media CDNs. Route observation, selection, and switching happen locally on the device. The current browser edition is v2.5.1 with its r19 runtime frozen for this delivery. The separate iPhone / iPad edition is the v0.5.5 media candidate. Ordinary bilivideo, exact Akamai, and MCDN video and audio now use unified direct preferred routing with bounded later review (playbackPolicyChanged: true).
Browser installation updated October 19, 2026; the mobile candidate notes remain from October 7, 2026. Some videos may still start slowly. This delivery has limited validation and cannot guarantee smooth playback for every video.
Install the browser edition from the store
Open Bilibili-oversea in the Chrome Web Store in desktop Chrome or Edge and confirm installation. If Edge asks, allow extensions from other stores; Developer mode is not needed. A separate Edge Add-ons listing is not available yet. Disable an existing unpacked ZIP or older candidate first, keep only one version enabled, then refresh Bilibili and check v2.5.1.
If the store is unavailable, the detail page retains the original package, checksum, and manual steps under ZIP fallback installation and SHA-256. Store review does not establish full playback-performance acceptance.
How browser v2.5.1 works
Automatic mode prefers a recent trusted network cache. Without one, it starts from the commonly used 08CT route. A healthy route is retained instead of benchmarking the 500-plus catalog entries for every video. Real media failures provide evidence for bounded rotation, with the original route available when needed. Conditional light review can run after the player has safe buffer; manual measurement remains an explicit user action.
A selected route, a real media response, and sustained successful playback are distinct states. “Not measured” only means there is no matching measurement evidence; it does not mean unusable or never attempted. Anonymous preconnect is not a benchmark either: it can set up DNS and a connection without a media path, signature, or cookie.
In the limited rerun, two own short videos completed at their highest available AVC 1080P60 tier without a recorded target stall; first displayed frames were 6.385 / 11.139 seconds. The sample is small and full acceptance still did not pass, so it does not support claims that every node is fastest, every video is smooth, or performance is universally better.
Mobile v0.5.5 candidate boundaries
Mobile works through the local scripting capabilities of Surge, Loon, Shadowrocket, Stash, or Quantumult X. desktop-like-passive-first makes the first ordinary bilivideo, exact Akamai, and MCDN video or audio request directly prefer 08ct while respecting a custom route; it does not wait for a benchmark or original-route reference before playback. The first route is provisional and does not fabricate verified state or scores. A stable route is retained for the same resource. The video cache holds at most 8 resources for 5 minutes; expiry reviews the current route first rather than forcing 08ct, and failed resources remain isolated.
An HTTP 403, 404, 416, or 429 sends a later request into the bounded fallback queue immediately. A 5xx response requires two consecutive failures within 30 seconds by default, while 200/206 clears the count; exhaustion returns to the original route. Audio does not benchmark, race video, or run timed review. Video review is triggered by the next request after 15 seconds. A qualified route remains valid for 45 seconds, while a slow or tail sample remains valid for 15 seconds. Review samples the current route with 512 KiB without requesting an original Akamai reference and tests at most two fallbacks after a slow or failed sample. A hedge may start at 750 ms, but validation still waits until the current route completes or the shared 1950 ms budget expires.
A complete 512 KiB sample, at least 3200 kbps, a fallback at least 1.5 times faster, and a 30-second cooldown are only heuristics for this decision round, not the video's bitrate, sustained bandwidth, or a guarantee of smooth physical-device playback. Review may still add about two seconds of waiting and traffic. When both the current route and a fallback have samples, their returned range, total length, and reference bytes must match; a known mismatch is rejected. If the current route has no sample, a fallback that passes HTTP 206/Range validation and the capacity threshold may be selected provisionally, but cannot be marked verified. Review no longer requires an original Akamai reference.
The delivery reports 63 local Node/VM mobile regression checks and a final 8 control rechecks passing. This is delivery automation evidence, not physical-device playback acceptance. playbackHealthObservable: false, inFlightRecoverySupported: false, and physicalIPhoneAcceptancePassed: false, so this does not establish that real-phone stalls improved.
A short check has five steps: disable the old module and retain it for rollback, import one v0.5.5 candidate, and enable only v0.5.5; reapply the current profile and confirm that all four scripts actually referenced by Shadowrocket come from mobile-0.5.5—an already fully trusted CA does not need reinstallation; disconnect and reconnect, use Automatic mode once only if the client was previously in a fixed or original mode, then refresh read-only status and confirm that local JSON contains ok: true, local: true, service: "bili-cdn-auto", and controlVersion: "0.5.5" together; play a previously stalling or not-fully-cached video for 30–60 seconds and observe speed and recovery after buffered content is exhausted without extensive repetition; finally refresh read-only status again and save its JSON. Automatic mode resets state and must not be repeatedly used as a status page. “Retest” only schedules explicit review on the next video request; the control request itself does not measure. Quantumult X still requires a manual merge.
A real-site 404 means the local script did not match. Video and audio remain separate in videoDiagnostics and audioDiagnostics, so a later audio request does not overwrite the video record. A track that has not run in the new version or cannot be attributed remains null; use videoDiagnostics.streamCode to check video classification. videoDiagnostics.routingPolicy should be desktop-like-passive-first; primary videoDiagnostics.reason values include preferred-route-direct, stable-resource-route, http-failure-priority-fallback, current-route-reviewed, and range-qualified-fallback. videoDiagnostics.routeProvisional marks a route whose compatibility validation is incomplete; videoDiagnostics.verificationBasis may be none, range-only, or current-route-byte-match; videoDiagnostics.referenceVerified now describes compatibility between the current-route and fallback samples, not an original-route Akamai reference. videoDiagnostics.probeRangeStart, videoDiagnostics.nextReviewAt, and videoDiagnostics.decisionCompletedAt describe URL decisions rather than media-transfer completion. Top-level scores is the most recent sample list. Interpret resourceTag, stage, sampledAt, rangeStart, rangeValidated, capacityKnown, and verified together; it does not automatically belong to the latest video. Top-level media fields still describe the latest request, so the latest audio request cannot replace the video assessment. A lastResponseStatus of 200 or 206 records only HTTP status and does not prove sustained-speed recovery or stall-free playback. Status is read-only: it neither writes cache nor starts a measurement. These diagnostics are not real-time player buffering.
Security and privacy boundaries
Browser permissions are limited to activeTab, declarativeNetRequestWithHostAccess, storage, webRequest, and the necessary Bilibili media hosts. It does not request proxy, cookie, browsing-history, or all-sites access.
Settings, caches, and status remain locally. Full media URLs and signatures are handled temporarily in the current tab and background. “Copy diagnostics” is redacted and does not upload automatically.
Normal playback, measurements, and fallback attempts still expose the ordinary IP, media path, and request signature to the media CDN. Conditional review and manual retests may add traffic.
On iOS, use only a CA generated by your own client. All HTTPS traffic for the exact limitedrush.online hostname is decrypted locally, while only dedicated /bili-cdn-auto/ paths execute controls. The template-listed media-candidate decryption families were added in v0.5.2; v0.5.5 does not expand that scope or add account or playback API domains.
Mobile diagnostics stay locally, retain no original signed URL, query, or sample bytes, and are not uploaded. Candidate probes send the original media path and signed query and copy only necessary User-Agent, Referer, Origin, and Accept headers; they omit the original Cookie, Authorization, and Proxy-Authorization. Actual cross-host rewrites also strip these three authentication headers. This does not mean every request is cookieless, and no global cookieless claim is made for the original route.
The tool does not bypass copyright, regional, login, membership, or platform-signature restrictions.
Maintenance and recovery
The browser manages updates for the store edition. To return to a retained ZIP, disable the store edition first, load the old folder using the fallback instructions, and refresh the video page. Keep only one version enabled. For a stall, copy one redacted diagnostic before comparing with the original route or the extension disabled. If the mobile experience worsens, use Original CDN once if needed and exit and reopen the video, or disable v0.5.5, enable the retained v0.5.4, v0.5.3, v0.5.2, v0.5.1, or v0.5.0 module, and reapply the profile. Switching does not cancel an in-progress download, and the v0.5.0 status address may still fail because of .invalid resolution. The detail page keeps the complete setup, release, privacy, and diagnostic references.