Privacy policy for BiBoost - Overseas Video Speedup for bilibili
BiBoost - Overseas Video Speedup for bilibili by John_H
Privacy policy for BiBoost - Overseas Video Speedup for bilibili
■ What this extension does
This extension intercepts and rewrites the video-CDN network requests your browser sends to bilibili.com, replacing the default node with a faster one for regions such as Taiwan/Singapore, to improve playback on the bilibili web player. All rewriting happens entirely inside your own browser and never passes through any third-party server.
■ What data we collect
No personal data is collected or uploaded in normal use. Data is sent to the author only when you explicitly press "Send" in "Report a problem" (see "Problem reports" below). The only statistic is a daily per-country count of announcement downloads kept by the author's server (country level only, no IP — see "Announcements" below). Specifically:
- We do not read, log, or upload your account information or cookie contents. The only exception is when you use the "Old / new homepage" switch in Advanced settings: the extension then reads and writes two site-preference cookies of bilibili (user_site and default_sites, which only record whether you want the old or the new homepage) inside your browser. These two values never leave your computer, and no other cookie is read
- No analytics, tracking, or advertising SDKs are used (no Google Analytics), and individual users are never tracked
- Apart from problem reports you choose to send, no data is ever sent to the extension author or any third party (the extension downloads announcements, the node list and feature settings from the author's server, and the requests themselves carry no data — see "Announcements" and "Node list and feature settings" below)
- Your settings in the popup (e.g., selected CDN node, toggle states) are stored only via the browser's built-in chrome.storage.local, on your own device. They are never synced to any cloud service and never leave your computer
- So that a problem report can show what happened before the problem, the extension keeps the last 10 minutes of its own activity (node switches, auto-switches, failed segment requests, download speed, etc.) inside your browser in chrome.storage.session, which is cleared when the browser closes. It never leaves your computer unless you send a report
■ Permissions used
- storage: Save your popup settings locally so they persist across browser restarts
- cookies: Only when you use the "Old / new homepage" switch in Advanced settings: reads and writes two site-preference cookies of bilibili.com (user_site, default_sites). The code reads no other cookie (such as login credentials)
- alarms: When downloading the node list fails (for example right after boot, before the network is up), retry periodically in the background until the list is obtained
- ://.bilibili.com/* (host permission): Read and rewrite the host of video-CDN network requests to bilibili.com — the extension's sole core function
No other permissions are requested (no tab content, no full browsing history, no access to other sites).
■ Automatic country selection by IP
When the extension is installed or updated (in the background), or when you open a bilibili page or the popup before a country has been chosen, the extension asks bilibili's own https://api.bilibili.com/x/web-interface/zone which country your IP is in, to pick the country of the node list automatically (the automatic choice happens only once — after you change the country yourself it is never changed automatically again).
- The request goes only to bilibili.com (a site the extension already has permission for and that you connect to anyway when watching bilibili), without cookies, and never to the author or any third party.
- The result (country, province, ISP, IP) is stored locally in chrome.storage.local for choosing the country and for the diagnostics attached to problem reports; it is refreshed when older than 24 hours the next time you open the popup or the report form. Apart from problem reports you choose to send, it is never uploaded anywhere.
■ Announcements
The announcement bar on the popup's main screen, and the announcement window it opens, download announcements (data about ongoing prize draws, and general announcements written by the author) from an endpoint run by the author (Cloudflare Workers, https://api.biboost.app/v2/announcements) when you open the popup, at most once every 15 minutes (this continues while the bar is closed, so it knows when a new announcement appears).
- It is a plain download (GET) with no cookies and no data attached.
- The endpoint keeps an aggregate count of downloads per day, per country (as determined from the connecting IP) and per browser (Chrome / Edge / Firefox / Safari), to understand how usage is spread across countries. Your IP is not recorded, nor is your User-Agent or anything else that could identify you. The counts are stored in Cloudflare Workers Analytics Engine for 3 months. No other access logs are kept.
- Some announcements are limited to certain countries. Which ones to show is decided by the extension itself from the country already stored on your device (the result of "Automatic country selection by IP" above); the extension never sends that stored country.
- Only data is downloaded and no downloaded code is ever run: prize-draw text is composed by the extension itself; general announcements keep only layout tags such as headings, paragraphs, lists, tables and links, and never load images or other external resources.
- The downloaded list and your close record are stored locally in chrome.storage.local.
■ Node list and feature settings
The recommended node list for each country, and the setting for which features are currently available, are served by the author's server so they can be updated without a new release:
- The node list is downloaded from https://static.biboost.app/ (fallback: Amazon CloudFront), checked at most once every 6 hours; if the download fails, alarms retries every minute until it succeeds. Feature settings are downloaded from https://api.biboost.app/v1/features when you open the popup or the welcome page.
- Both are plain downloads (GET) with no cookies and no data attached.
- Everything downloaded is signed by the author; the extension verifies it with a built-in public key and ignores anything that fails, and the node list only accepts the CDN domains bilibili videos use. No code is ever downloaded or run.
- The downloaded content is stored locally in chrome.storage.local.
■ Problem reports
"Report a problem / Request a feature" opens a separate report window. Only when you press "Send" is the following sent over HTTPS to an endpoint run by the author (Cloudflare Workers), which stores it in the author's private GitHub repository and opens an issue in the public project repository so you can track progress:
- The problem type, description and (optional) contact you entered. If the contact is an email address, a confirmation email with the issue link is sent to you from the author's Gmail; replying to it reaches the author's inbox. It is not used for anything else
- For problem reports (not feature requests), attached diagnostics: extension version and settings, browser and OS, time zone and connection type, your IP address, ISP and province (from the bilibili zone API above), the IDs of the bilibili videos / live rooms viewed now and within the last 10 minutes, the CDN node in use, download speed, buffering and stall state, auto-switch history, and your actions in the extension during those 10 minutes (node, country and toggle changes, speed tests)
The full diagnostics are shown on the form before sending so you can review them word by word; feature requests carry no diagnostics. On Firefox, the first time you send a problem report Firefox will additionally ask whether to allow the extension to collect the data above; you can revoke this at any time under "Permissions and data" in the Add-ons Manager. The public issue contains only your description and a de-identified summary (version, browser, country, node) — never your IP, ISP, contact or video IDs. The full diagnostics are visible to the author only, used solely to investigate that report, and deleted once it is resolved. Apart from the country-level announcement download counts described above, the endpoint keeps no access logs.
■ Tips and the supporter leaderboard
"Tip / Top Patrons" in the popup opens the support page in a new tab (not available in the Safari version); the same page is also on the website at https://biboost.app/donate.
- When opened, it downloads the leaderboard from the author's endpoint (https://api.biboost.app/v1/donors). This is a plain download (GET) with no cookies and no data attached.
- The extension creates a random supporter ID stored in the browser's chrome.storage.sync (shared by devices signed in to the same browser account with sync on; stored locally if sync is unavailable). The name and avatar you choose for the board are stored locally in chrome.storage.local. The website version has no browser sync and keeps this data in the site's localStorage.
- Only when you press pay are your supporter ID, display name, avatar (the number of a preset avatar, or the image you upload, resized to 128×128), amount, currency, interface language, browser type and extension version sent over HTTPS to the endpoint above, which creates a Stripe payment page and records it in the author's database (Neon), together with the country derived from your connection's IP (the IP itself is not stored). Payment is completed on Stripe's page; the extension and the author never see your card or account details. Stripe notifies the author of the result (amount, fees, payment method, payment time, billing-address country and the email you entered at Stripe), which is recorded for the leaderboard and bookkeeping. Tips paid with the same email from different devices are combined under one supporter (the email is never shown).
- The leaderboard publicly shows your display name, avatar, and total amount (in USD) and number of tips; the supporter ID itself is never shown (only a hash of it). A blank name is shown as anonymous. The author may remove inappropriate names or avatars.
■ Changes to this policy
Any material change to this policy will be reflected by updating the "Last updated" date at the top of this file, and mirrored in the privacy sections of the relevant stores (Chrome Web Store / Firefox Add-ons / Edge Add-ons / Safari App Store).
■ Contact
For any privacy-related questions, please reach out via GitHub Issues (https://github.com/a0972199950/biboost/issues) or the problem-report form inside the extension.