Skip to content

asdf17128/bili-webos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

47 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BiliTV icon

BiliTV for webOS

Watch Bilibili (ๅ“”ๅ“ฉๅ“”ๅ“ฉ) natively on your LG webOS TV โ€” DASH playback, danmaku, bangumi & live, all driven by the remote.

LG webOS ๆ™บ่ƒฝ็”ต่ง†็š„็ฌฌไธ‰ๆ–นๅ“”ๅ“ฉๅ“”ๅ“ฉๅฎขๆˆท็ซฏ ยท ๅผนๅน• / ็•ชๅ‰ง / ็›ดๆ’ญ / ๆœ็ดข๏ผŒๅ…จ็จ‹้ฅๆŽงๅ™จๆ“ไฝœใ€‚

Platform License Release Stars

BiliTV demo

English

A free, open-source Bilibili client for LG webOS TVs. It runs entirely on the TV โ€” a React app talking to a built-in JS service that proxies Bilibili's API and media (no external server or PC required). Everything is operated with the TV remote (D-pad focus navigation built from scratch).

โš ๏ธ Region notice: Bilibili's APIs and especially its video CDN are geo-restricted to mainland China. Outside mainland China the content feed may be empty and playback will likely fail โ€” you need a network route into mainland China. The app talks to Bilibili directly and has no built-in proxy/VPN for this.

Features: recommendation / hot / category / following feeds ยท DASH adaptive playback (up to 4K/8K, HDR & Dolby Vision) ยท real-time danmaku ยท bangumi (็•ชๅ‰ง) with episode list ยท live streams with danmaku ยท on-screen-keyboard search ยท QR-code login ยท watch history with resume.

ไธญๆ–‡

ๅ…่ดนใ€ๅผ€ๆบ็š„ LG webOS ็”ต่ง†ๅ“”ๅ“ฉๅ“”ๅ“ฉๅฎขๆˆท็ซฏใ€‚ๅฎŒๅ…จๅœจ็”ต่ง†ไธŠ่ฟ่กŒโ€”โ€”React ๅ‰็ซฏ + ๅ†…็ฝฎ JS ๆœๅŠกไปฃ็† B็ซ™ ๆŽฅๅฃไธŽๅช’ไฝ“๏ผŒไธ้œ€่ฆ้ขๅค–็š„ไปฃ็†ๆœๅŠกๅ™จๆˆ–็”ต่„‘ๅธธๅผ€ใ€‚ๅ…จ็จ‹้ฅๆŽงๅ™จๆ“ไฝœ๏ผˆไปŽ้›ถๅฎž็Žฐ็š„ D-pad ็„ฆ็‚นๅฏผ่ˆช๏ผ‰ใ€‚

โš ๏ธ ๅœฐๅŒบ้™ๅˆถ๏ผš B็ซ™ ๆŽฅๅฃใ€ๅฐคๅ…ถๆ˜ฏ่ง†้ข‘ CDN ไป…ๅฏนไธญๅ›ฝๅคง้™†ๅผ€ๆ”พใ€‚ๅœจๅคง้™†ไปฅๅค–ๅ†…ๅฎนๅฏ่ƒฝไธบ็ฉบใ€ๆ’ญๆ”พๅคงๆฆ‚็އๅคฑ่ดฅ๏ผŒ้œ€่ฆ่ตฐๅคง้™†็ฝ‘็ปœใ€‚ๆœฌ app ็›ด่ฟž B็ซ™๏ผŒไธๅ†…็ฝฎไปฃ็†/VPNใ€‚

ๅŠŸ่ƒฝ๏ผš ๆŽจ่/็ƒญ้—จ/ๅˆ†ๅŒบ/ๅ…ณๆณจๅŠจๆ€ ยท DASH ่‡ช้€‚ๅบ”ๆ’ญๆ”พ๏ผˆๆœ€้ซ˜ 4K/8K๏ผŒๆ”ฏๆŒ HDR/ๆœๆฏ”่ง†็•Œ๏ผ‰ยท ๅฎžๆ—ถๅผนๅน• ยท ็•ชๅ‰ง๏ผˆๅซๆ•ดๅญฃๅ‰ง้›†ๅˆ—่กจ๏ผ‰ยท ็›ดๆ’ญ๏ผˆๅธฆๅผนๅน•๏ผ‰ยท ่ฝฏ้”ฎ็›˜ๆœ็ดข ยท ๆ‰ซ็ ็™ปๅฝ• ยท ่ง‚็œ‹ๅކๅฒไธŽ็ปญๆ’ญใ€‚

Screenshots / ๆˆชๅ›พ

Home / ้ฆ–้กต Player + Danmaku / ๆ’ญๆ”พ+ๅผนๅน•
home player
Search / ๆœ็ดข Following / ๅ…ณๆณจ
search following

Install / ๅฎ‰่ฃ…

Option A โ€” Homebrew Channel (recommended / ๆŽจ่)

Requires the webOS Homebrew Channel on your TV (see rootmy.tv). Then:

  1. Open Homebrew Channel on the TV.
  2. Search for BiliTV and install.

้œ€่ฆ็”ต่ง†ๅทฒ่ฃ… webOS Homebrew Channel๏ผ›ๆ‰“ๅผ€ๅŽๆœ็ดข BiliTV ๅฎ‰่ฃ…ๅณๅฏใ€‚ ๏ผˆๆ–ฐ็‰ˆๆœฌไธŠๆžถๅŽ๏ผŒๅ•†ๅบ—็ดขๅผ•ๅˆทๆ–ฐๆœ‰ๅ‡ ๅฐๆ—ถๅปถ่ฟŸใ€‚๏ผ‰

Option B โ€” Build from source (developers / ๅผ€ๅ‘่€…)

Prerequisites / ๅ‰็ฝฎ๏ผš LG webOS TV (2020+)๏ผ›TV Developer Mode on๏ผ›Node.js 18+.

# 1. clone
git clone https://github.com/asdf17128/bili-webos.git
cd bili-webos

# 2. install deps
npm install
cd app && npm install && cd ..

# 3. webOS CLI (if needed)
npm install -g @webosose/ares-cli

# 4. set your TV's IP/passphrase in tools/deploy.mjs

# 5. build + deploy
bash build.sh

Dev mode (browser preview):

cd proxy && node server.js &   # Mac proxy for browser dev
cd app && npm run dev          # http://localhost:5173

Architecture / ๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚               LG webOS TV                 โ”‚
โ”‚   Web App (React)  โ—€โ”€โ”€Lunaโ”€โ”€โ–ถ  JS Service โ”‚
โ”‚        โ”‚                Bus     Node.js    โ”‚
โ”‚        โ””โ”€โ”€โ”€โ”€ HTTP :7654 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚ HTTPS
                         โ–ผ          Bilibili API / CDN
  • Web App โ€” React + Shaka Player (DASH). Build target Chromium 68 for older-webOS compatibility.
  • JS Service โ€” on-TV Node.js service: API requests (bypasses CORS), cookie management, video/image proxy.
  • Self-contained โ€” one ipk, no external proxy server.

Remote controls / ้ฅๆŽงๅ™จๆ“ไฝœ

Key / ๆŒ‰้”ฎ Home / ้ฆ–้กต Player / ๆ’ญๆ”พๅ™จ
D-pad / ๆ–นๅ‘้”ฎ move focus / ็งปๅŠจ็„ฆ็‚น โ†โ†’ seek 10s / ๅฟซ่ฟ›้€€ ยท โ†‘โ†“ controls / ๆŽงๅˆถๆ 
Enter / ็กฎ่ฎค open / select / ้€‰ๆ‹ฉ play-pause / ๆš‚ๅœๆ’ญๆ”พ
Back / ่ฟ”ๅ›ž sidebar โ†’ home / ๅ›žไพงๆ โ†’้ฆ–้กต exit / close panel / ้€€ๅ‡บยทๅ…ณ้ขๆฟ

Project structure / ้กน็›ฎ็ป“ๆž„

bili-webos/
โ”œโ”€โ”€ app/        # React frontend + webos-meta (appinfo, icons)
โ”œโ”€โ”€ service/    # on-TV JS service (API + local HTTP proxy)
โ”œโ”€โ”€ proxy/      # dev-only Mac proxy
โ”œโ”€โ”€ tools/      # deploy / debug / screenshot / test
โ”œโ”€โ”€ build.sh    # one-command build + deploy
โ””โ”€โ”€ CLAUDE.md   # developer guide

Tech stack / ๆŠ€ๆœฏๆ ˆ

React 18 ยท Vite 6 ยท Shaka Player (DASH) ยท native HLS (live) ยท webOS JS Service (Node.js v16) ยท CDP-over-SSH tooling.

License

MIT. Unofficial, fan-made client for personal use; not affiliated with or endorsed by Bilibili.