- JavaScript 75.5%
- TypeScript 21.1%
- CSS 3.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github | ||
| .husky | ||
| .vscode | ||
| assets | ||
| screenshots | ||
| src | ||
| tools | ||
| .browserslistrc | ||
| .editorconfig | ||
| .escheckrc | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.js | ||
| babel.config.js | ||
| CHANGELOG.md | ||
| eslint.config.ts | ||
| LICENSE | ||
| lint-staged.config.js | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| postcss.config.ts | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| tsconfig.tooling.json | ||
| webpack.config.js | ||
YouTube Ad-Free
YouTube app for webOS TV with ad blocking and other enhancements
Features
- Ad Blocking
- SponsorBlock Integration
- Autostart Support
- Force Highest Video Quality
- Audio-Only Mode (🟦 Blue button on remote)
- Full Animation Support
- Shorts Removal
- Higher-Quality Thumbnails
- On-Screen Clock Overlay
- YouTube Logo Removal
- Remove end screens
- Bypass account selector screen
Note
Press the 🟩 Green button on your remote to access the configuration screen.
Requirements
- Uninstall the official YouTube app before installing this one.
Installation
You can install the app using one of the following methods:
- webOS Homebrew Channel: App is available in the official webOS Brew repository.
- Device Manager:
Use a pre-built
.ipkfile from the Releases page. - Command Line (webOS CLI): Configure the tools below
Autostart
To enable autostart, run the following command needs to be executed on the TV via SSH or Telnet:
luna-send-pub -n 1 'luna://com.webos.service.eim/addDevice' '{"appId":"youtube.leanback.v4","pigImage":"","mvpdIcon":""}'
This allows the app to show up as an input source and launch automatically if it was the last used app. It will remain active in the background for faster startup (minor increase in idle memory usage).
To disable autostart:
luna-send-pub -n 1 'luna://com.webos.service.eim/deleteDevice' '{"appId":"youtube.leanback.v4"}'
Development Setup
Pre-requisites
- The latest Node.js LTS release. Refer to
devEnginesinpackage.jsonfor the minimum version. - pnpm. If you already have
Node.js, you can have it automatically setup by runningcorepack enable. - git
Setup
-
Clone the repository.
git clone https://github.com/webosbrew/youtube-webos.git cd youtube-webos -
Install dependencies.
pnpm install
Building an IPK
pnpm run build:dev
pnpm run package
The .ipk file will be generated in the project root directory. You can stop here if you're fine with installing the IPK via the webOS Dev Manager app. Alternatively, continue below if you want to make it so you can install the IPK on your TV with one command.
On the TV
Important
If your TV is rooted, follow the alternative setup section instead and then skip to installing to the TV
- Create an LG Developer account
- Install the Developer Mode app from the LG Content Store
- Navigate to the app, Log-in in with LG Developer Credentials and enable:
- Developer Mode
- Key Server
Add the TV to the CLI
pnpm exec ares-setup-device
Follow the prompts:
- Add device
- Enter IP from the Developer Mode app
- Use default values unless needed
- Enter 6-digit passphrase shown on the TV screen
Verify:
pnpm exec ares-setup-device --list
Sample output:
name deviceinfo connection profile passphrase
-------------- ----------------------------- ---------- ------- ----------
mytv (default) prisoner@192.168.137.102:9922 ssh tv EF32E8
Installing to the TV
pnpm run deploy # Installs to the default device selected via `ares-setup-device`.
Debugging
webOS supports the standard Chrome Devtools Protocol which allows you to inspect the app.
ares-inspect -d <device_name> --app youtube.leanback.v4
Or if you've set your TV as the default device:
pnpm run inspect
Alternate Setup (Rooted TV)
-
Enable SSH via Homebrew Channel
-
Generate SSH key:
ssh-keygen -t rsa -
Copy
id_rsato~/.ssh(Windows:%USERPROFILE%\.ssh) -
Append
id_rsa.pubto/home/root/.ssh/authorized_keyson the TV -
Set up device:
ares-setup-device -a webos \ -i "username=root" \ -i "privatekey=id_rsa" \ -i "passphrase=SSH_KEY_PASSPHRASE" \ -i "host=TV_IP" \ -i "port=22"
Quick Commands
Build, Install, and Launch
pnpm run build:dev && pnpm run package && pnpm run deploy && pnpm run launch
To launch a specific video directly:
pnpm run launch -- -p '{"contentTarget":"v=F8PGWLvn1mQ"}'

