MCPcopy Index your code
hub / github.com/SkyTubeTeam/SkyTube

github.com/SkyTubeTeam/SkyTube @v2.999

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.999 ↗ · + Follow
2,076 symbols 6,819 edges 203 files 614 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SkyTube

A copylefted libre / open source YouTube player for Android, without ads.

Download APK Translate

Features | Download | Why SkyTube? | Screenshots | Contribute | Translate | License

Features

Innovative Features

  • Video blocker featuring:
  • Channel blacklisting
  • Channel whitelisting
  • Block videos if their language is not the same as the user's preferred one(s)
  • Block low-view videos
  • Block high-dislike videos
  • Toolbar icon showing number of blocked videos
  • Watched or partially watched videos are marked accordingly. "Resume playing" feature also implemented
  • Video swipe controls, including controls for volume, brightness, comments and video description
  • Bookmark videos
  • Import subscriptions from YouTube
  • Play channels' playlists
  • Download videos
  • Ability to play the video faster — or slower than live. [New!]
  • View and download video thumbnails
  • No adverts when browsing or playing videos
  • SponsorBlock to skip advertisement segments
  • Back up and restore bookmarks and subscriptions (all stored locally on your device)

Traditional Features

  • Explore Featured and Most Popular videos
  • Browse YouTube channels
  • Play YouTube videos
  • View video comments
  • Search videos, music and channels
  • Channel subscription & non-intrusive notifications
  • Subscriptions feed

More features will be added in the near future.

Requirements

Android 4.4 (KitKat) or later. For techies, that means an API level of 19 or greater. If you have older Android device - however, at least 4.0, you should try SkyTube Legacy.

Download

Feature SkyTube Extra SkyTube
Description Contains extra features that are powered by non-OSS libraries. Fully open-source and free software.
GPLv3 license
Official YouTube player support*
Chromecast Support*
Updates availability Immediate Normally up to 5 days
Download APK Download SkyTube Extra APK Download SkyTube (Vanilla) APK

* powered by a closed-source, third-party library.

Why SkyTube?

  • Copylefted libre software
  • Gratis
  • Innovative design
  • No ads
  • Multilingual
  • Not dependent on GApps/Google Apps (the official YouTube app)
  • No need for Google/YouTube account to operate
  • Does not spy on your behaviour!

Translate

You can help us translate this app into your native language by visiting SkyTube's Weblate page. Just log in using your GitHub/GitLab/BitBucket/Google/Facebook account and start translating!

Translation status:

Translation status

Screenshots

Phone

Trending

Browse video

Play video

Subscriptions

SponsorBlock

Tablet

Browse channel using tablet

Contribute

This project was possible with the support and contribution of numerous volunteers and third-party projects.

Help improve SkyTube by translating or developing it.

License

GNU GPLv3

This project is not affiliated with YouTube™ or any of its partners and/or products. YouTube™ and Android™ are registered trademarks of Google Inc.

Star History

Star History Chart

Extension points exported contracts — how you extend this code

OrderableDatabase (Interface)
An interface to be used by a SQLiteOpenHelperEx database object, indicating that the videos in the database may be reord [4 …
app/src/main/java/free/rm/skytube/businessobjects/interfaces/OrderableDatabase.java
YouTubePlayerActivityListener (Interface)
In order for the Cast icon to be shown in the menu bar while playing a video, BaseActivity will have to be notified that [4 …
app/src/main/java/free/rm/skytube/businessobjects/interfaces/YouTubePlayerActivityListener.java
GetDesiredStreamListener (Interface)
Interface to be used when retrieving the desired stream (per the user's preferences) from a Video. [4 implementers]
app/src/main/java/free/rm/skytube/businessobjects/interfaces/GetDesiredStreamListener.java
CardListener (Interface)
(no doc) [6 implementers]
app/src/main/java/free/rm/skytube/businessobjects/interfaces/CardListener.java
YouTubePlayerFragmentInterface (Interface)
Interface used by free.rm.skytube.gui.fragments.YouTubePlayerV1Fragment & {@link free.rm.skytube.gui.fragments.Y [4 implementers]
app/src/main/java/free/rm/skytube/businessobjects/interfaces/YouTubePlayerFragmentInterface.java

Core symbols most depended-on inside this repo

add
called by 127
app/src/main/java/free/rm/skytube/app/utils/WeakList.java
setVisibility
called by 106
app/src/main/java/free/rm/skytube/gui/fragments/YouTubePlayerV2Fragment.java
e
called by 103
app/src/main/java/free/rm/skytube/businessobjects/Logger.java
format
called by 102
app/src/main/java/free/rm/skytube/businessobjects/Logger.java
i
called by 89
app/src/main/java/free/rm/skytube/businessobjects/Logger.java
subscribe
called by 86
app/src/main/java/free/rm/skytube/businessobjects/db/SubscriptionsDb.java
getContext
called by 82
app/src/main/java/free/rm/skytube/gui/businessobjects/adapters/RecyclerViewAdapterEx.java
getId
called by 79
app/src/main/java/free/rm/skytube/businessobjects/YouTube/POJOs/CardData.java

Shape

Method 1,810
Class 227
Interface 27
Enum 12

Languages

Java100%

Modules by API surface

app/src/main/java/free/rm/skytube/gui/fragments/YouTubePlayerV2Fragment.java69 symbols
app/src/main/java/free/rm/skytube/businessobjects/YouTube/POJOs/YouTubeVideo.java51 symbols
app/src/main/java/free/rm/skytube/gui/fragments/YouTubePlayerV1Fragment.java49 symbols
app/src/extra/java/free/rm/skytube/gui/activities/BaseActivity.java48 symbols
app/src/main/java/free/rm/skytube/businessobjects/db/SubscriptionsDb.java44 symbols
app/src/main/java/free/rm/skytube/businessobjects/YouTube/newpipe/NewPipeService.java44 symbols
app/src/main/java/free/rm/skytube/app/Settings.java44 symbols
app/src/main/java/free/rm/skytube/businessobjects/db/DownloadedVideosDb.java40 symbols
app/src/main/java/free/rm/skytube/gui/fragments/MainFragment.java39 symbols
app/src/main/java/free/rm/skytube/app/SkyTubeApp.java39 symbols
app/src/main/java/free/rm/skytube/gui/businessobjects/SubscriptionsBackupsManager.java34 symbols
app/src/main/java/free/rm/skytube/gui/activities/MainActivity.java33 symbols

For agents

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

⬇ download graph artifact