52 lines
2.5 KiB
JavaScript
52 lines
2.5 KiB
JavaScript
// ==UserScript==
|
|
// @name Invidious - Proxy Mode
|
|
// @version 0.1.6
|
|
// @author Jesús E.
|
|
// @license GPL-3.0
|
|
// @description This script automatically Proxy-Mode on Invidious and its various public instances.
|
|
// @namespace InvidiousProxy
|
|
// @homepageURL https://libregit.org/heckyel/book/src/branch/master/scripts-greasemonkey
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidio[.]us)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|proxy[.]|)(?:invidious[.]snopyta[.]org)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:vid[.]wxzm[.]sx)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidious[.]kabi[.]tk)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidiou[.]sh)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidious[.]enkirton[.]net)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:tube[.]poal[.]co)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidious[.]13ad[.]de)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @include /(?:(?:http(s|):\/\/)(www[.]|)(?:invidious[.]drycat[.]fr)\/(watch\?v=|embed\/))([^= &?(\/)\r\n]{8,11})(\S+)?$/
|
|
// @grant none
|
|
// ==/UserScript==
|
|
|
|
function proxyMode() {
|
|
const consoleCSS = 'background: #000; color: #00FF00; padding: 0px 7px; border: 1px solid #00FF00; line-height: 16px;';
|
|
|
|
// Set variables
|
|
let i, j, url;
|
|
let vids_tags = ["video", "source"];
|
|
let vids_elements, proxyURL;
|
|
|
|
// Regex
|
|
let params=new RegExp(/itag=(18|22|43)$/);
|
|
|
|
for (i = 0; i < vids_tags.length; i++) {
|
|
vids_elements = document.getElementsByTagName(vids_tags[i]);
|
|
for (j = 0; j < vids_elements.length; j++) {
|
|
url = vids_elements.item(j).src;
|
|
if(params.test(url)) {
|
|
proxyURL = url + "&local=true";
|
|
vids_elements.item(j).src = proxyURL;
|
|
} else {
|
|
console.log('Proxy was already applied or Live URL');
|
|
}
|
|
}
|
|
}
|
|
console.log("%cUSERSCRIPT | " + GM_info.script.name + " " + GM_info.script.version + " | successfully initialized", consoleCSS);
|
|
}
|
|
proxyMode();
|
|
|
|
// Fix Abrowser
|
|
window.addEventListener('load', () => {
|
|
proxyMode();
|
|
});
|