Discussions » Creation Requests

Fix errors in the script. "Youtube fix". Recover profile pictures blocked by ISP. Redirect yt3.ggpht.com to yt4.ggpht.com

§
Posted: 2024-01-12

// ==UserScript==
// @name Youtube fix
// namespace
// @description Recover profile pictures blocked by ISP./Восстановить изображения профилей заблокированных провайдером.
// @version 1.1.1
// @match: *://*.ggpht.com/*
// @match *://*.youtube.com/*
// @match https://www.youtube.com/*
// @grant none
// @run-at document-start
// ==/UserScript==


(async()=>{
const rule={
id:5414,priority:1,action:{
type:"redirect",redirect:{
regexSubstitution:"https://yt4.ggpht.com/\\1"}},
condition:{regexFilter:"^https://yt3.ggpht.com/(.*)",
resourceTypes:["image"]}},
olds=await chrome.declarativeNetRequest.getDynamicRules();await chrome.declarativeNetRequest.updateDynamicRules({removeRuleIds:olds.map((({id})=>id)),
addRules:[rule]}),
console.log(`Wise Choice Sir, Wise Choice \n ${chrome.runtime.getManifest().version}`)})();


//////// variant ////////

chrome.declarativeNetRequest.updateDynamicRules({
addRules: [{
'id': 1337,
'priority': 1,
'action': {
'type': 'redirect',
'redirect': {
"regexSubstitution": "https://yt4.ggpht.com/\\1"
}
},
'condition': {
"regexFilter": "^https://yt3.ggpht.com/(.*)",
'resourceTypes': [
'csp_report', 'font', 'image', 'main_frame', 'media', 'object', 'other', 'ping', 'script',
'stylesheet', 'sub_frame', 'webbundle', 'websocket', 'webtransport', 'xmlhttprequest'
]
}
}],
removeRuleIds: [1337]
})

§
Posted: 2024-01-12

Just use the Redirector extension maybe? How do you even use Chrome API through a userscript?

§
Posted: 2024-01-12
Edited: 2024-01-12

Just use the Redirector extension maybe? How do you even use Chrome API through a userscript?

Redirector script? Extensions are all big, or often don't work. And I don't want to keep the expansion for the sake of one task. A script can be embedded in another script.

Post reply

Sign in to post a reply.