📈 GH Trending Explorer 🎲 Surprise me

← all repos

iceorange-dev / bilibili-ambilight

git clone https://github.com/iceorange-dev/bilibili-ambilight.git v0.1.4 · 5d ago

Bilibili 環境光:在 Bilibili 影片周圍加上環境光的瀏覽器擴充功能(非官方,改編自 Ambient light for YouTube)

+1
stars, 24h · #16,411
+~21
stars, 7 days · #7,705
+151
stars, 30 days · #4,910
151
★ total · +16% this week
7
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 142 ★ 2026-10-23 · 151 ★
LanguageJavaScript
LicenseMIT
Created2026-09-28 (25d ago)
Last push5d ago
Watchers0
OwnerUser

Links

README excerpt
# Bilibili 環境光(Ambient light for Bilibili)
在 Bilibili 影片周圍加上環境光(Ambilight)效果。同一個原始碼可以建置成兩種版本:
- **瀏覽器擴充功能**(Chrome / Edge / Firefox)
- **使用者腳本**(Tampermonkey / Violentmonkey / Greasemonkey 等「篡改猴」類管理器)
介面支援繁體中文、简体中文、English、日本語、한국어(預設跟隨瀏覽器語言,可在設定選單的「語言」變更)。
> 本專案為非官方的第三方擴充功能,與嗶哩嗶哩(Bilibili)及 YouTube 無關。
本專案是 Ambient light for YouTube™(作者 Wessel Kroos,MIT License)的 Bilibili 移植版。渲染引擎(WebGL / Canvas2D 投影、黑邊偵測、統計)沿用原專案,網站整合的部分則改寫給 Bilibili 使用。
## 支援的頁面
- `https://www.bilibili.com/video/*`(一般影片、分 P)
- `https://www.bilibili.com/bangumi/play/*`(番劇/影視,DRM 保護的影片無法顯示環境光)
- `https://www.bilibili.com/list/*`、`/medialist/play/*`(播放清單)
- `https://www.bilibili.com/festival/*`、`/cheese/play/*`
支援播放器的所有模式:一般、寬螢幕、網頁全螢幕、全螢幕,以及 B 站的「鏡像畫面」設定。往下捲動出現小窗播放器時只會隱藏環境光,深色主題與融入背景的效果會保留。
## 安裝(使用者腳本/篡改猴)
1. 安裝使用者腳本管理器:Tampermonkey(Chrome / Edge / Firefox)、Violentmonkey 或 Greasemonkey
2. 安裝腳本:
 - 直接點安裝網址(Raw):`https://raw.githubusercontent.com/iceorange-dev/bilibili-ambilight/userscript/bilibili-ambilight.user.js`
 - 如果連不上 `raw.githubusercontent.com`(例如在中國大陸),可以改用 jsDelivr 鏡像:
 `https://cdn.jsdelivr.net/gh/iceorange-dev/bilibili-ambilight@userscript/bilibili-ambilight.user.js`
 - 管理器會從安裝時的網址檢查更新,所以用哪個網址安裝,之後就會從哪個網址更新
 - `userscript` 分支只放正式版本:每次發佈新版時由 CI 建置並更新
 - 或自己建置(見下方),再把 `bilibili-ambilight.user.js` 拖進瀏覽器,或在管理器中新增腳本後貼上內容(這樣安裝的不會自動更新)
3. 重新整理 Bilibili 影片頁面
Chrome / Chromium 核心的瀏覽器請確認已開啟擴充功能的「開發人員模式」,以及在管理器中允許使用者腳本執行(詳見 Tampermonkey 官方說明)。
> 使用者腳本的中繼資料(`@namespace`、`@homepageURL`、`@icon`)來自 `package.json` 的 `userscript` 欄位,預設指向專案首頁。如果要發佈到自己的 fork,把 `userscript.namespace`/`userscript.homepage` 改成你的 repo,再重新執行 `npm run build:userscript` 即可(`bilibili-ambilight.user.js` 是建置產物,不要手改)。
使用者腳本版**沒有擴充功能的工具列圖示與選項頁面**,因此:
- 環境光的設定一樣在播放器控制列(齒輪按鈕左邊的「光芒螢幕」圖示)
- 匯出/匯入設定、開關環境光、開啟設定選單、重設所有設定,改從**使用者腳本管理器的選單**(點 Tampermonkey 圖示 →「Bilibili 環境光」)操作
- 設定儲存在使用者腳本管理器自己的儲存空間(`GM_setValue` / `GM_getValue`);管理器缺少這些 API 時會退回 `localStorage`
## 安裝(瀏覽器擴充功能,開發者模式)
需要 Node.js 22 以上。
 [code] 
1. Chrome / Edge:開啟 `chrome://extensions`,打開「開發人員模式」
2. 點「載入未封裝項目」,選擇 `dist` 資料夾
3. 重新整理 Bilibili 影片頁面
Firefox:改用 `npm run build:firefox` 建置(Firefox 的 manifest 需要 `background.scripts`,Chrome 則只接受 `background.service_worker`),再開啟 `about:debugging#/runtime/this-firefox` →「載入暫用附加元件」→ 選擇 `dist/manifest.json`。
使用者腳本:`npm run build:userscript` 會把整個擴充功能打包成單一檔案 `bilibili-ambilight.user.js`(建置產物,不會提交進 repo;正式版本由 CI 發佈到 Release 與 `userscript` 分支)。它會把樣式表與除雜訊貼圖(`src/images/noise-*.png`)內嵌進檔案,所以檔案比較大(約 1.5 MB)。
## 使用方式
- 播放器右下角的控制列中,B 站設定(齒輪)按鈕左邊的「光芒螢幕」圖示就是環境光設定選單
- 快捷鍵(可在設定選單中修改):
 - `G`:開啟/關閉環境光
 - `B`:自動移除上下黑邊(預設關閉,因為燒在上下黑邊裡的字幕也會被裁掉)
 - `V`:自動移除左右黑邊(預設開啟)
 - `H`:將影片放大填滿移除黑邊後的空間
- 預設在開啟環境光時會把頁面切換成深色主題。可在「基本設定 → 外觀(主題)」改成「跟隨 B 站」或「淺色」
- 設定選單的「沉浸」區塊:
 - 頁首與搜尋框融入背景:頁面在最上方時導覽列透明,往下捲動後變成半透明模糊;搜尋框融入背景(預設開啟)
 - 寬螢幕模式時隱藏頁首:寬螢幕模式且在頁面最上方時隱藏導覽列
 - 右側欄融入背景:右側的彈幕列表、選集/合集清單、關注與訂閱合集按鈕融入背景(預設開啟)
 - 彈幕輸入列融入背景:影片下方的彈幕輸入列融入背景(預設開啟)
 - 影片資訊與留言區融入背景:影片標籤與留言輸入框融入背景(預設開啟)
 - 融入背景的元素透明度都跟隨「頁面內容 → 按鈕與區塊背景不透明度」
## 語言
介面支援 5 種語言,預設跟隨瀏覽器語言:
| 語言 | 程式碼 | 檔案 |