Many YT privacy frontends are down it seems. YouTube is cracking down on these servers fast. Both Invidious and Piped services are not working now.

So how are you watching videos now? Just plain youtube[dot]com with unblock and VPN?

Karyoplasma
link
fedilink
2
edit-2
6M

I wrote myself a Chrome add-on that adds a context menu entry to play or download links.

background.js
chrome.runtime.onInstalled.addListener(() => {
		
    chrome.contextMenus.create({
        id: "processLink",
        title: "Download as...",
        contexts: ["link"]
    });

    chrome.contextMenus.create({
        id: "720p",
        parentId: "processLink",
        title: "720p",
        contexts: ["link"]
    });

    chrome.contextMenus.create({
        id: "music",
        parentId: "processLink",
        title: "MP3",
        contexts: ["link"]
    });

    chrome.contextMenus.create({
        id: "maxQual",
        parentId: "processLink",
        title: "Maximum quality video",
        contexts: ["link"]
    });
	
    chrome.contextMenus.create({
        id: "separator1",
        parentId: "processLink",
        type: "separator",
        contexts: ["link"]
    });

    chrome.contextMenus.create({
        id: "piQual",
        parentId: "processLink",
        title: "30 fps for RPi",
        contexts: ["link"]
    });
	
    chrome.contextMenus.create({
        id: "separator2",
        parentId: "processLink",
        type: "separator",
        contexts: ["link"]
    });
	
    chrome.contextMenus.create({
        id: "streamLink",
        parentId: "processLink",
        title: "Stream to VLC...",
        contexts: ["link"]
    });
});

chrome.contextMenus.onClicked.addListener((info, tab) => {
    let linkUrl = info.linkUrl;

    if (info.menuItemId === "720p") {
        sendLinkToNativeApp(linkUrl, "video720");
    } else if (info.menuItemId === "music") {
        sendLinkToNativeApp(linkUrl, "music");
    } else if (info.menuItemId === "maxQual") {
        sendLinkToNativeApp(linkUrl, "videomp4");
    } else if (info.menuItemId === "piQual") {
        sendLinkToNativeApp(linkUrl, "video720p30");
    } else if (info.menuItemId === "streamLink") {
        sendLinkToNativeApp(linkUrl, "stream");
    }
});

function sendLinkToNativeApp(link, action) {
    console.log("Sending link to native app with action:", action, link);
    chrome.runtime.sendNativeMessage(
        'com.example.ytlink_processor',
        { link: link, action: action },
        function(response) {
            if (chrome.runtime.lastError) {
                console.error("Error:", chrome.runtime.lastError.message);
            } else {
                console.log("Received response from native app:", response.output);
            }
        }
    );
}
native_host.py (chatGPT wrote this because I can't Python)
import sys
import subprocess
import json
import struct

def log_to_file(message):
    with open("log.txt", "a") as log_file:
        log_file.write(message + "\n")

def get_message():
    raw_length = sys.stdin.read(4)
    if len(raw_length) == 0:
        sys.exit(0)
    message_length = struct.unpack('I', raw_length)[0]
    message = sys.stdin.read(message_length)
    return json.loads(message)

def send_message(message_content):
    message = json.dumps(message_content)
    sys.stdout.write(struct.pack('I', len(message)))
    sys.stdout.write(message)
    sys.stdout.flush()

def process_link(link, action):
    if action == "stream":
        cmd = 'yt-dlp --stream "{}" -o - | "D:/Programme/VLC/vlc.exe" -'.format(link)
    else:
        cmd = 'yt-dlp --{} "{}"'.format(action, link)
    result = subprocess.Popen('start cmd /c "{}"'.format(cmd), shell=True)
    return result.stdout + result.stderr

if __name__ == "__main__":
    message = get_message()
    link = message.get("link")
    action = message.get("action")
    if link and action:
        output = process_link(link, action)
        send_message({"output": output})

The actions are just aliases for different qualities (old pi, so 720p60 stutters at times), audio extraction, etc.

Excellent.

Create a post

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

  • Posting a link to a website containing tracking isn’t great, if contents of the website are behind a paywall maybe copy them into the post
  • Don’t promote proprietary software
  • Try to keep things on topic
  • If you have a question, please try searching for previous discussions, maybe it has already been answered
  • Reposts are fine, but should have at least a couple of weeks in between so that the post can reach a new audience
  • Be nice :)

Related communities

much thanks to @gary_host_laptop for the logo design :)

  • 0 users online
  • 124 users / day
  • 1.05K users / week
  • 1.3K users / month
  • 4.58K users / 6 months
  • 1 subscriber
  • 3.88K Posts
  • 98K Comments
  • Modlog