Giter Site home page Giter Site logo

freetubeapp / freetube Goto Github PK

View Code? Open in Web Editor NEW
11.8K 181.0 705.0 19.58 MB

An Open Source YouTube app for privacy

Home Page: https://freetubeapp.io/

License: GNU Affero General Public License v3.0

JavaScript 70.28% CSS 11.12% Vue 15.52% EJS 0.09% SCSS 2.99%
video youtube privacy freetube videos subscriptions

freetube's People

Contributors

70h avatar absidue avatar chunkyprogrammer avatar cloudrac3r avatar comradekingu avatar dennis1248 avatar dependabot[bot] avatar dragibusnoir avatar efb4f5ff-1298-471a-8973-3d47447115dc avatar fjuro avatar gilgusmaximus avatar ihorhordiichuk avatar jasonhenriquez avatar kyotaro avatar mapi68 avatar marmadilemanteater avatar milotype avatar oersen avatar ovari avatar pikachuexe avatar prestonn avatar rddim avatar rex07 avatar s8321414 avatar sandyran avatar svallinn avatar sveinki avatar weblate avatar yarons avatar zakret avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freetube's Issues

Enhancement: Dynamic Subscription Lists

This is related to #1

Currently the subscription list is static. It appears to be in alphabetical order. It would be nice if the list was sorted based on the most recently updated channels. This will be extremely useful for users having a large number of subscriptions.

untitled_page

Feature Request: Add Transition Animation on Sidebar Toggle

This app looks like it's going by loose Material Design guidelines. Maybe I'm completely misreading it, but that seems to me to be the attempt.

One of MG's guidelines is that the transition should guide the eye from the old view to the new one.

So if I click the hamburger menu bar, it would be great if we had a transition animation between the before:

before

and the after

after

Maybe something like the bar sliding out from the left-hand side of the screen moving towards the right.

Implement youtube-dl API

Looks like swack over at HookTube has changed his API slightly. I do not know if this is a response of FreeTube using it or not, but I 100% respect his decision if he doesn't want me to use his API.

Regardless of his decision, I have decided to switch over to the youtube-dl-api-server so that I can have more control over the API calls. This is being implemented immediately and I hope to have it ready by the end of the day.

Memory hungry causing it to crash

I tried to play a really long video. As seen in the image below. The amount of memory the program was using started to increase steadily as the video was played. It only stopped after the OS slowed down because it started running out of memory and closed the program. It took only a few minutes for before using all memory available.

I did notice that RAM increase when watching several 10 minutes videos but it would go down from time to time. Between 200MB to 400MB.

Is this a limit/problem to electron?

I'm using Ubuntu 17.10
Kernel 4.13.0-36

Task manager

Feature Request: Load custom CSS theme

While this could be done by altering file from source or by simply packaging common system colour schemes, that would too much work for most users/add a lot of unnecessary bloat. A simple function to load a file would be quite nice.

Enhancement: Ability to select region

Currently there's no way to select the region. This results in the "Most Popular" category to not be very relevant (esp., language).

I'm sure this is already on your to-do list but I'm putting here because it's kind of important.

P.S. Can you tell me which region the application is coded for by default? I've looked at the Most Popular list and compared it to YouTube's popular category and it totally doesn't match (tried multiple regions).

Feature Request: Variable Playback Speed

I love FreeTube! It's working great for me so far.

The only request I have is for a variable playback speed - some of the people talk way too slowly in some of the videos I like to watch.

add support for generic linux distros

I use an arch based distro which does not provide the dpkg-deb application. If I attempt to run "npm run make:linux" then it always ends with a file not found error due to dpkg-deb. Could you modify your package.json file to provide the following changes?

  • Change the make:linux command to support all linux distros by only building the package into the out folder and leaving it unpackaged. That way each distro can package it in their own way (e.g., with a PKGBUILD).
  • Add make:deb or make:rpm commands so that existing users can continue to create a deb or rpm package if they are using a compatible distro.
  • Add electron, electron-packager and yarn to dev dependencies. I receive an error if yarn isn't installed and electron-packager is needed to support the make:linux command below.
"make:deb": "electron-forge make --platform=linux",
"make:linux": "electron-packager . freetube --platform linux --arch x64 --out out/"

"devDependencies": {
    "electron-forge": "^5.1.1",
    "electron-prebuilt-compile": "1.8.2",
    "electron-winstaller": "^2.6.4",
    "electron-packager": "^11.1.0",
    "electron": "^1.8.3",
    "yarn": "^1.5.1"
},

Notifications

Would be nice to have a notification about new video from subscribed channels.

Enhancement: Improved Search Options

Right now, the search function is simple and it works. However, it is very limited.

It would be nice to be able to further filter searches... for example:

  • Date filters (today, yesterday, month, year, etc)
  • Duration
  • Video Quality
  • Sort by date
  • Sort By Relevance
  • Sort By Rating
  • Sort By View Count

In terms of UX, it would be nice if you could go back to previous searches (classic back button functionality). I find it frustrating that I cannot do that.

Feature request: Use tags to organise/filter subscriptions and saved videos

Hello,

First of all, a huge thank you for creating such an useful and important program. This will greatly help protect a YouTube viewer's privacy.

I was going to suggest a playlists feature. However, I realised that a more flexible approach is to allow tagging of saved videos and filtering those videos based on tags.

The user can also tag their subscriptions and search for/filter their subscriptions based on tag.

What do you think?

Feature request: Proxy support

Sorry about the barrage of issues, I wanted to get ideas down before I forget!

Is there a way to set a proxy for FreeTube so that, for example, a user can define a local SOCKS5 proxy to connect with the Tor Browser? I think this would be great from a privacy POV. Thanks!

Improved Navigation Needed

I've been using Freetube extensively over the weekend (I've been sick so I had a lot of time). One of the most frustrating things for me has been the lack of navigation (esp., go back).

It would be great if users could have a 'back' button (or keyboard shortcut to do this).

Use Cases:

  • User Opens "Most Popular" list of videos. The user scrolls down through the list and clicks a video, after watching the video, the user clicks on the back button which takes him back to the "Most Popular" list to the point in the list he was looking.
  • User does a search. Scrolls through the results and then watches the video. After clicking on the back button it takes him back to his search query to the point in the list he was viewing.

Local playlists

Can you please add a possibility to sort saved video by groups? It can be useful to create local playlists (sort of).

Oops, it's a duplicate of more complex #25.

so awesome love this

its a great program love it .. one thing that you can try to implement is external players like vlc and mpv also notifications but the app is great great jobb

Use local youtube-dl instance

Relying on a youtube-dl-api-server is bad for privacy, makes the app depend on an unnecessary server and only lets the user watch videos which are not restricted in the country in which the server is located (issue #34). While using a local youtube-dl instance would add a dependency, it would solve all of these problems.

/*
 * Detect youtube-dl by trying to run it.
 * @param {function} error - Function called on error with message.
 * @param {function} success - Function called on success with youtube-dl version.
 *
 * @return {Void}
 */
function detectYoutubeDl(error, success){
  const { spawn } = require( 'child_process' );
  const cmd = spawn( 'false', [ '--version' ] );
  let output = '';
  let notInPath = false;
  cmd.on('error', err => {
    notInPath = true;
  });
  cmd.stdout.on( 'data', data => {
    output += data.toString();
  });
  cmd.on( 'close', code => {
    if (notInPath){
      error('youtube-dl not in PATH')
    } else if (code != 0){
      error(`youtube-dl exited with non-zero exit code (${code})`)
    } else {
      success(output)
    }
  });
}

detectYoutubeDl(
  message => {
    console.log(`Error: ${message}`)
  },
  version => {
    console.log(`Detected youtube-dl: ${version}`)
  }
);

video is not playing

Hi, thank you for developing this application. I am on Ubuntu 16.04 platform. I cloned the repo and did npm i, finally launched the application with npm start, I also entered youtube api it lists the video thumbnails when I type in the search box but it fails to play videos when I click the thumbnail, I get a blank window where it should be playing the video.

Feature Request: Add count notification to subscriptions

It would be nice to see an unwatched number notification when scrolling through my subscription (on the left panel) list. A typical bubble icon would work perfectly.

This is a really nice app. Keep up the great work. It may replace minitube for me :)

Cursor is not hidden during video playback

Small papercut here.

On Linux (Ubuntu 18.04) when I fullscreen a video, I would expect the cursor to auto-hide. This is not the case though as the cursor just sits on top of the video. It kind of annoying and distracting.

Can someone test this on Windows or Mac?

Open youtube channels links

The app lacks a feature to manually open custom youtube links. I think there is should be a possibility to paste your own youtube link into the app.

Feature request: Select video/audio streams to download and mux

Hello again,

A super useful feature would be to show the available video and audio streams for a video, and allow downloading them and muxing them together (such as you often need to do when downloading DASH streams) within the FreeTube interface. Is this possible? Thanks!

Infinitely loading after attempting to import xml subscription list

I'm sure that you didn't intend for people to use the xml subscription lists that you can export from Youtube, but on a lark I decided to manually specify my personal xml file on the import function, got a "Import was successful" message, restarted as requested, and then was stuck on an infinitely loading page.

freetube_error

Deleted the app out of the Local and Roaming folders and reinstalled. This is most likely not intended usage by you, but I figured I would bring it up anyway.

Subtitle support

Can you please add support for subtitles?
Thanks for such a great app!

Remove npm install lines in shell config file

I'm building FreeTube from source code, and I founded that npm install installs a few lines on (either ~/.bashrc with bash, ~/.zshrc with zsh or ~/.config/fish/config.fish with fish shell):

#tabtab source for electron-forge package
#uninstall by removing these lines or running tabtab uninstall electron-forge
[ -f /home/namkhai/.apps/FreeTube/node_modules/tabtab/.completions/electron-forge.fish ]; and . > /home/namkhai/.apps/FreeTube/node_modules/tabtab/.completions/electron-forge.fish

I'm trying to write a PKGBUILD to build a package for Arch Linux, and I don't know how to run tabtab uninstall electron-forge
Can anyone help me please? If there's need of more info, tell me

Enhanced playback controls

It would be nice if we had the ability to:

  • Pause/start a video by clicking on the spacebar of the keyboard
  • Double clicking a video should make the video go fullscreen.

I know these are minor but I'm putting them here because they will improve usability.

Version 1.2 API issue - Private Key Not saved

I just noticed this today. Previously I was using my own API key. Then I installed 1.2 on top of the older version. After upgrading my API Key is not there any more and any change doesn't actually save. The issue makes it impossible to use the application right now. I assume your API's have hit their limit?

Readme dishonesty

FreeTube is an Open Source Desktop YouTube player built with privacy in mind.

Bundled with a proprietary, obfuscated JavaScript script by Google. You don't feel like mentioning this?

[FreeTube] uses the HookTube API to grab the raw video files and play them in a basic HTML5 video player, preventing YouTube from tracking that video.

Directly retrieving a video from Google does not prevent Google from tracking what you watch. It improves you privacy as it gets rid of proprietary JS but they can still track your IP address and User-Agent.

If you are so serious about privacy you should also mention that if you use FreeTube, HookTube can also track what videos you are watching and that they don't even have a privacy policy.

ARM builds?

Could ARM binaries be released?

These could be quite useful for Plasma Mobile, UBports, and postmarketOS.

Hide the top bar on fullsceen video

When passing the video on fullscreen mode, the bottom bar disapears in a few seconds but the topbar (with menus) persists.

screenshot

Nice job btw ;)

Enhancement: Put video in mini-player back into main window

Hello again,

In order to keep a video playing while doing other things (searching, subscribing, etc.), I move the playing video into the mini-player first. However, AFAIK there's no way to put the mini-player video back into the main window once I've navigated away from it in the main window? If so, I think being able to do so would be a big improvement.

Enhancement: Playlists in result page (search)

It would be very appreciated if playlists can be added in the result page when I search for a specific content.

In the version I tested (Release 0.1.3 Beta), I can just get videos in my result page, even if I tried to get a specific playlist.

Just try with those keywords: touhou ost. Youtube returns videos and playlist as requested. FreeTube just returned videos.

Feature Request: Playlist / infinite playback

Hey,

thank you for your great work! This piece of software was the last thing missing from ungoogleling my life. It works very well, I am just missing a way to play playlists or the infinite playback from youtube, so you can just let it run in the background and use it as an alternative music player.

Thank you already, keep going ๐Ÿ‘

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.