Patch script for bitchute.com
if(window.location.hostname == 'www.bitchute.com') {
document.addEventListener("beforescriptexecute", function(e) {
var s;
if(e.target.src == 'https://cdn.jsdelivr.net/npm/p2p-media-loader-core@latest/build/p2p-media-loader-core.min.js' {
e.preventDefault();
e.stopPropagation();
// skip p2p-media-loader-core.min.js
};
if(e.target.src == 'https://www.bitchute.com/static/v136/js/common.js' {
e.preventDefault();
e.stopPropagation();
// patch common.js
var xhr = new XMLHttpRequest();
xhr.open("GET", e.target.src, false);
xhr.send(null);
if(xhr.status === 200) {
s = document.createElement('script');
s.type = 'text/javascript';
s.innerHTML = xhr.responseText.replace('catch{}', 'catch(e) {}');
s.async = false;
e.target.parentNode.insertBefore(s, e.target.nextSibling);
};
};
if(e.target.src == 'https://cdnjs.cloudflare.com/ajax/libs/plyr/3.6.9/plyr.polyfilled.min.js' {
e.preventDefault();
e.stopPropagation();
// replace plyr.polyfilled.min.js
s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'https://cdnjs.cloudflare.com/ajax/libs/plyr/3.3.9/plyr.polyfilled.min.js';;
s.async = false;
e.target.parentNode.insertBefore(s, e.target.nextSibling);
// replace plyr.min.css
var lnk = document.getElementsByTagName("link");
for(var l of lnk) {
if(l.href=='https://cdnjs.cloudflare.com/ajax/libs/plyr/3.6.9/plyr.min.css'
l.href='https://cdnjs.cloudflare.com/ajax/libs/plyr/3.3.9/plyr.css';;
};
};
}, true);
window.addEventListener("play", function(e) {
// add download link
var vid = document.getElementById("player");
if(vid) {
var lnk = document.getElementById("dld-id1");
if(!lnk) {
lnk = document.createElement('a');
lnk.id = 'dld-id1';
lnk.style = 'color:blue;';
lnk.setAttribute('target', '_blank');
lnk.innerText = 'Download';
var ptr = document.querySelector('div.video-statistics');
if(ptr) { ptr.appendChild(lnk) } else {
vid.parentElement.parentElement.parentElement.appendChild(lnk);
};
};
lnk.href = vid.currentSrc;
lnk.download = document.title;
};
});
};
You can use polyfill injector to install this script:
http://kmeleonbrowser.org/forum/read.php?9,153735
Alternatively you can add header lines and use some sort of Greasemonkey
// ==UserScript==
// @name bitchute
// @namespace btc1
// @include https://www.bitchute.com/*
// @run-at document-start
// @version 1
// @grant none
// ==/UserScript==
Edited 4 time(s). Last edit at 02/13/2022 03:19AM by Kris_88.