Convert Figma logo to code with AI

libre-tube logoLibreTube

An alternative frontend for YouTube, for Android.

8,476
443
8,476
47

Top Related Projects

3,219

A fork of NewPipe with SponsorBlock functionality.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

16,025

Invidious is an alternative front-end to YouTube

Quick Overview

LibreTube is an open-source, privacy-focused YouTube frontend that aims to provide an alternative to the official YouTube platform. It offers a clean and minimalist interface, while also providing features to enhance user privacy and control over their viewing experience.

Pros

  • Privacy-Focused: LibreTube prioritizes user privacy by not tracking user data or displaying personalized ads.
  • Customizable Interface: The application allows users to customize the appearance and layout of the interface to their preferences.
  • Ad-Free Experience: LibreTube removes all advertisements from the YouTube content, providing a distraction-free viewing experience.
  • Cross-Platform Compatibility: The application is available on multiple platforms, including Windows, macOS, and Linux, making it accessible to a wide range of users.

Cons

  • Limited Feature Set: Compared to the official YouTube platform, LibreTube may have a more limited set of features and functionality.
  • Dependency on YouTube API: LibreTube relies on the YouTube API, which means that changes or updates to the API could potentially impact the application's functionality.
  • Potential Legal Concerns: The use of the YouTube API in a third-party application may raise legal concerns, although the LibreTube project aims to operate within the bounds of YouTube's terms of service.
  • Smaller User Base: As an open-source project, LibreTube may have a smaller user base compared to the official YouTube platform, which could impact the availability of community support and updates.

Getting Started

To get started with LibreTube, follow these steps:

  1. Visit the LibreTube GitHub repository and navigate to the Releases section.
  2. Download the appropriate installation package for your operating system (Windows, macOS, or Linux).
  3. Run the installation package and follow the on-screen instructions to install LibreTube on your system.
  4. Once installed, launch the LibreTube application and sign in to your YouTube account to start using the platform.
  5. Explore the various settings and customization options to personalize your viewing experience.

Competitor Comparisons

3,219

A fork of NewPipe with SponsorBlock functionality.

Pros of NewPipe

  • Longer development history and more established user base
  • Supports a wider range of features, including SoundCloud integration
  • More frequent updates and active community contributions

Cons of NewPipe

  • Less modern user interface compared to LibreTube
  • Slightly more complex setup process for new users
  • May have more stability issues due to its broader feature set

Code Comparison

NewPipe:

override fun onCreateInitialState() = ViewState(
    showPlaylistButton = true,
    showAddToPlaylistButton = true,
    showRenamePlaylistButton = true,
    showDeletePlaylistButton = true
)

LibreTube:

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View {
    _binding = FragmentPlayerBinding.inflate(inflater, container, false)
    return binding.root
}

Both projects use Kotlin for Android development, but their code structures differ slightly. NewPipe's example shows a more feature-rich approach to playlist management, while LibreTube's code snippet demonstrates a simpler view creation process.

NewPipe offers a more comprehensive set of features and a larger community, but LibreTube provides a more modern interface and potentially better stability due to its focused approach. The choice between the two depends on user preferences for features versus simplicity and design.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

Pros of SmartTube

  • Designed specifically for Android TV, offering a more tailored experience for large screens
  • Includes advanced features like SponsorBlock integration and custom video speed controls
  • Supports background playback and picture-in-picture mode

Cons of SmartTube

  • Not available on Google Play Store, requiring manual installation
  • Limited to Android TV devices, not supporting mobile phones or tablets
  • May have potential legal issues due to ad-blocking features

Code Comparison

SmartTube (Java):

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mOverlayRootView = view.findViewById(R.id.overlay_root);
    mContentRootView = view.findViewById(R.id.content_root);
}

LibreTube (Kotlin):

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    binding = FragmentPlayerBinding.bind(view)
    setupVideoPlayer()
    setupGestureDetector()
}

Both projects use similar Android lifecycle methods, but LibreTube utilizes Kotlin and view binding for a more concise and null-safe approach.

16,025

Invidious is an alternative front-end to YouTube

Pros of Invidious

  • Server-side application, accessible through any web browser
  • Supports multiple instances, enhancing privacy and reducing single point of failure
  • Offers additional features like video downloading and API access

Cons of Invidious

  • Requires server setup and maintenance
  • May experience slower performance due to server-side processing
  • Limited mobile app support compared to native applications

Code Comparison

Invidious (Crystal)

def fetch_video_info(id : String, region : String?)
  params = HTTP::Params.encode({
    "v"      => id,
    "hl"     => region || "en-US",
    "c"      => "WEB",
    "cver"   => "2.20210622.10.00",
    "html5"  => "1",
  })
  # ... (additional code)
end

LibreTube (Kotlin)

suspend fun getVideoInfo(videoId: String): VideoInfo {
    val response = httpClient.get("$BASE_URL/api/v1/videos/$videoId")
    return Json.decodeFromString(response.bodyAsText())
}

The code snippets show different approaches to fetching video information. Invidious uses Crystal and constructs a detailed parameter set, while LibreTube uses Kotlin with a simpler API call structure. This reflects the server-side vs. client-side nature of the two projects.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

LibreTube

GPL-v3

Matrix Mastodon Lemmy

Note
We don't accept feature or bug requests on these platforms. Kindly submit requests only on GitHub.

Get it on F-Droid Get it on IzzyOnDroid
Get it on GitHub

📜️ Credits

Readme Design and Banners by XelXen
Readme Screenshots by ARBoyGo
Readme Emoji is from openmoji

Icons

Default App Icon by XelXen
Boosted Bird by Margot Albert-Heuzey

About

YouTube has an extremely invasive privacy policy which relies on using user data in unethical ways. They store a lot of your personal data - ranging from ideas, music taste, content, political opinions, and much more than you think.

This project is aimed at improving the users' privacy by being independent from Google and bypassing their data collection.

Therefore, the app is using the Piped API, which uses proxies to circumvent Google's data collection and includes some other additional features.

If you have questions or need help, please make sure to read the FAQ before asking for help at the community channels. The Matrix room is considered as the main communication channel, all other forums or social media accounts are maintained by volunteers from the community but not the developer(s).

Screenshots

Home Home Subscriptions Library Channel Overview

Features

  • No Ads
  • User Accounts
  • Subscriptions
  • Subscription Groups
  • User Playlists
  • Playlist Bookmarks
  • Watch/Search History
  • SponsorBlock
  • DeArrow
  • ReturnYouTubeDislike
  • Downloads

Contributing

Whether you have ideas, translations, design changes, code cleaning or really heavy code changes, help is always welcome. The more is done, the better it gets! Please respect our Code of Conduct in order to keep all interactions and dicussions healthy.

You can open and build the project like any other normal Android project by using Android Studio.

Please make sure the title of your pull request and the commit messages follow the conventional commit types (e.g. feat: support for xy). For instance, the most common commit types are "feat", "fix", "refactor", "ci" and "chore".

Note
Any issue avoiding the issue template will be ignored and forced to be closed.

Donate

Donations can be made at:

Contributions in any form are welcome!

📝 Translations

Translation status

Differences to NewPipe

With NewPipe, the extraction is done locally on your phone, and all the requests sent towards YouTube/Google are done directly from the network you're connected to, which doesn't use a middleman server in between. Therefore, Google can still access information such as the user's IP address. Aside from that, subscriptions can only be stored locally.

LibreTube takes this one step further and proxies all requests via Piped (which uses the NewPipeExtractor). This prevents Google servers from accessing your IP address or any other personal data.
Apart from that, Piped allows syncing your subscriptions between LibreTube and Piped, which can be used on desktop too.

If the NewPipeExtractor breaks, it only requires an update of Piped and not LibreTube itself. Therefore, fixes usually arrive faster than in NewPipe.

While LibreTube only supports YouTube, NewPipe also allows the use of other platforms like SoundCloud, PeerTube, Bandcamp and media.ccc.de.
Both are great clients for watching YouTube videos. It depends on the individual's use case which one fits their needs better.

Privacy Policy and Disclaimer

LibreTube aims to protect the privacy of its users. Our Privacy Policy gives detailed information on which data the app stores in order to work, how it is being used, and how the project protects your personal information. It is recommended to read the privacy policy of LibreTube as well as the privacy policy of the instance you have chosen inside the app.

License

GNU GPLv3 Image

LibreTube is Free Software: You can use, study, share and modify it at your will. The app can be redistributed and/or modified under the terms of the GNU General Public License version 3 or later published by the Free Software Foundation.