TizenTube is a TizenBrew module that enhances your favourite streaming websites viewing experience by removing ads and adding support for Sponsorblock.
Looking for an app for Android TVs? Check out TizenTube Cobalt. It offers everything TizenTube has for Android TVs. Download the latest release here.
-
Install TizenBrew from here and follow the instructions.
-
TizenTube is installed to TizenBrew by default. It should be in the home screen. If not, add
@krx3d/tizentube2as a NPM module in TizenBrew module manager.
TizenTube can also run as its own installable Tizen app, without needing TizenBrew at all. It bundles a small local proxy service that loads YouTube TV through http://localhost:8099, injecting TizenTube automatically.
- The
.wgtis built and signed by theBuild TizenTube Standalone and ReleaseGitHub Actions workflow — see below for setting it up. - Once built, install the
.wgtthe same way you'd install any other Tizen app (e.g. via TizenBrewInstaller's "Install from GitHub"/"Select file to install", or sideloaded directly). - The standalone app always loads TizenTube from
https://cdn.jsdelivr.net/npm/@krx3d/tizentube2/dist/userScript.js, so it stays in sync with whatever this repo last published to npm — no separate rebuild needed when only the mod itself changes. - Its version is kept in lockstep with the userscript: once the build workflow above has the required secrets, it builds automatically right after every successful npm publish (triggered by
build-publish-cleanup.ymlcompleting), reading the just-bumpedpackage.jsonversion and writing it intostandalone/config.xmlbefore packaging — so "installed version" always matches the userscript version, no matter which of the two you're running.
The build workflow needs a Tizen author certificate to sign the package. This is a one-time setup:
- Install Tizen Studio (or just the Certificate Manager tool from it).
- Open Certificate Manager (Tizen Studio → Tools → Certificate Manager).
- Author tab → + → create a new author certificate. Fill in a name, organization/email, and a password — remember the password, you'll need it below. This produces an
author.p12file. - Base64-encode the
.p12with no line wrapping:- Linux/macOS:
base64 -w0 author.p12 - Windows (PowerShell):
[Convert]::ToBase64String([IO.File]::ReadAllBytes("author.p12"))
- Linux/macOS:
- In this repo, go to Settings → Secrets and variables → Actions → New repository secret and add:
TIZEN_AUTHOR_KEY— the base64 string from step 4TIZEN_AUTHOR_KEY_PW— the plain-text certificate password from step 3, not base64-encoded. Only the.p12file itself needs base64 (it's binary); the password is already text. Pasting a base64-encoded password here fails the build withPKCS#12 MAC could not be verified. Invalid password?.
Once both secrets are set, the workflow builds automatically after every successful npm publish — no further action needed. To trigger an ad-hoc build without publishing first, either push a version tag:
git tag v1.0.0
git push origin v1.0.0
or run it manually from the Actions tab (Build TizenTube Standalone and Release → Run workflow). The signed .wgt is attached to the resulting GitHub Release either way.
- Ad Blocker
- SponsorBlock Support
- Picture-in-Picture Mode
- DeArrow Support
- Customizable Themes (Custom Coloring)
- More to come, if you request it!
Use this when you want to test TizenTube locally in Chrome instead of on-device.
Tampermonkey runs the userscripts, while a User-Agent switcher extension makes Chrome present itself as a TV browser so https://www.youtube.com/tv stays on the TV UI.
Tampermonkey scripts are stored in:
scripts/tampermonkey/tizentube-loader.user.js(loadsdist/userScript.jsvia@require)scripts/tampermonkey/tizentube-log-button.user.js(adds floating TT Logs button that callswindow.downloadTizenTubeLogs())
-
Install Tampermonkey in Chrome.
-
Open
chrome://extensions/:- Enable Developer mode (top-right).
- Open Tampermonkey details and enable Allow in Incognito.
- If you use a User-Agent extension, also enable Allow in Incognito for it.
-
Install a User-Agent switching extension (for TV UA testing).
-
Set a TV-like User-Agent for YouTube. Example that usually works:
Mozilla/5.0 (SMART-TV; Linux; Tizen 6.5) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 TV Safari/537.36Real TV User-Agent examples captured from your devices:
- Tizen 5.0 TV - TV Model UE75RU7099UXZG:
Mozilla/5.0 (SMART-TV; LINUX; Tizen 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/5.0 TV Safari/537.36 - Tizen 6.5 TV - TV Model LS32BM500EUXEN:
Mozilla/5.0 (SMART-TV; LINUX; Tizen 6.5) AppleWebKit/537.36 (KHTML, like Gecko) 108.0.5359.1/6.5 TV Safari/537.36 UWE/0.2.27108
- Tizen 5.0 TV - TV Model UE75RU7099UXZG:
-
In Tampermonkey, create/import
scripts/tampermonkey/tizentube-loader.user.js(configured foryoutube.com/tv*only). -
In Tampermonkey, create/import
scripts/tampermonkey/tizentube-log-button.user.js(configured foryoutube.com/tv*only). -
In Tampermonkey script settings, set Sandbox mode = ALL for these scripts.
-
Open
https://www.youtube.com/tvand sign in if needed. -
Verify TizenTube loaded:
- Open DevTools Console and run
typeof window.toggleDebugConsole(should return"function").
- Open DevTools Console and run
-
Click TT Logs (bottom-right corner of the page, floating above the YouTube TV UI) to download logs without typing console commands.
When testing in Chrome on desktop, TizenTube maps TV color-button actions to normal keys:
- GREEN (open TizenTube settings):
G,F2, or2 - RED (open theme settings):
R,F1, or1 - YELLOW (toggle debug console):
Y,F3, or3 - BLUE:
B,F4, or4
After both userscripts are enabled and /tv has loaded, the TT Logs button appears in the bottom-right corner as a small black/green floating button.
If you do not see it:
- confirm
tizentube-log-button.user.jsis enabled in Tampermonkey, - refresh the page once,
- and verify Tampermonkey script sandbox is set to ALL.
- These helper scripts are intentionally limited to
/tvURLs so they do not affect normal desktop YouTube pages. - In Tampermonkey, you can force-refresh
@requirefiles via TizenTube Loader → Externals → Requires → Update. - If Tampermonkey seems stale in Incognito, open script dashboard and use Utilities → Check for userscript updates, then hard-refresh YouTube TV.
- Tampermonkey only refreshes
@requirewhen it checks script updates; bumping loader@versionand running update check forces newest bundle. - If
/tvredirects back to desktop YouTube, re-check User-Agent override and extension scope. - Keep both scripts enabled: loader + log-button.
- The log button is external (Tampermonkey UI helper), not an in-app visual-console button.