Built on the Shoulders of Giants
Huge shout-out to the Morphe Team for creating this beautiful community
I'm just like you — I enjoy watching TV and movies without being bored and annoyed to death by ads. I'll try to keep this repo updated when I can. I only do it for fun and I'm trying my best to make your viewing experience as enjoyable as possible :)
| App | Package | Status | Tested Version | Date |
|---|---|---|---|---|
| 🟢 Disney+ | com.disney.disneyplus | Working | 26.16.0+rc2-2026.09.08 | 9/14/26 |
| 🟢 Prime Video | com.amazon.amazonvideo.livingroom | Working — native in-app ad strip (movies + TV shows), no DNS required. ⚠️ Use 6.23.23 / engine v15.5.x; do NOT update to 6.24.x (engine v16) — v16 moved the ad pipeline into the native engine, so ads return there (#120). Keep auto-updates disabled | 6.23.23+v15.5.0.70-armv7a | 7/30/26 |
| 🟢 Netflix | com.netflix.ninja | Working — native in-app ad strip (pre-roll, mid-roll, pause-screen ad), no DNS required. Installs as a side-by-side clone; keep stock Netflix installed | 13.0.1 build 25028 | 9/14/26 |
| 🟢 HBO Max | com.wbd.hbomax | Working — fully ad-free by default (v1.30.0). The Prefer Ad-Free Stream patch loads HBO's own ad-free manifest (its resiliency-fallback stream), so pre-rolls, mid-rolls, and even the ad-tier's stitched SSAI baked-in ads are gone — along with the ad markers/countdown — on both fresh start and resume, and it loads faster. No DNS required. (Legacy opt-in Block SSAI Ad Origins is now off by default and superseded.) | v7.9.0.61 | 8/26/26 |
| 🟢 Peacock | com.peacocktv.peacockandroid | Working — no DNS required | v7.8.100 | 9/6/26 |
| 🟢 Tubi | com.tubitv | Working | v10.28.5000 | 7/20/26 |
| 🟢 ViX | com.univision.prendetv | Working | v4.47.2_tv | 7/11/26 |
| 🟢 Pluto TV | tv.pluto.android | Working — VOD ad breaks removed (video, markers, beacons); LIVE TV breaks maskable (black screen + mute) via optional patch | 5.66.0-leanback | 9/7/26 |
| 🟢 Paramount+ | com.cbs.ott | Working — VOD ads removed (movies + TV shows, pre-roll + mid-roll); pause ads removed; live TV preserved | v16.17.0 | 8/4/26 |
| 🟢 Twitch | tv.twitch.android.app | Working — Android TV "Starshot" build only; install exactly 13.0.0.2 (the phone app is not supported — do not use the phone APK). Removes the on-screen ad-pod overlay/countdown ("Ad · 1 of 3") and blanks stitched (SSAI) ad video on live streams. A brief black gap can remain during a break; a VPN set to Albania is fully ad-free — see notes | 13.0.0.2 | 8/22/26 |
| 🟢 ESPN | com.espn.score_center | Working — Android TV only. Live commercial breaks masked with a full-screen slate + audio mute (passthrough SSAI can't be removed, only covered); VOD/scheduled ads suppressed. No DNS required | 6.11.1 | 9/5/26 |
| 🟢 RTÉ Player | com.twentyfouri.tvbridge.rte | Working — Android TV, VOD only. Client-side (Google IMA) pre-roll + mid-roll ads removed seamlessly (no ad, no break pause). Live channels keep ads (server-stitched). Geo-locked to Ireland — use a VPN; needs a valid RTÉ account | 3.160.3 | 9/14/26 |
| 🔴 Fox One | Under Development | — | ||
| 🔴 MLB TV | Under Development | — |
🟢 Working 🟡 Partial/Testing 🔴 Under Development / Broken
All patches follow the same general workflow using Morphe Manager:
.apkm from APKMirror — use the direct links below.apkm file⚠️ Get the Android TV build, not the phone or Fire TV build. Each direct link below points at the app's Android TV listing on APKMirror. Several of these apps ship a separate phone build and/or a Fire TV build under the same package name — those will patch incorrectly or not at all. On the listing, match the exact version named below and download the
.apkm(App Bundle), not a single-arch.apk.
26.16.0+rc2-2026.09.08.apkm file7.7.0.78 if unavailable)
⚠️ Get the right package. These patches target
com.wbd.hbomax. WarnerMedia also publishes a separatecom.wbd.streambuild under a near-identical name, and APKMirror's listing URLs for this app have shifted between the two before — don't trust the listing title alone. Confirm the download page shows packagecom.wbd.hbomaxbefore downloading.
.apkm file💡 Want ads gone completely? The default Disable Ads patch strips ad markers/UI, but on the ad-supported tier the ad video is server-side stitched (SSAI) and still plays. Also enable the opt-in Block SSAI Ad Origins patch to remove it entirely — it fails the SSAI ad origins (
*-free.prd.media.max.com, GMSS, FreeWheel) so the app falls back to the clean, ad-free stream, reproducing the AdGuard DNS block in-app. Experimental / opt-in; expect a slightly longer initial load while the ad origin is refused.
6.23.23+v15.5.0.70-armv7a.apkm file🟢 Working — no DNS filter needed. Ads are stripped in-app by a native hook (
libpvhook.so), so movies and TV shows play ad-free without any external DNS blocklist, proxy, or root. Movie prerolls/mid-rolls and TV-show prerolls/mid-rolls are all removed on the device before they play.⚠️ Stay on
6.23.23(enginev15.5.x) — do NOT update to6.24.x(enginev16). In v16 Amazon moved the ad pipeline into the app's native engine, out of reach of the current strip, so ads return on 6.24.x (#120). Enable Disable auto-updates when patching (on by default) so Amazon can't push you to v16. If you're already on 6.24.x, uninstall and reinstall6.23.23.TV-show ad removal is newly shipped (v1.16.0) and in wider testing. One known edge case: very aggressive fast-forward + resume can occasionally nudge the playback position; it self-heals on a full playthrough and normal viewing is unaffected. Please report anything else via an issue.
📄 Full write-up: see
docs/PRIME_VIDEO_ANNOUNCEMENT.mdfor how the current native (libpvhook.so) approach works and complete install recommendations. The original Reddit announcement is archived for transparency atdocs/archive/2026-07_prime-video-reddit-post.md.
🟢 Working — no DNS filter needed. Pre-rolls, mid-rolls, and the full-screen pause-screen ad are removed in-app by an in-process script that the app runs itself at launch (no PC, no root, no frida server). Verified on-device: Netflix's servers still deliver real ad breaks and none of them play.
ℹ️ Netflix's ad logic is downloaded JavaScript, not baked into the APK. That means Netflix can change how ads are delivered server-side at any time, with no app update — so an ad can occasionally reappear until the in-app strip is re-pointed at the new delivery path. The strip already covers several such paths (dynamic server-side insertion and the legacy manifest model) and is kept updated to match. If you ever see an ad, first make sure you're on the latest patch; if it persists, please open an issue.
🔐 Two apps, on purpose — keep BOTH installed. Netflix on a TV is a preinstalled, Netflix-signed system app that can't be replaced or uninstalled without root, so the patch installs as a separate clone (
com.netflix.ninja.clone) next to it. The clone passes Netflix's built-in tamper check by reading the stock app's genuine signature — so stock Netflix must stay installed and enabled (you just never open it; letting it auto-update is fine). Log into the clone and use that. Don't disable or uninstall stock Netflix, or the clone won't start.
com.netflix.ninja) and select version 13.0.1 build 25028armeabi-v7a APK (APKMirror may name the file differently, but the variant row is labeled armeabi-v7a). Match 13.0.1 build 25028; Morphe Manager will show it as Recommended..apk in Morphe Manager⚠️ Not a subscription bypass. You need a valid, paid Netflix account and you log in normally. This only removes ads and trims device telemetry inside an app you're already entitled to use.
🟢 Recommended version:
v16.17.0. VOD ads (movies and TV shows, pre-roll and mid-roll) and pause ads are removed, while live TV is preserved. This is the version to patch and install right now.🟡 Stable fallback:
v16.8.0. The previous recommended build. Use it only if you can't getv16.17.0.
16.8.0 if unavailable).apkm file10.28.5000.apkm file4.47.2_tv (or the fallback 4.46.0_tv).apkm file🟢 Working. Pluto is a free, 100% ad-supported (FAST) service that uses server-side ad stitching (SSAI) — ads are baked into the same stream as the content, so there is no ad domain to block and no ad-free tier to unlock. This patch empties the client-side ad-break timeline, which removes on-demand (VOD) ad breaks entirely: ad video, timeline markers, overlays, and tracking beacons. LIVE TV ads are real broadcast time in the linear feed and cannot be removed — but the separate Mask live ad breaks patch hides them (see below). DNS filters do not help here.
5.66.0-leanback-leanback build — not the phone or Fire TV build.apkm file📺 Mask live ad breaks (black screen + mute). Live/linear Pluto ads occupy real broadcast time and can't be deleted like VOD ads, so this optional patch masks the break instead: during a live commercial it covers the player with a black screen and mutes the audio, then restores both the instant the show returns — so gambling, drinking, or any other live ad is blanked and silenced. It reads Pluto's own ad-state signal, so it needs no polling and works alongside the main Skip ads patch. It's opt-out (leave it off to watch live ads normally). Runtime tweaks via marker files in the app's external files dir (
Android/data/tv.pluto.android/files/): createslate_offto disable it on-device without re-patching, orpluto_slate_modecontainingblack(cover only) ormute(mute only) instead of the default both.
7.8.100 — use this link rather than searching, which can land on a similarly-named build). Versions 7.5.102 and 7.6.100 are also supported..apkm file⚠️ Fire TV & preinstalled/system-app devices: enable the
Clone Peacockpatch before applying. On many Fire TV sticks and some Android TV boxes, Peacock ships as a system app that can't be uninstalled. Installing the patched build over it fails with a signature orCONFLICTING_PROVIDERerror. The Clone Peacock patch (opt-in, off by default) installs the patched app side-by-side under its own package, so it appears as a second Peacock icon and keeps its own login. Leave it off only if you were able to fully uninstall the stock Peacock first (a normal in-place install is cleaner). The Disable auto-updates patch is on by default and stops the Play Store from silently replacing the patched build.
🟢 Working — Android TV "Starshot" build only (
13.0.0.2). Twitch live ads are server-side stitched (SSAI) into the same stream as the content, and the TV app runs Twitch's web player inside a WebView. This patch intercepts the live HLS playlist and both (a) strips the client-side ad-pod tags that drive the on-screen "Ad · 1 of 3" countdown/overlay and (b) blanks the stitched ad video. Real ad breaks no longer play as an ad. Because the ad occupies real live stream time, a brief black gap can remain during a break — the ad video is gone, but that slice of live time still has to pass. DNS filters do not help here.💡 Want zero ads and no black gap? Point a VPN at Albania — Twitch serves that region genuinely ad-free playlists (no ad is stitched at all). Verified first-hand with NordVPN → Albania; pair it with the patch and you're fully covered.
13.0.0.2)13.0.0.2 "Starshot" build — not the phone or Fire TV build (the patch targets this TV build specifically).apkm file🟢 Working — Android TV only (
6.11.1). ESPN live commercial breaks are native passthrough SSAI — the ad is stitched into the same stream as the game, so it cannot be removed, only masked. This patch detects each break from the stream's own ad markers and covers the player with a full-screen slate while muting the player, then lifts cleanly when live content resumes. VOD / scheduled ads are separately suppressed. DNS filters do not help here.
6.11.1) — use this link rather than searching, to avoid landing on the phone build or a different version6.11.1 build (package com.espn.score_center).apkm filePatch options
| Patch | Default | What it does |
|---|---|---|
| ESPN Android TV | ✅ On (core) | Suppresses VOD / scheduled ads by forcing the DMP SGAI isAdDisabled flag. Always keep this on. |
| ESPN live commercial-break slate | ✅ On | Masks live passthrough-SSAI breaks with a full-screen slate + mute. Deselect if you only want VOD ad suppression and no on-screen slate during live breaks. |
| Disable auto-updates | ✅ On | Stops the Play Store from silently reinstalling the official ESPN and wiping the patch. Update deliberately by re-patching a newer APK. |
| Clone ESPN | ⬜ Off (opt-in) | Installs the patched app alongside a stock ESPN that can't be uninstalled (common on Amazon Fire TV and some TV boxes). Gives it its own package/icon. Leave off if you could uninstall the original first. |
Live-slate styles (on-device): while a break is up, press the D-pad to open an on-screen picker and switch between Video (your own clips), Video + Score (clips + a live-score strip), Be Right Back (ESPN Ad-Break Overlay) (an animated broadcast graphic with a live countdown), and Blank. Slate media is user-supplied local files placed in the app's external files dir — nothing is bundled. Drop a slate_off marker file to disable the live slate without re-patching. See slates/espn_overlay/ for the animated overlay assets and setup.
3.160.3.apkm file🟢 Working — Android TV, VOD only. Client-side (Google IMA) pre-roll and mid-roll ads are removed in-app — content plays straight through where a break would be, with no ad and no pause. No DNS filter needed.
⚠️ Geo-locked to Ireland. RTÉ Player only streams from an Irish IP, so you need a VPN set to Ireland (and a valid RTÉ account — this only removes ads, it's not an access bypass).
ℹ️ Live channels still show ads. Live is server-stitched (DAI) into the video itself, which can't be removed client-side without breaking the stream — only on-demand (VOD) is covered. A cosmetic ad-break marker may still appear on the scrubber, but it no longer pauses playback.
🔴 Currently under development. Install instructions will be added once a stable patch is available.
This patch template is based on the prior work of ReVanced. All modifications made by Morphe, along with their dates, can be found in the Git history.
Twitch ad-suppression techniques are informed by:
All Twitch techniques were independently re-derived via dex disassembly and are not copied from these projects' source code. See NOTICE for full attribution details.
Netflix household-prompt suppression is informed by:
CLCSInterstitialPlaybackAndPostPlayback interstitialOur "Suppress Household Prompt" patch shares no source code with Nikflix — it is an independent implementation for the Android TV app (com.netflix.ninja), located by analyzing our own on-device appboot heap dumps. Nikflix is credited for identifying the enforcement seam. See NOTICE.
ESPN live-score slate (optional scoreboard overlay) uses ESPN's public "hidden" stats API, documented by the community:
We use only the publicly documented, unauthenticated scoreboard endpoints for read-only live scores; no source code from these projects is included. Thanks to their maintainers.
ajstrick81 Morphe Patches are licensed under the GNU General Public License v3.0.
Kotlin
56.9%
Java
19.0%
JavaScript
9.1%
C++
7.2%
Shell
5.7%
HTML
1.3%
Built on the Shoulders of Giants
Huge shout-out to the Morphe Team for creating this beautiful community
I'm just like you — I enjoy watching TV and movies without being bored and annoyed to death by ads. I'll try to keep this repo updated when I can. I only do it for fun and I'm trying my best to make your viewing experience as enjoyable as possible :)
| App | Package | Status | Tested Version | Date |
|---|---|---|---|---|
| 🟢 Disney+ | com.disney.disneyplus | Working | 26.16.0+rc2-2026.09.08 | 9/14/26 |
| 🟢 Prime Video | com.amazon.amazonvideo.livingroom | Working — native in-app ad strip (movies + TV shows), no DNS required. ⚠️ Use 6.23.23 / engine v15.5.x; do NOT update to 6.24.x (engine v16) — v16 moved the ad pipeline into the native engine, so ads return there (#120). Keep auto-updates disabled | 6.23.23+v15.5.0.70-armv7a | 7/30/26 |
| 🟢 Netflix | com.netflix.ninja | Working — native in-app ad strip (pre-roll, mid-roll, pause-screen ad), no DNS required. Installs as a side-by-side clone; keep stock Netflix installed | 13.0.1 build 25028 | 9/14/26 |
| 🟢 HBO Max | com.wbd.hbomax | Working — fully ad-free by default (v1.30.0). The Prefer Ad-Free Stream patch loads HBO's own ad-free manifest (its resiliency-fallback stream), so pre-rolls, mid-rolls, and even the ad-tier's stitched SSAI baked-in ads are gone — along with the ad markers/countdown — on both fresh start and resume, and it loads faster. No DNS required. (Legacy opt-in Block SSAI Ad Origins is now off by default and superseded.) | v7.9.0.61 | 8/26/26 |
| 🟢 Peacock | com.peacocktv.peacockandroid | Working — no DNS required | v7.8.100 | 9/6/26 |
| 🟢 Tubi | com.tubitv | Working | v10.28.5000 | 7/20/26 |
| 🟢 ViX | com.univision.prendetv | Working | v4.47.2_tv | 7/11/26 |
| 🟢 Pluto TV | tv.pluto.android | Working — VOD ad breaks removed (video, markers, beacons); LIVE TV breaks maskable (black screen + mute) via optional patch | 5.66.0-leanback | 9/7/26 |
| 🟢 Paramount+ | com.cbs.ott | Working — VOD ads removed (movies + TV shows, pre-roll + mid-roll); pause ads removed; live TV preserved | v16.17.0 | 8/4/26 |
| 🟢 Twitch | tv.twitch.android.app | Working — Android TV "Starshot" build only; install exactly 13.0.0.2 (the phone app is not supported — do not use the phone APK). Removes the on-screen ad-pod overlay/countdown ("Ad · 1 of 3") and blanks stitched (SSAI) ad video on live streams. A brief black gap can remain during a break; a VPN set to Albania is fully ad-free — see notes | 13.0.0.2 | 8/22/26 |
| 🟢 ESPN | com.espn.score_center | Working — Android TV only. Live commercial breaks masked with a full-screen slate + audio mute (passthrough SSAI can't be removed, only covered); VOD/scheduled ads suppressed. No DNS required | 6.11.1 | 9/5/26 |
| 🟢 RTÉ Player | com.twentyfouri.tvbridge.rte | Working — Android TV, VOD only. Client-side (Google IMA) pre-roll + mid-roll ads removed seamlessly (no ad, no break pause). Live channels keep ads (server-stitched). Geo-locked to Ireland — use a VPN; needs a valid RTÉ account | 3.160.3 | 9/14/26 |
| 🔴 Fox One | Under Development | — | ||
| 🔴 MLB TV | Under Development | — |
🟢 Working 🟡 Partial/Testing 🔴 Under Development / Broken
All patches follow the same general workflow using Morphe Manager:
.apkm from APKMirror — use the direct links below.apkm file⚠️ Get the Android TV build, not the phone or Fire TV build. Each direct link below points at the app's Android TV listing on APKMirror. Several of these apps ship a separate phone build and/or a Fire TV build under the same package name — those will patch incorrectly or not at all. On the listing, match the exact version named below and download the
.apkm(App Bundle), not a single-arch.apk.
26.16.0+rc2-2026.09.08.apkm file7.7.0.78 if unavailable)
⚠️ Get the right package. These patches target
com.wbd.hbomax. WarnerMedia also publishes a separatecom.wbd.streambuild under a near-identical name, and APKMirror's listing URLs for this app have shifted between the two before — don't trust the listing title alone. Confirm the download page shows packagecom.wbd.hbomaxbefore downloading.
.apkm file💡 Want ads gone completely? The default Disable Ads patch strips ad markers/UI, but on the ad-supported tier the ad video is server-side stitched (SSAI) and still plays. Also enable the opt-in Block SSAI Ad Origins patch to remove it entirely — it fails the SSAI ad origins (
*-free.prd.media.max.com, GMSS, FreeWheel) so the app falls back to the clean, ad-free stream, reproducing the AdGuard DNS block in-app. Experimental / opt-in; expect a slightly longer initial load while the ad origin is refused.
6.23.23+v15.5.0.70-armv7a.apkm file🟢 Working — no DNS filter needed. Ads are stripped in-app by a native hook (
libpvhook.so), so movies and TV shows play ad-free without any external DNS blocklist, proxy, or root. Movie prerolls/mid-rolls and TV-show prerolls/mid-rolls are all removed on the device before they play.⚠️ Stay on
6.23.23(enginev15.5.x) — do NOT update to6.24.x(enginev16). In v16 Amazon moved the ad pipeline into the app's native engine, out of reach of the current strip, so ads return on 6.24.x (#120). Enable Disable auto-updates when patching (on by default) so Amazon can't push you to v16. If you're already on 6.24.x, uninstall and reinstall6.23.23.TV-show ad removal is newly shipped (v1.16.0) and in wider testing. One known edge case: very aggressive fast-forward + resume can occasionally nudge the playback position; it self-heals on a full playthrough and normal viewing is unaffected. Please report anything else via an issue.
📄 Full write-up: see
docs/PRIME_VIDEO_ANNOUNCEMENT.mdfor how the current native (libpvhook.so) approach works and complete install recommendations. The original Reddit announcement is archived for transparency atdocs/archive/2026-07_prime-video-reddit-post.md.
🟢 Working — no DNS filter needed. Pre-rolls, mid-rolls, and the full-screen pause-screen ad are removed in-app by an in-process script that the app runs itself at launch (no PC, no root, no frida server). Verified on-device: Netflix's servers still deliver real ad breaks and none of them play.
ℹ️ Netflix's ad logic is downloaded JavaScript, not baked into the APK. That means Netflix can change how ads are delivered server-side at any time, with no app update — so an ad can occasionally reappear until the in-app strip is re-pointed at the new delivery path. The strip already covers several such paths (dynamic server-side insertion and the legacy manifest model) and is kept updated to match. If you ever see an ad, first make sure you're on the latest patch; if it persists, please open an issue.
🔐 Two apps, on purpose — keep BOTH installed. Netflix on a TV is a preinstalled, Netflix-signed system app that can't be replaced or uninstalled without root, so the patch installs as a separate clone (
com.netflix.ninja.clone) next to it. The clone passes Netflix's built-in tamper check by reading the stock app's genuine signature — so stock Netflix must stay installed and enabled (you just never open it; letting it auto-update is fine). Log into the clone and use that. Don't disable or uninstall stock Netflix, or the clone won't start.
com.netflix.ninja) and select version 13.0.1 build 25028armeabi-v7a APK (APKMirror may name the file differently, but the variant row is labeled armeabi-v7a). Match 13.0.1 build 25028; Morphe Manager will show it as Recommended..apk in Morphe Manager⚠️ Not a subscription bypass. You need a valid, paid Netflix account and you log in normally. This only removes ads and trims device telemetry inside an app you're already entitled to use.
🟢 Recommended version:
v16.17.0. VOD ads (movies and TV shows, pre-roll and mid-roll) and pause ads are removed, while live TV is preserved. This is the version to patch and install right now.🟡 Stable fallback:
v16.8.0. The previous recommended build. Use it only if you can't getv16.17.0.
16.8.0 if unavailable).apkm file10.28.5000.apkm file4.47.2_tv (or the fallback 4.46.0_tv).apkm file🟢 Working. Pluto is a free, 100% ad-supported (FAST) service that uses server-side ad stitching (SSAI) — ads are baked into the same stream as the content, so there is no ad domain to block and no ad-free tier to unlock. This patch empties the client-side ad-break timeline, which removes on-demand (VOD) ad breaks entirely: ad video, timeline markers, overlays, and tracking beacons. LIVE TV ads are real broadcast time in the linear feed and cannot be removed — but the separate Mask live ad breaks patch hides them (see below). DNS filters do not help here.
5.66.0-leanback-leanback build — not the phone or Fire TV build.apkm file📺 Mask live ad breaks (black screen + mute). Live/linear Pluto ads occupy real broadcast time and can't be deleted like VOD ads, so this optional patch masks the break instead: during a live commercial it covers the player with a black screen and mutes the audio, then restores both the instant the show returns — so gambling, drinking, or any other live ad is blanked and silenced. It reads Pluto's own ad-state signal, so it needs no polling and works alongside the main Skip ads patch. It's opt-out (leave it off to watch live ads normally). Runtime tweaks via marker files in the app's external files dir (
Android/data/tv.pluto.android/files/): createslate_offto disable it on-device without re-patching, orpluto_slate_modecontainingblack(cover only) ormute(mute only) instead of the default both.
7.8.100 — use this link rather than searching, which can land on a similarly-named build). Versions 7.5.102 and 7.6.100 are also supported..apkm file⚠️ Fire TV & preinstalled/system-app devices: enable the
Clone Peacockpatch before applying. On many Fire TV sticks and some Android TV boxes, Peacock ships as a system app that can't be uninstalled. Installing the patched build over it fails with a signature orCONFLICTING_PROVIDERerror. The Clone Peacock patch (opt-in, off by default) installs the patched app side-by-side under its own package, so it appears as a second Peacock icon and keeps its own login. Leave it off only if you were able to fully uninstall the stock Peacock first (a normal in-place install is cleaner). The Disable auto-updates patch is on by default and stops the Play Store from silently replacing the patched build.
🟢 Working — Android TV "Starshot" build only (
13.0.0.2). Twitch live ads are server-side stitched (SSAI) into the same stream as the content, and the TV app runs Twitch's web player inside a WebView. This patch intercepts the live HLS playlist and both (a) strips the client-side ad-pod tags that drive the on-screen "Ad · 1 of 3" countdown/overlay and (b) blanks the stitched ad video. Real ad breaks no longer play as an ad. Because the ad occupies real live stream time, a brief black gap can remain during a break — the ad video is gone, but that slice of live time still has to pass. DNS filters do not help here.💡 Want zero ads and no black gap? Point a VPN at Albania — Twitch serves that region genuinely ad-free playlists (no ad is stitched at all). Verified first-hand with NordVPN → Albania; pair it with the patch and you're fully covered.
13.0.0.2)13.0.0.2 "Starshot" build — not the phone or Fire TV build (the patch targets this TV build specifically).apkm file🟢 Working — Android TV only (
6.11.1). ESPN live commercial breaks are native passthrough SSAI — the ad is stitched into the same stream as the game, so it cannot be removed, only masked. This patch detects each break from the stream's own ad markers and covers the player with a full-screen slate while muting the player, then lifts cleanly when live content resumes. VOD / scheduled ads are separately suppressed. DNS filters do not help here.
6.11.1) — use this link rather than searching, to avoid landing on the phone build or a different version6.11.1 build (package com.espn.score_center).apkm filePatch options
| Patch | Default | What it does |
|---|---|---|
| ESPN Android TV | ✅ On (core) | Suppresses VOD / scheduled ads by forcing the DMP SGAI isAdDisabled flag. Always keep this on. |
| ESPN live commercial-break slate | ✅ On | Masks live passthrough-SSAI breaks with a full-screen slate + mute. Deselect if you only want VOD ad suppression and no on-screen slate during live breaks. |
| Disable auto-updates | ✅ On | Stops the Play Store from silently reinstalling the official ESPN and wiping the patch. Update deliberately by re-patching a newer APK. |
| Clone ESPN | ⬜ Off (opt-in) | Installs the patched app alongside a stock ESPN that can't be uninstalled (common on Amazon Fire TV and some TV boxes). Gives it its own package/icon. Leave off if you could uninstall the original first. |
Live-slate styles (on-device): while a break is up, press the D-pad to open an on-screen picker and switch between Video (your own clips), Video + Score (clips + a live-score strip), Be Right Back (ESPN Ad-Break Overlay) (an animated broadcast graphic with a live countdown), and Blank. Slate media is user-supplied local files placed in the app's external files dir — nothing is bundled. Drop a slate_off marker file to disable the live slate without re-patching. See slates/espn_overlay/ for the animated overlay assets and setup.
3.160.3.apkm file🟢 Working — Android TV, VOD only. Client-side (Google IMA) pre-roll and mid-roll ads are removed in-app — content plays straight through where a break would be, with no ad and no pause. No DNS filter needed.
⚠️ Geo-locked to Ireland. RTÉ Player only streams from an Irish IP, so you need a VPN set to Ireland (and a valid RTÉ account — this only removes ads, it's not an access bypass).
ℹ️ Live channels still show ads. Live is server-stitched (DAI) into the video itself, which can't be removed client-side without breaking the stream — only on-demand (VOD) is covered. A cosmetic ad-break marker may still appear on the scrubber, but it no longer pauses playback.
🔴 Currently under development. Install instructions will be added once a stable patch is available.
This patch template is based on the prior work of ReVanced. All modifications made by Morphe, along with their dates, can be found in the Git history.
Twitch ad-suppression techniques are informed by:
All Twitch techniques were independently re-derived via dex disassembly and are not copied from these projects' source code. See NOTICE for full attribution details.
Netflix household-prompt suppression is informed by:
CLCSInterstitialPlaybackAndPostPlayback interstitialOur "Suppress Household Prompt" patch shares no source code with Nikflix — it is an independent implementation for the Android TV app (com.netflix.ninja), located by analyzing our own on-device appboot heap dumps. Nikflix is credited for identifying the enforcement seam. See NOTICE.
ESPN live-score slate (optional scoreboard overlay) uses ESPN's public "hidden" stats API, documented by the community:
We use only the publicly documented, unauthenticated scoreboard endpoints for read-only live scores; no source code from these projects is included. Thanks to their maintainers.
ajstrick81 Morphe Patches are licensed under the GNU General Public License v3.0.
Kotlin
56.9%
Java
19.0%
JavaScript
9.1%
C++
7.2%
Shell
5.7%
HTML
1.3%