All Projects → user234683 → Youtube Local

user234683 / Youtube Local

Licence: agpl-3.0
browser-based client for watching Youtube anonymously and with greater page performance

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Youtube Local

Freetube
An Open Source YouTube app for privacy
Stars: ✭ 4,626 (+4030.36%)
Mutual labels:  subscriptions, videos, privacy, youtube
Auto Youtube Subscription Playlist 2
Script automatically adds videos to playlists from Youtube channels and/or subscriptions (Youtube Collections alternative).
Stars: ✭ 136 (+21.43%)
Mutual labels:  subscriptions, videos, youtube
Yotter
Youtube and Twitter with privacy.
Stars: ✭ 376 (+235.71%)
Mutual labels:  videos, privacy, youtube
Termplay
GitLab: https://gitlab.com/jD91mZM2/termplay
Stars: ✭ 500 (+346.43%)
Mutual labels:  watch, youtube-dl, youtube
Piped
An alternative privacy-friendly YouTube frontend which is efficient by design.
Stars: ✭ 1,725 (+1440.18%)
Mutual labels:  youtube, privacy, videos
Youtube Dl Subscriptions
Download all new videos from your YouTube subscriptions
Stars: ✭ 94 (-16.07%)
Mutual labels:  subscriptions, youtube-dl, youtube
Go Videos Ru
Каталог докладов, лекций и других видеоматериалов по Go
Stars: ✭ 64 (-42.86%)
Mutual labels:  videos, youtube
Hitomi Downloader
🍰 Desktop application to download images/videos/music/text from Hitomi.la and other sites, and more.
Stars: ✭ 1,154 (+930.36%)
Mutual labels:  youtube-dl, youtube
Hiddenvm
HiddenVM — Use any desktop OS without leaving a trace.
Stars: ✭ 1,183 (+956.25%)
Mutual labels:  tor, privacy
Tinytor
A tiny Tor client implementation (in pure python).
Stars: ✭ 80 (-28.57%)
Mutual labels:  tor, privacy
Multitube
Watch multiple YouTube videos by providing video links or playlist links or channel links or maybe a mix of them! All without opening a single extra tab.
Stars: ✭ 36 (-67.86%)
Mutual labels:  watch, youtube
Walletwasabi
Open-source, non-custodial, privacy focused Bitcoin wallet for Windows, Linux, and Mac. Built-in Tor, CoinJoin, and coin control features.
Stars: ✭ 1,197 (+968.75%)
Mutual labels:  tor, privacy
Onionr
Private Decentralized Communication Network 🎭 🧅
Stars: ✭ 84 (-25%)
Mutual labels:  tor, privacy
Youtubeextractor
Extracts Youtube urls for streaming and downloading purpose.
Stars: ✭ 58 (-48.21%)
Mutual labels:  youtube-dl, youtube
Nowallet
This project is a secure Bitcoin brainwallet app written in Python.
Stars: ✭ 52 (-53.57%)
Mutual labels:  tor, privacy
Ffck
🦊 & 🧅 hardening
Stars: ✭ 72 (-35.71%)
Mutual labels:  tor, privacy
Nipe
An engine to make Tor network your default gateway
Stars: ✭ 1,032 (+821.43%)
Mutual labels:  tor, privacy
Wahay
an easy-to-use, secure and decentralized conference call application (this repository is a mirror of an internal work repository)
Stars: ✭ 79 (-29.46%)
Mutual labels:  tor, privacy
Ytcc
Command line tool to keep track of your favorite playlists on YouTube and many other places.
Stars: ✭ 92 (-17.86%)
Mutual labels:  youtube-dl, youtube
Justforfunc
The repository for the YouTube series JustForFunc
Stars: ✭ 1,312 (+1071.43%)
Mutual labels:  videos, youtube

youtube-local

screenshot youtube-local is a browser-based client written in Python for watching Youtube anonymously and without the lag of the slow page used by Youtube. One of the primary features is that all requests are routed through Tor, except for the video file at googlevideo.com. This is analogous to what HookTube (defunct) and Invidious do, except that you do not have to trust a third-party to respect your privacy. The assumption here is that Google won't put the effort in to incorporate the video file requests into their tracking, as it's not worth pursuing the incredibly small number of users who care about privacy (Tor video routing is also provided as an option). Tor has high latency, so this will not be as fast network-wise as regular Youtube. However, using Tor is optional; when not routing through Tor, video pages may load faster than they do with Youtube's page depending on your browser.

The Youtube API is not used, so no keys or anything are needed. It uses the same requests as the Youtube webpage.

Screenshots

Gray theme

Dark theme

Non-Theater mode

Channel

Downloads

Features

  • Standard pages of Youtube: search, channels, playlists
  • Anonymity from Google's tracking by routing requests through Tor
  • Local playlists: These solve the two problems with creating playlists on Youtube: (1) they're datamined and (2) videos frequently get deleted by Youtube and lost from the playlist, making it very difficult to find a reupload as the title of the deleted video is not displayed.
  • Themes: Light, Gray, and Dark
  • Subtitles
  • Easily download videos or their audio
  • No ads
  • View comments
  • Works without Javascript
  • Theater and non-theater mode
  • Subscriptions that are independent from Youtube
    • Can import subscriptions from Youtube
    • Works by checking channels individually
    • Can be set to automatically check channels.
    • For efficiency of requests, frequency of checking is based on how quickly channel posts videos
    • Can mute channels, so as to have a way to "soft" unsubscribe. Muted channels won't be checked automatically or when using the "Check all" button. Videos from these channels will be hidden.
    • Can tag subscriptions to organize them or check specific tags
  • Fast page
    • No distracting/slow layout rearrangement
    • No lazy-loading of comments; they are ready instantly.
  • Settings allow fine-tuned control over when/how comments or related videos are shown:
    1. Shown by default, with click to hide
    2. Hidden by default, with click to show
    3. Never shown
  • Optionally skip sponsored segments using SponsorBlock's API
  • Custom video speeds
  • Video transcript

Planned features

  • [ ] Putting videos from subscriptions or local playlists into the related videos
  • [x] Information about video (geographic regions, region of Tor exit node, etc)
  • [ ] Ability to delete playlists
  • [ ] Auto-saving of local playlist videos
  • [ ] Import youtube playlist into a local playlist
  • [ ] Rearrange items of local playlist
  • [ ] Video qualities other than 360p and 720p by muxing video and audio
  • [ ] Corrected .m4a downloads
  • [x] Indicate if comments are disabled
  • [x] Indicate how many comments a video has
  • [ ] Featured channels page
  • [ ] Channel comments
  • [x] Video transcript
  • [ ] Automatic Tor circuit change when blocked
  • [x] Support &t parameter
  • [ ] Subscriptions: Option to mark what has been watched
  • [ ] Subscriptions: Option to filter videos based on keywords in title or description
  • [ ] Subscriptions: Delete old entries and thumbnails

Installing

Windows

Download the zip file under the Releases page. Unzip it anywhere you choose.

Linux/MacOS

Download the tarball under the Releases page and extract it. cd into the directory and run

pip3 install -r requirements.txt

Note: If pip isn't installed, first try installing it from your package manager. Make sure you install pip for python 3. For example, the package you need on debian is python3-pip rather than python-pip. If your package manager doesn't provide it, try to install it according to this answer, but make sure you run python3 get-pip.py instead of python get-pip.py

Usage

Firstly, if you wish to run this in portable mode, create the empty file "settings.txt" in the program's main directory. If the file is there, settings and data will be stored in the same directory as the program. Otherwise, settings and data will be stored in C:\Users\[your username]\.youtube-local on Windows and ~/.youtube-local on Linux/MacOS.

To run the program on windows, open run.bat. On Linux/MacOS, run python3 server.py.

Access youtube URLs by prefixing them with http://localhost:8080/, For instance, http://localhost:8080/https://www.youtube.com/watch?v=vBgulDeV2RU You can use an addon such as Redirector (Firefox|Chrome) to automatically redirect Youtube URLs to youtube-local. I use the include pattern ^(https?://(?:[a-zA-Z0-9_-]*\.)?(?:youtube\.com|youtu\.be|youtube-nocookie\.com)/.*) and the redirect pattern http://localhost:8080/$1 (Make sure you're using regular expression mode).

If you want embeds on the web to also redirect to youtube-local, make sure "Iframes" is checked under advanced options in your redirector rule.

youtube-local can be added as a search engine in firefox to make searching more convenient. See here for information on firefox search plugins.

Using Tor

In the settings page, set "Route Tor" to "On, except video" (the second option). Be sure to save the settings.

Ensure Tor is listening for Socks5 connections on port 9150 (a simple way to accomplish this is by opening the Tor Browser Bundle and leaving it open). Your connections should now be routed through Tor.

Tor video routing

If you wish to route the video through Tor, set "Route Tor" to "On, including video". Because this is bandwidth-intensive, you are strongly encouraged to donate to the consortium of Tor node operators. For instance, donations to NoiseTor go straight towards funding nodes. Using their numbers for bandwidth costs, together with an average of 485 kbit/sec for a diverse sample of videos, and assuming n hours of video watched per day, gives $0.03n/month. A $1/month donation will be a very generous amount to not only offset losses, but help keep the network healthy.

In general, Tor video routing will be slower (for instance, moving around in the video is quite slow). I've never seen any signs that watch history in youtube-local affects on-site Youtube recommendations. It's likely that requests to googlevideo are logged for some period of time, but are not integrated into Youtube's larger advertisement/recommendation systems, since those presumably depend more heavily on in-page tracking through Javascript rather than CDN requests to googlevideo.

Contributing

Pull requests and issues are welcome

For coding guidelines and an overview of the software architecture, see the HACKING.md file.

License

This project is licensed under the GNU Affero General Public License v3 (GNU AGPLv3) or any later version.

Permission is hereby granted to the youtube-dl project at https://github.com/ytdl-org/youtube-dl to relicense any portion of this software under the Unlicense, public domain, or whichever license is in use by youtube-dl at the time of relicensing, for the purpose of inclusion of said portion into youtube-dl. Relicensing permission is not granted for any purpose outside of direct inclusion into the official repository of youtube-dl. If inclusion happens during the process of a pull-request, relicensing happens at the moment the pull request is merged into youtube-dl; until that moment, any cloned repositories of youtube-dl which make use of this software are subject to the terms of the GNU AGPLv3.

Similar projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].