Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b5e1296a7a |
22
main.js
22
main.js
@@ -111,7 +111,27 @@ function getBlocker() {
|
||||
|
||||
function enableBlockingInSession(sess) {
|
||||
getBlocker()
|
||||
.then(b => { b.enableBlockingInSession(sess); console.log('[adblock] enabled for session'); })
|
||||
.then(b => {
|
||||
b.enableBlockingInSession(sess);
|
||||
// Remove the cliqz preload script that the blocker just registered on this
|
||||
// session. The preload injects inline <script> elements (via createTextNode +
|
||||
// appendChild) to neutralize anti-adblock scripts, but:
|
||||
// • Strict-CSP sites (kinogo via Cloudflare, etc.) reject inline scripts
|
||||
// without a matching nonce → "Refused to execute inline script".
|
||||
// • Trusted-Types sites (YouTube, Gmail) reject `script.appendChild(text)`
|
||||
// → "HTMLScriptElement was directly modified" (52 errors).
|
||||
// We keep the adblocker's network blocking and CSP filtering (via the still-
|
||||
// attached webRequest hooks), losing only the niche scriptlet/cosmetic-DOM
|
||||
// injection layer that breaks more sites than it helps.
|
||||
const before = sess.getPreloads();
|
||||
const after = before.filter(p => !/adblocker-electron-preload/i.test(p));
|
||||
if (after.length !== before.length) {
|
||||
sess.setPreloads(after);
|
||||
console.log('[adblock] enabled for session (preload script disabled)');
|
||||
} else {
|
||||
console.log('[adblock] enabled for session');
|
||||
}
|
||||
})
|
||||
.catch(e => console.warn('[adblock] failed to enable:', e.message));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ESH-Media",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"private": true,
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user