Смотри у меня есть такой скрипт. Самое главное качество 1080р он разблокирует, а 1440р нет. У меня в РФ твич ввел ограничение на качество.

(function() {
    'use strict';

    const PROXY_URL = 'https://proxy4.rhhhhhhh.live/'; // Используется от ReYohoho - но можете юзать proxy.moddychat.com
    const TARGET_PATTERN = /https:\/\/usher\.ttvnw\.net\//g;

    const originalWorker = window.Worker;
    window.Worker = function(scriptURL, options) {
        try {
            console.log('IDDQD Twitch Proxy: Intercepting Worker creation:', scriptURL);

            if (typeof scriptURL === 'string' && scriptURL.startsWith('blob:')) {
                const xhr = new XMLHttpRequest();
                xhr.open('GET', scriptURL, false);
                xhr.send();

                if (xhr.status !== 200) {
                    throw new Error(`Failed to load worker script: ${xhr.statusText}`);
                }

                let workerCode = xhr.responseText;
                console.log('IDDQD Twitch Proxy: Worker code length:', workerCode.length);

                const proxyCode = `
                    (function() {
                        const PROXY_URL = '${PROXY_URL}';
                        const TARGET_PATTERN = /https:\\/\\/usher\\.ttvnw\\.net\\//g;

                        function replaceUrl(url) {
                            if (typeof url === 'string' && url.includes('usher.ttvnw.net')) {
                                const newUrl = url.replace(TARGET_PATTERN, PROXY_URL + 'https://usher.ttvnw.net/');
                                console.log('IDDQD Worker Proxy: Redirecting', url, '->', newUrl);
                                return newUrl;
                            }
                            return url;
                        }

                        const originalFetch = self.fetch;
                        self.fetch = function(...args) {
                            try {
                                let url = args[0];
                                if (typeof url === 'string') {
                                    args[0] = replaceUrl(url);
                                } else if (url instanceof Request) {
                                    args[0] = new Request(replaceUrl(url.url), url);
                                }
                                return originalFetch.apply(this, args);
                            } catch (error) {
                                console.error('IDDQD Worker Proxy: Fetch error:', error);
                                throw error;
                            }
                        };

                        const originalXHROpen = XMLHttpRequest.prototype.open;
                        XMLHttpRequest.prototype.open = function(method, url, ...rest) {
                            try {
                                url = replaceUrl(url);
                                return originalXHROpen.call(this, method, url, ...rest);
                            } catch (error) {
                                console.error('IDDQD Worker Proxy: XHR open error:', error);
                                throw error;
                            }
                        };

                        console.log('IDDQD Worker Proxy: All hooks installed (fetch, XHR)');
                    })();
                `;

                workerCode = proxyCode + '\n' + workerCode;
                const blob = new Blob([workerCode], { type: 'application/javascript' });
                const newBlobURL = URL.createObjectURL(blob);

                console.log('IDDQD Twitch Proxy: Created patched worker blob with fetch hook');
                return new originalWorker(newBlobURL, options);
            }
        } catch (error) {
            console.error('IDDQD Twitch Proxy: Worker interception error:', error);
        }

        return new originalWorker(scriptURL, options);
    };

    const originalFetch = window.fetch;
    window.fetch = function(...args) {
        try {
            let url = args[0];
            if (typeof url === 'string' && url.includes('usher.ttvnw.net')) {
                url = url.replace(TARGET_PATTERN, PROXY_URL + 'https://usher.ttvnw.net/');
                args[0] = url;
                console.log('IDDQD Twitch Proxy: Redirecting fetch:', url);
            } else if (url instanceof Request && url.url.includes('usher.ttvnw.net')) {
                const newUrl = url.url.replace(TARGET_PATTERN, PROXY_URL + 'https://usher.ttvnw.net/');
                args[0] = new Request(newUrl, url);
                console.log('IDDQD Twitch Proxy: Redirecting Request:', newUrl);
            }
            return originalFetch.apply(this, args);
        } catch (error) {
            console.error('IDDQD Twitch Proxy: Fetch error:', error);
            throw error;
        }
    };

    const originalXHROpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function(method, url, ...rest) {
        try {
            if (typeof url === 'string' && url.includes('usher.ttvnw.net')) {
                url = url.replace(TARGET_PATTERN, PROXY_URL + 'https://usher.ttvnw.net/');
                console.log('IDDQD Twitch Proxy: Redirecting XHR:', url);
            }
            return originalXHROpen.call(this, method, url, ...rest);
        } catch (error) {
            console.error('IDDQD Twitch Proxy: XHR open error:', error);
            throw error;
        }
    };

    console.log('IDDQD Twitch Proxy userscript v3.2 loaded - Worker interception enabled');
})();