Thanks to visit codestin.com
Credit goes to github.com

Skip to content

webosbrew/youtube-webos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

355 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Ad-Free

GitHub Stars Latest Release Contributors Total Downloads webOS

YouTube app for webOS TV with ad blocking and other enhancements

Configuration Screen Segment Skipped


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:


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 devEngines in package.json for the minimum version.
  • pnpm. If you already have Node.js, you can have it automatically setup by running corepack enable.
  • git

Setup

  1. Clone the repository.

    git clone https://github.com/webosbrew/youtube-webos.git
    cd youtube-webos
  2. 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

  1. Create an LG Developer account
  2. Install the Developer Mode app from the LG Content Store
  3. 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:

  1. Add device
  2. Enter IP from the Developer Mode app
  3. Use default values unless needed
  4. 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)  [email protected]: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)

  1. Enable SSH via Homebrew Channel

  2. Generate SSH key:

    ssh-keygen -t rsa
  3. Copy id_rsa to ~/.ssh (Windows: %USERPROFILE%\.ssh)

  4. Append id_rsa.pub to /home/root/.ssh/authorized_keys on the TV

  5. 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"}'

About

YouTube app for webOS without ads

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Contributors

Languages

  • JavaScript 75.6%
  • TypeScript 21.0%
  • CSS 3.3%
  • HTML 0.1%