@whoisjayd/tizenliv
v0.1.1
Published
SonyLIV ad blocking module for TizenBrew.
Readme
TizenLIV
TizenLIV is a standalone TizenBrew site-mod module for SonyLIV ad blocking.
This project is separate from TizenTube. TizenTube was used only as a reference for the TizenBrew module shape and build target.
What it does
- Blocks known SonyLIV telemetry/ad beacon requests.
- Opens through a packaged launcher page that tries to set a desktop Chrome user agent before SonyLIV's first page request.
- Strips the client-side Google IMA bootstrap script that public filter research associates with SonyLIV ads.
- Presets SonyLIV cookie consent localStorage keys to reduce consent/adblock popups.
- Hides/removes simple adblock and ad banner overlays.
What it does not do
- It does not bypass DRM, subscriptions, login, geography checks, or paid access.
- It does not attempt to decrypt or rewrite protected media streams.
- It does not include SponsorBlock or YouTube-specific features.
Research notes
The initial rules are intentionally conservative because SonyLIV playback can break if ad scripts are blocked too aggressively:
- TizenBrew site modification modules require
packageType: "mods",appName,websiteURL, andmaininpackage.json. - AdGuard public rules note that fully blocking
imasdk.googleapis.com/js/sdkloader/ima3.jscan break SonyLIV in some app contexts. - AdGuard public rules allow
ima3_dai.jsand SonyLIV player ad manager files to avoid player breakage. - AdGuard public rules set SonyLIV cookie consent localStorage keys.
- AdGuard public rules identify
api-godavari.sonyliv.com/beaconas tracking/telemetry. - TizenBrew serves package files through
http://127.0.0.1:8081/module/<package>/..., so this module starts atlauncher.html, callstizen.websetting.setUserAgentString(...), then redirects to SonyLIV.
Installation in TizenBrew
From npm
Open TizenBrew on your Samsung TV.
Open the module manager.
Add this npm module:
@whoisjayd/tizenlivSave/apply the module list.
Restart TizenBrew if it does not refresh automatically.
Launch TizenLIV from TizenBrew.
TizenLIV now opens a small local launcher first. It should immediately redirect to SonyLIV after trying to apply a desktop Chrome user agent. This avoids requiring you to manually change the global TizenBrew user-agent setting.
From source
git clone https://github.com/whoisjayd/tizenliv.git
cd tizenliv
npm install
npm run buildThe TizenBrew script entrypoint is dist/userScript.js. The launch entrypoint is launcher.html, which redirects to SonyLIV after applying the user agent.
Development
npm install
npm test
npm run buildPackage metadata
{
"name": "@whoisjayd/tizenliv",
"appName": "TizenLIV",
"packageType": "mods",
"websiteURL": "http://127.0.0.1:8081/module/%40whoisjayd%2Ftizenliv/launcher.html",
"main": "dist/userScript.js",
"evaluateScriptOnDocumentStart": true
}Troubleshooting
- If the page still times out, the TV may be unable to reach SonyLIV from TizenBrew's WebView because of network, region, TLS, or platform blocking. The launcher can spoof the user agent, but it cannot fix a domain that the TV/browser cannot connect to.
- If the launcher page stays visible, Tizen WebView may have denied
tizen.websetting; wait a moment for fallback redirect or restart TizenBrew. - If playback freezes or stays stuck at loading, SonyLIV may require one of its ad manager scripts for player initialization.
- Keep
ima3_dai.jsandplayer.sonyliv.com/.../spnadmanager.jsallowed unless manual testing proves they are safe to strip. - If ads return, compare the current network calls with uBlock Origin/Brave on desktop and add narrow host/path rules only.
