Brave-Detection-Blocker-Chr.../block-script.js

39 lines
991 B
JavaScript

class Navigator {
constructor(copyNavRef) {
this.name = 'Navigator';
this.prototype = copyNavRef;
for (let prop in copyNavRef) {
if (prop === 'brave') {
continue;
}
Object.defineProperty(this, prop, {
value: typeof copyNavRef[prop] === 'function' ? copyNavRef[prop].bind(copyNavRef) : copyNavRef[prop],
writable: true,
enumerable: false,
});
}
}
}
Navigator = Navigator.bind(window.navigator);
newNav = new Navigator(window.navigator);
delete window.navigator.__proto__.brave;
newNav.__proto__.__proto__ = window.navigator.__proto__;
const websiteExceptions = ['accounts.google'];
const check = websiteExceptions.find((website) => {
if (window.location.hostname.includes(website)) {
return true;
}
});
if (check) {
window.navigator.brave = undefined;
} else {
Object.defineProperty(window, 'navigator', {
value: newNav,
writable: false,
enumerable: false,
configurable: false,
});
}