diff --git a/README.md b/README.md index c0ce53f1..3c400c32 100644 --- a/README.md +++ b/README.md @@ -1,126 +1,207 @@ -# youtube-webos +
+
+
+
+
+
+
+ YouTube app for webOS TV with ad blocking and other enhancements +
+ + + + +--- -YouTube App with extended functionalities +## Features - - +- Ad Blocking +- [SponsorBlock](https://sponsor.ajay.app/) Integration +- [Autostart Support](#autostart) +- 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 -## Features +> [!NOTE] +> Press the 🟩 **Green** button on your remote to access the configuration screen. -- Advertisements blocking -- [SponsorBlock](https://sponsor.ajay.app/) integration -- [Autostart](#autostart) +--- -**Note:** Configuration screen can be opened by pressing 🟩 GREEN button on the remote. +## Requirements -## Pre-requisites +- Uninstall the official YouTube app before installing this one. -- Official YouTube app needs to be uninstalled before installation. +--- ## Installation -- Use [webOS Homebrew Channel](https://github.com/webosbrew/webos-homebrew-channel) - app is published in official webosbrew repo -- Use [Device Manager app](https://github.com/webosbrew/dev-manager-desktop) - see [Releases](https://github.com/webosbrew/youtube-webos/releases) for a - prebuilt `.ipk` binary file -- Use [webOS TV CLI tools](https://webostv.developer.lge.com/develop/tools/cli-installation) - - `ares-install youtube...ipk` (For more information on configuring the webOS CLI tools, see [below](#development-tv-setup)) +You can install the app using one of the following methods: -## Configuration +- **[webOS Homebrew Channel](https://github.com/webosbrew/webos-homebrew-channel):** + App is available in the official webOS Brew repository. +- **[Device Manager](https://github.com/webosbrew/dev-manager-desktop):** + Use a pre-built `.ipk` file from the [Releases](https://github.com/webosbrew/youtube-webos/releases) page. +- **Command Line (webOS CLI):** Configure the tools [below](#development-setup) -Configuration screen can be opened by pressing 🟩 GREEN button on the remote. +--- -### Autostart +## Autostart -In order to autostart an application the following command needs to be executed -via SSH or Telnet: +To enable autostart, run the following command needs to be executed on the TV via **SSH** or **Telnet**: ```sh luna-send-pub -n 1 'luna://com.webos.service.eim/addDevice' '{"appId":"youtube.leanback.v4","pigImage":"","mvpdIcon":""}' ``` -This will make "YouTube AdFree" display as an eligible input application (next -to HDMI/Live TV, etc...), and, if it was the last selected input, it will be -automatically launched when turning on the TV. +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). -This will also greatly increase startup performance, since it will be runnning -constantly in the background, at the cost of increased idle memory usage. -(so far, relatively unnoticable in normal usage) - -In order to disable autostart run this: +To disable autostart: ```sh luna-send-pub -n 1 'luna://com.webos.service.eim/deleteDevice' '{"appId":"youtube.leanback.v4"}' ``` -## Building +--- + +## Development Setup + +### Pre-requisites + +- The latest **Node.js** LTS release. Refer to `devEngines` in [`package.json`](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. -- Clone the repository + ```sh + git clone https://github.com/webosbrew/youtube-webos.git + cd youtube-webos + ``` + +2. Install dependencies. + + ```sh + pnpm install + ``` + +### Building an IPK ```sh -git clone https://github.com/webosbrew/youtube-webos.git +pnpm run build:dev +pnpm run package ``` -- Enter the folder and build the App, this will generate a `*.ipk` file. +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](https://github.com/webosbrew/dev-manager-desktop). Alternatively, continue below if you want to make it so you can install the IPK on your TV with one command. -```sh -cd youtube-webos +### On the TV -# Install dependencies (need to do this only when updating local repository / package.json is changed) -npm install +> [!IMPORTANT] +> If your TV is rooted, follow [the alternative setup section](#alternate-setup-rooted-tv) instead and then skip to [installing to the TV](#installing-to-the-tv) -npm run build && npm run package +1. Create an [LG Developer account](https://webostv.developer.lge.com/login) +2. Install the [**Developer Mode** app](https://in.lgappstv.com/main/tvapp/detail?appId=232503) 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 + +```sh +pnpm exec ares-setup-device ``` -## Development TV setup +Follow the prompts: -These instructions use the [webOS CLI tools](https://github.com/webos-tools/cli). -See