MCPcopy
hub / github.com/yuliskov/SmartTube

github.com/yuliskov/SmartTube @31.94s sqlite

repository ↗ · DeepWiki ↗ · release 31.94s ↗
0 symbols 0 edges 0 files 0 documented · 0%
README

Get it on F-Droid Get it on GitHub

Important announcement about the app

My development environment was infected by unknown malicious software, as a result of which a few builds may have been affected. Once the issue was detected, I secured everything with a full disk wipe, restored a clean setup, and now all builds are scanned with VirusTotal. The F-Droid version will also be verified before release.

Public keys may have been compromised, which is why I am sharing this issue. You can download the new version and the new public key below, and instructions for restoring backups are provided.

No extra actions are required since the app uses one-time connection codes. These codes have very limited permissions (for example, they cannot change your password). Still, you can revoke them if you want full peace of mind.

How to revoke access:

  1. Open myaccount.google.com/security
  2. Find “Your connections to third-party apps & services”
  3. Tap “See all connection” and locate YouTube TV or Google Drive
  4. Select the app → “Remove access”

Please keep built-in security features enabled to stay protected.

SmartTube

The app screenshot

SmartTube is a free and open-source media client for Android TVs and TV boxes. It allows you to browse and play content from various public sources in a TV-optimized interface.

✅ Features

  • Clean interface
  • SponsorBlock integration
  • Adjustable playback speed
  • 8K resolution support
  • 60fps playback
  • HDR compatibility
  • View live chat
  • Customizable buttons
  • Does not require Google Services
  • Helpful international community

❌ Limitations

  • Not supported on phones and tablets
  • Comment functionality is unstable
  • Voice search and casting performance may be inferior to official apps, depending on your device

Give it a try!

Do you have any question? Ctrl+F or ⌘F this readme first!

Installation | Official Site | Donation | FAQ | Support / Chat | Build | Translate the app | Changelog | Liability

Device support

[!IMPORTANT]
Starting in October 2025 new Amazon FireTV devices no longer run Android under the hood. SmartTube will not be compatibile with the Fire Stick 4k Select and newer devices which run Amazon's own VegaOS.

Device support image * Supported: all Android TVs and TV boxes (incl. All FireTV devices released before Oct. 2025, NVIDIA Shield & Chromecast with Google TV), even older ones with Android 4.3 (Kitkat). * Not supported: Smartphones, non-Android platforms like Samsung Tizen, LG webOS, Apple TV, etc.

Installation

video of the installation (note: download url changed to kutt.to/stn_beta or kutt.to/stn_stable)

Do not download SmartTube from any app store, APK websites or blogs; these were uploaded by other people and may contain malware or ads. SmartTube is not officially published on any app store.

There is a beta release (recommended) and a stable release. Beta gets new features and bugfixes faster than the stable release.

You can use either of the following methods to install the app:

  • (Easiest) Install Downloader by AFTVnews on your Android TV, open it and enter kutt.to/stn_beta or kutt.to/stn_stable, then read, understand and confirm the security prompts. (You can also enter 79015 (for beta) or 28544 (for stable), but this requires an extra step to install the AFTVnews Downloader browser addon if you haven't already.)
  • Install a file transfer app on your Android TV, download the APK on your phone or computer and transfer it to your TV (e.g. Send Files to TV from the Google Play Store / Amazon AppStore)
  • Download the APK onto a USB stick, put the USB stick into your TV and use a file manager app from the Google Play Store / Amazon AppStore (e.g. FX File Explorer or X-plore). Android's preinstalled file manager does not work! Do not get the ad-infested FileCommander.
  • If you are an advanced user, you can install it using ADB. guide | alternative guide

Troubleshooting: See device specific notes below. If installation fails, either your disk space is full or the APK file didn't download correctly; clear up space and try downloading again. If the app installed, but crashes when opening, make sure to install it to internal memory, not to an SD card / external storage.

The app has a built-in updater with changelog. You can also find all releases and the changelog on the Telegram channel @SmartTubeNewsEN (readable without account) or on Github.

latest beta download

latest stable download

Installation (Chromecast with Google TV)

On Chromecast with Google TV, installation of apps is blocked by default, so an extra step is required:

4.1. Enable Developer Options

On your Chromecast, open the side menu and go to Settings > System > About. Scroll down to the Android TV OS build section and click that repeatedly. A toast message will appear, explaining that you are a few steps away from being a developer. Continue clicking until you trigger it.

4.2. Turn on the "unknown sources" setting

Go back to the main Settings page and select Apps > Security & Restrictions > Unknown sources. Turn on the toggle for [Downloader by AFTVnews or] whichever file browser you decided to use [...].

[source & picture guide]

After this, you can follow the general installation guide above.

Installation (Xiaomi devices with Chinese firmware)

Xiaomi's Chinese firmware might block the installation of the beta version. The international firmware is not affected. Solutions: 1. Use SmartTube's stable version instead (recommended) 2. Use the international firmware for your device 3. (if your device is from 2020 or before) You can do a factory reset and then install SmartTube beta before doing any system updates. You can then safely update your system, SmartTube should continue working.

Updating

The app has a built-in updater. You only need to follow the installation procedure once. A few seconds after launching SmartTube, it will notify you if there is any update and also show a changelog. You can disable automatic update checks or manually update in the settings under "about".

If the installation fails, either your disk space is full or the update didn't download correctly; clear up space and try updating again (Settings > About > Check for updates).

Compatibility

SmartTube requires Android 4.3 or above. It does not work on non-Android devices (incl. LG or Samsung TVs). On unsupported TVs, you can use a TV stick or TV box. Though this app technically runs on smartphones and tablets, it is not optimized for such and offers no official support!

It has been successfully tested on TVs, TV boxes and TV sticks that are based on Android, including:

  • Android TVs & Google TVs (e.g. Philips, Sony)
  • Chromecast with Google TV & TVs with Chromecast built-in
  • Amazon FireTV stick (all generations)
  • NVIDIA Shield
  • TV boxes running Android (many cheap chinese no-name boxes)
  • Xiaomi Mi Box

Features

Interface

SmartTube focuses on a clean and distraction-free interface for watching media content. The app does not include advertising UI elements and focuses on playback and browsing experience instead.

SponsorBlock

SmartTube includes optional SponsorBlock integration. From the SponsorBlock website:

SponsorBlock is an open-source crowdsourced browser extension and open API for skipping sponsor segments in YouTube videos. [...] the extension automatically skips sponsors it knows about using a privacy preserving query system. It also supports skipping other categories, such as intros, outros and reminders to subscribe [and non-music parts in music videos].

You can select which categories you want to skip in the settings. Unlike the browser addon, in SmartTube you cannot submit new segments (TVs and TV remotes aren't great devices for such precise operations). Note that SponsorBlock is a free and voluntary project based on user submissions, so don't expect it to 100% work every time. Sometimes, sponsor segments are not yet submitted to the database, sometimes the SponsorBlock servers are offline/overloaded.

Casting

To cast videos from your phone (or other devices), you must link that device to your TV. Unlike the original YouTube app, SmartTube does not automatically show up when you are in the same wifi network. How to link your smartphone and TV:

  1. open SmartTube and go to settings
  2. go to "Remote control" (2nd option)
  3. open your YouTube app on your phone, go to settings > General > watch on TV
  4. click on connect using TV-code and enter the code from your TV

Screenshot guide

Due to technical limitations, you need to open the app on the TV before casting; SmartTube cannot automatically wake up the TV.

Picture-in-Picture (PiP)

SmartTube supports playing videos in PiP mode. This needs to be enabled under Settings > General > Background playback > Picture in picture. The video will go into PiP mode when you press home while playing a video, and also when you press back if enabled in Settings > General > Background playback (activation).

Adjust Speed

You can adjust the playback speed pressing the speed-indicator icon (gauge) in the top row of the player. This is remembered across videos. Some speeds may case frame drops, this is a known issue.

Voice Search

To enable global voice search, an additional app must be installed alongside SmartTube. This bridge app allows the system voice search to open SmartTube instead of the default YouTube app. For this to work, you must uninstall the original YouTube app. We know this sucks, but you can always reinstall it if you change your mind. The bridge app will not show up in your launcher and you cannot launch it directly; it is only used internally by the system's voice search. On some devices, you need to explicitly say "Youtube" when searching (e.g. say "youtube cute cats" instead of just "cute cats").

On Amazon Fire TV:

  1. Uninstall the original YouTube app (no root required)
  2. Download and install the Amazon Bridge SmartTube app: https://kutt.to/stn_bridge_amazon (e.g. via Downloader by AFTVnews)

On Google Chromecast with Google TV:

  1. Uninstall the original YouTube app (no root required)
  2. Download and install the ATV Bridge SmartTube app: https://kutt.to/stn_bridge_atv (e.g. via Downloader by AFTVnews)

On all other Android devices, sadly root is required to enable this:

  1. Root your device (search for a guide for your specific device)
  2. Uninstall the official YouTube app using root (adb shell pm uninstall com.google.android.youtube.tv)
  3. Download and install the ATV Bridge SmartTube app: https://kutt.to/stn_bridge_atv (e.g. via Downloader by AFTVnews)

Donation

If you want to support my developments you are welcome to buy me a cup of coffee :)

  • Patreon (Visa, Mastercard, PayPal)
  • PayPal: firsthash@gmail.com

  • BTC: 1JAT5VVWarVBkpVbNDn8UA8HXNdrukuBSx

  • LTC: ltc1qgc24eq9jl9cq78qnd5jpqhemkajg9vudwyd8pw
  • ETH: 0xe455E21a085ae195a097cd4F456051A9916A5064
  • ETC: 0x209eCd33Fa61fA92167595eB3Aea92EE1905c815
  • TRX: TJNPY794aSGZf3WGHTna2VCWm2G5Yua7E8
  • USDT (TRC20): TJNPY794aSGZf3WGHTna2VCWm2G5Yua7E8
  • USDT (BEP20): 0x64B28da787BE6ac5889D276A5638d4f077840eC5
  • USDT (ERC20): 0xe455e21a085ae195a097cd4f456051a9916a5064
  • TON: UQAc9zgnnzwS8yb5wxAu5CB0RddmjPBjWI-n46oQ7XfCQrgI
  • XMR: 48QsMjqfkeW54vkgKyRnjodtYxdmLk6HXfTWPSZoaFPEDpoHDwFUciGCe1QC9VAeGrgGw4PKNAksX9RW7myFqYJQDN5cHGT

Support

Please check the FAQ first! Also at least have a short look at the recent chat history.

You can report in our Telegram group or via issue tracker on Github (account required).

  • Telegram group (international): @SmartTubeEN
  • **Discord group (internatio

Core symbols most depended-on inside this repo

getContext
called by 1441
common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/interfaces/Presenter.java
add
called by 1321
exoplayer-amzn-2.10.6/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/MediaItemQueue.java
put
called by 1046
exoplayer-amzn-2.10.6/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsChunkSource.java
get
called by 956
exoplayer-amzn-2.10.6/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/ContentMetadata.java
equals
called by 862
exoplayer-amzn-2.10.6/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.java
get
called by 817
exoplayer-amzn-2.10.6/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/MediaItemQueue.java
getString
called by 768
fragment-1.1.0/src/main/java/androidx/fragment/app/Fragment.java
isEmpty
called by 523
common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/views/BrowseView.java

Shape

Languages

Java100%

Modules by API surface

leanback-1.0.0/src/main/java/androidx/leanback/widget/GridLayoutManager.java233 symbols
fragment-1.1.0/src/main/java/androidx/fragment/app/Fragment.java181 symbols
fragment-1.1.0/src/main/java/androidx/fragment/app/FragmentManagerImpl.java157 symbols
smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java155 symbols
leanback-1.0.0/src/main/java/androidx/leanback/app/BrowseSupportFragment.java146 symbols
leanback-1.0.0/src/main/java/androidx/leanback/app/BrowseFragment.java146 symbols
exoplayer-amzn-2.10.6/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java135 symbols
common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/PlayerTweaksData.java130 symbols
common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/PlayerData.java127 symbols
exoplayer-amzn-2.10.6/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java109 symbols
common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/GeneralData.java107 symbols
chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java107 symbols

Dependencies from manifests, versioned

networkCapabilitiesnull · 1×

For agents

$ claude mcp add SmartTube \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact