Convert Figma logo to code with AI

VueTubeApp logoVueTube

A simple FOSS video streaming client aimed to recreate ALL features from their respective apps (and more)

3,272
170
3,272
113

Top Related Projects

An alternative frontend for YouTube, for Android.

3,219

A fork of NewPipe with SponsorBlock functionality.

18,553

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

2,555

Privacy oriented video player for iOS, tvOS and macOS

13,099

An Open Source YouTube app for privacy

Quick Overview

VueTube is an open-source YouTube client application built using Vue.js. It aims to provide a customizable and privacy-focused alternative to the official YouTube app, offering a similar user experience with additional features and flexibility.

Pros

  • Privacy-focused: Offers enhanced privacy features compared to the official YouTube app
  • Customizable: Allows users to personalize their viewing experience
  • Open-source: Encourages community contributions and transparency
  • Cross-platform: Supports multiple platforms, including Android, iOS, and web browsers

Cons

  • Potential legal issues: May face challenges from YouTube/Google regarding API usage
  • Limited features: Some advanced YouTube features may not be available or fully implemented
  • Dependency on YouTube's API: Changes to YouTube's API could affect functionality
  • Smaller user base: May have fewer resources and slower development compared to the official app

Getting Started

To get started with VueTube, follow these steps:

  1. Clone the repository:

    git clone https://github.com/VueTubeApp/VueTube.git
    
  2. Install dependencies:

    cd VueTube
    npm install
    
  3. Run the development server:

    npm run dev
    
  4. Open your browser and navigate to http://localhost:3000 to view the app.

For more detailed instructions and platform-specific setup, refer to the project's README and documentation on GitHub.

Competitor Comparisons

An alternative frontend for YouTube, for Android.

Pros of LibreTube

  • More mature project with a larger community and more frequent updates
  • Offers additional features like SponsorBlock integration and video downloading
  • Better performance and stability in real-world usage

Cons of LibreTube

  • Less customizable user interface compared to VueTube
  • Lacks some advanced features like picture-in-picture mode
  • Limited theming options

Code Comparison

LibreTube (Kotlin):

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

VueTube (Vue.js):

<template>
  <div class="player-container">
    <video ref="videoPlayer" @timeupdate="onTimeUpdate" />
  </div>
</template>

Both projects use different technologies, making direct code comparison challenging. LibreTube is built with Kotlin for Android, while VueTube uses Vue.js for a cross-platform approach. LibreTube's code tends to be more focused on native Android development, while VueTube's code is more web-oriented and potentially more flexible for multiple platforms.

3,219

A fork of NewPipe with SponsorBlock functionality.

Pros of NewPipe

  • More mature project with a longer development history
  • Supports a wider range of video platforms beyond YouTube
  • Offers background playback and audio-only mode

Cons of NewPipe

  • Limited to Android platform
  • Less modern user interface compared to VueTube
  • Lacks some advanced features like SponsorBlock integration

Code Comparison

NewPipe (Java):

@Override
protected void onResume() {
    super.onResume();
    if (wasSearchFocused && searchEditText != null) {
        searchEditText.requestFocus();
    }
}

VueTube (Vue.js):

<template>
  <div class="search-bar">
    <input v-model="searchQuery" @focus="onFocus" @blur="onBlur" />
  </div>
</template>

<script>
export default {
  methods: {
    onFocus() {
      this.wasSearchFocused = true;
    },
    onBlur() {
      this.wasSearchFocused = false;
    }
  }
}
</script>

This comparison shows the different approaches to handling search focus in both applications. NewPipe uses Java and Android-specific lifecycle methods, while VueTube employs Vue.js components and reactive data binding.

18,553

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

Pros of SmartTube

  • More mature project with a larger user base and longer development history
  • Specifically designed for Android TV, offering a tailored experience for large screens
  • Includes advanced features like SponsorBlock integration and custom video speed controls

Cons of SmartTube

  • Limited to Android TV platform, not available for mobile devices or other operating systems
  • Closed-source development model, which may limit community contributions and transparency
  • Potential legal concerns due to its nature as a third-party YouTube client

Code Comparison

While a direct code comparison is not possible due to SmartTube being closed-source, we can compare some aspects of VueTube's code structure:

VueTube (Vue.js component example):

<template>
  <div class="video-player">
    <!-- Video player implementation -->
  </div>
</template>

<script>
export default {
  // Component logic
}
</script>

SmartTube (hypothetical Java code based on Android TV app structure):

public class VideoPlayerActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video_player);
        // Video player implementation
    }
}

This comparison highlights the different technologies and platforms used by each project, with VueTube utilizing a web-based approach and SmartTube likely using native Android development.

2,555

Privacy oriented video player for iOS, tvOS and macOS

Pros of Yattee

  • Written in Swift, potentially offering better performance on Apple devices
  • Supports multiple backends (YouTube, Invidious, Piped)
  • More mature project with a larger number of releases

Cons of Yattee

  • Limited to Apple platforms (iOS, macOS, tvOS)
  • Smaller community and fewer contributors
  • Less frequent updates compared to VueTube

Code Comparison

VueTube (Vue.js):

<template>
  <div class="video-player">
    <video ref="videoPlayer" @timeupdate="onTimeUpdate">
      <source :src="videoUrl" type="video/mp4">
    </video>
  </div>
</template>

Yattee (Swift):

struct VideoPlayerView: View {
    @StateObject var player: PlayerModel
    
    var body: some View {
        VideoPlayer(player: player.avPlayer)
            .onReceive(player.$currentTime) { _ in
                // Handle time update
            }
    }
}

Both projects aim to provide alternative YouTube clients, but they differ in their approach and target platforms. VueTube is a cross-platform solution built with Vue.js, while Yattee focuses on Apple ecosystems using Swift. VueTube may have broader appeal due to its multi-platform nature, but Yattee could offer better integration and performance on Apple devices. The code snippets illustrate the different languages and frameworks used in each project.

13,099

An Open Source YouTube app for privacy

Pros of FreeTube

  • More mature project with a larger user base and longer development history
  • Offers a wider range of features, including playlist management and channel subscriptions
  • Available on multiple platforms (Windows, macOS, Linux)

Cons of FreeTube

  • Larger application size due to being built with Electron
  • May have higher resource usage compared to VueTube
  • Less focus on mobile-friendly design

Code Comparison

FreeTube (JavaScript):

async function getVideoData(videoId) {
  try {
    const data = await ytdl.getInfo(videoId)
    return data
  } catch (err) {
    console.error(err)
    return null
  }
}

VueTube (TypeScript):

async function fetchVideoInfo(videoId: string): Promise<VideoInfo | null> {
  try {
    const response = await api.get(`/videos/${videoId}`)
    return response.data
  } catch (error) {
    console.error('Error fetching video info:', error)
    return null
  }
}

Both projects aim to provide a privacy-focused YouTube experience, but FreeTube is more established and feature-rich, while VueTube is newer and focuses on mobile platforms. FreeTube uses Electron for cross-platform desktop support, while VueTube is built with Vue.js and targets mobile devices primarily.

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

VueTube icon

Show Readme credits

VueTube Logo by @afnzmn
English Readme contributors: @404-Program-not-found , @Frontesque, @gayolGate , @ThatOneCalculator, @afnzmn , @tired6488, @DARKDRAGON532 , @PickleNik and @Zyborg777

A simple and open source video streaming client aimed to recreate ALL the features from their respective apps (and more!)
Pronounced View Tube (/ˈvjuːˌtjuːb/)

Read this page in other languages: English, Español, 简体中文, 繁體中文, 日本語, עִברִית, Nederlands, தமிழ், Bahasa Melayu, Македонски, Français, Português Brasileiro, Bahasa Indonesia, Polski, Български, Italiano, Magyar, 한국어, Tiếng Việt, Română, Українська, Türkçe, Русский

Features

VueTube icon
  • 🎨 Themes: Light, dark, OLED and all the colors of the rainbow! Set the accent and background color according to your preferences.
  • 🖌️ Customizable UI: Customize buttons, corners and disable parts of the UI that you don't use to get an optimal experience.
  • ⬆️ Auto updates: Be notified when an update is available, download through the app and downgrade if you don't like it!
  • 👁️ Tracking protection: No telemetry data is sent from your device by default and we don't use external APIs. Privacy is neccesary!
  • 📺 Custom video player: There is a player integrated in the application with everything you need to be happy, such as 16x speed.
  • 🌍 Translations: App is available in more than 25 languages! Default language is determined according to your device configuration.
  • 👎 Return YouTube Dislike - Enable dislike counters in videos again. More info
  • 💰 SponsorBlock - Skip automatically sponsors and annoying segments in videos. More info

Install

VueTube icon

To install the app, please visit vuetube.app/install or check below all versions available:

🖱️ Click to display versions

Android

<a href=https://nightly.link/VueTubeApp/VueTube/workflows/ci/main/android.zip><img id="im" width="200" src=./resources/getunstable.png><a href=https://github.com/VueTubeApp/VueTube/releases/tag/0.5><img id="im" width="200" src=./resources/getcanary.png><a href=https://vuetube.app/install><img id="im" width="200" src=./resources/getstable.png>
Pretty unstable, but you get early access to new features.Less bugs than unstable while having more features than stable.Not available yet.

iOS

<a href=https://nightly.link/VueTubeApp/VueTube/workflows/ci/main/iOS.zip><img id="im" width="200" src=./resources/getunstable.png><a href=https://github.com/VueTubeApp/VueTube/releases/tag/0.3><img id="im" width="200" src=./resources/getcanary.png><a href=https://vuetube.app/install><img id="im" width="200" src=./resources/getstable.png>
Pretty unstable, but you get early access to new features.Less bugs than unstable while having more features than stable.Not available yet.

(Apple does not officially support sideloading, i.e. the installation of applications with just the file without them being uploaded to the company's official shop. It is necessary to use advanced methods to install VueTube on iPhone / iPad devices)

Plans

VueTube icon
  • 🔍 Advanced search: Sort results by date, duration, likes or any other factor.
  • 🗞️ Local watch history: Get your last viewed videos without logging in.
  • ✂️ YouTube Shorts: Small vertical videos that last anywhere from 15 to 60 seconds.
  • 🧑 Signing in with your Google account: Login to have a full experience by voting and commenting on videos and subscribing to channels.
  • 🖼️ Picture-in-Picture mode (PiP): Allows you to watch videos in a floating window when using another app.
  • 🧩 Plugins: Install third party plugins made by community with useful features!
  • And more!

You can suggest your own feature by opening a feature request issue in this repository.

Screenshots

View them on our website or click below to display them.

🖱️ Click to display screenshots

Community

We use several different platforms to connect with our community. You can actively participate in the development of VueTube or simply keep up to date with all the news joining these groups:

Progress

🖱️ Click to display progress
GeneralPlayerExtractor
🟢 Comments (100%)🟢 Play / Pause (100%)🟢 Search Autocomplete (100%)
🟢 Description (100%)🟢 Tap to show / hide controls (100%)🟢 Home page (100%)
🟢 Home Page (100%)🟠 Seekbar / Scrubber (80%)🟢 Search (100%)
🟢 RYD Integration (100%)🟠 Fullscreen (80%)🟠 Video Information (60%)
🟢 Themes (100%)🟠 Resolution Picker (50%)🔴 Channels (0%)
🟢 Watch Page (100%)🔴 Miniplayer (0%)🔴 Comments (0%)
🟠 Sponsorblock Integration (95%)🔴 Background Play (0%)🔴 Live Chat (0%)
🟠 Auto Update (50%)🔴 Picture in Picture (0%)🔴 Trending content (0%)
🟠 Channel Page (50%)🔴 Captions (0%)🔴 Interactions (0%)
🟠 Community Posts (10%)🔴 Cards (0%)🔴 Playlists (0%)
🟠 Customizable Shorts UI (10%)🔴 Notifications (0%)
🟠 Customizable YT Music UI (10%)🔴 Login (0%)
🟠 Customizable UI (30%)
🟠 Libraries Page (10%)
🟠 Replies (50%)
🟠 Third Party Plugins (40%)
🟠 VueTube Player (See progress to the right)
🟠 VueTube Extractor (See progress to the right)
🔴 Local Watch History (0%)
🔴 Subscriptions Page (0%)
🔴 Other Platform Support (0%)

Technologies used

Why are we doing this?

VueTube was made with the aim of providing to the Internet a free, open source and complete cross-platform alternative to Big Tech, with highly customizable options and login available. The project was growing, attracting thousands of users and contributors all around the world. You can join us and contribute to this project in any kind of way...

Want to contribute?

Thank you for being interested on contributing! Please read our website on how to do so: vuetube.app/contributing.

If you want to translate the app, click here and read the instructions. If GitHub is hard or uncomfortable to you, you can also send the fields translated in a text file on our Discord and we will implement them. Don't worry!

GitHub contributors

Dashboard made automatically with contrib.rocks.

Acknowledgements

Donate

VueTube is and always will be free and open source, but you can support our devs with a donation that will help to maintain the project and develop new features. Every kind of help is welcome! These are the donating options available:

Donate on Ko-Fi.com (Official)

Donate to PickleNik on GitHub (Maintainer)

Disclaimer

The VueTube project and its contents are not affiliated with, funded, authorized, endorsed by, or in any way associated with YouTube, Google LLC or any of its affiliates and subsidiaries. The official YouTube website can be found at www.youtube.com.

Any trademark, service mark, trade name, or other intellectual property rights used in the VueTube project are owned by the respective owners.

Other VueTube repos

🖱️ Click to display repos
VueTube Extractor

VueTube Extractor is a library designed to extract data from streaming services, designed for use in VueTube App.

VueTube Extractor

VueTube Translator is a tool for translating fields of GitHub files like JSON or JS and export the result with the correct structure. It was created to help VueTube translators, but it can be used for any other purpose.

VueTube Extractor

VueTube HTTP is a plugin for native HTTP requests, file download/uploads, and cookie management. It's a fork of the original HTTP project from Capacitor Community, with additions by the VueTube Team.