GuillaumeSmaha / youtube-webos-cobalt-app

Youtube App without ADs
GNU General Public License v3.0
15 stars 6 forks source link

youtube-webos-cobalt-app

Fork

This application is a rework of https://github.com/webosbrew/youtube-webos to only use div tag.

The aim of this application is to be used on Cobalt browser which only support a subset of HTML tags.

This repository https://github.com/GuillaumeSmaha/youtube-webos-cobalt-browser provided a way to inject this web application into the official Youtube App.

Presentation

YouTube App with extended functionalities

Configuration Screen Segment Skipped

Features

Note: Configuration screen can be opened by pressing šŸŸ© GREEN button on the remote.

Pre-requisites

Installation

Configuration

Configuration screen can be opened by pressing šŸŸ© GREEN button on the remote.

On a computer browser, char key = can be used on open it.

Autostart

In order to autostart an application the following command needs to be executed via SSH or Telnet:

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 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:

luna-send -n 1 'luna://com.webos.service.eim/deleteDevice' '{"appId":"youtube.leanback.v4"}'

Building

git clone https://github.com/GuillaumeSmaha/youtube-webos-cobalt-app.git
cd youtube-webos-cobalt-app

# Install dependencies (need to do this only when updating local repository / package.json is changed)
npm install

npm run build && npm run package

Production build

When providing a change on a pull request, build the *.css and *.js files with the following command:

npm run buildprod && npm run package

Development TV setup

Configuring @webosose/ares-cli with Developer Mode App

This is partially based on: https://webostv.developer.lge.com/develop/app-test/using-devmode-app/

ares-setup-device -a webos -i "username=prisoner" -i "privatekey=/path/to/downloaded/webos_rsa" -i "passphrase=PASSPHRASE" -i "host=TV_IP" -i "port=9922"

Configuring @webosose/ares-cli with Homebrew Channel / root

ares-setup-device -a webos -i "username=root" -i "privatekey=/path/to/id_rsa" -i "passphrase=SSH_KEY_PASSPHRASE" -i "host=TV_IP" -i "port=22"

Note: @webosose/ares-cli doesn't need to be installed globally - you can use a package installed locally after npm install in this repo by just prefixing above commands with local path, like so: node_modules/.bin/ares-setup-device ...

Installation

npm run deploy

Launching

npm run launch

To jump immediately into some specific video use:

npm run launch -- -p '{"contentTarget":"v=F8PGWLvn1mQ"}'