diff options
Diffstat (limited to 'background/policy_smuggler.mjs')
-rw-r--r-- | background/policy_smuggler.mjs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/background/policy_smuggler.mjs b/background/policy_smuggler.mjs deleted file mode 100644 index 61f34c5..0000000 --- a/background/policy_smuggler.mjs +++ /dev/null @@ -1,60 +0,0 @@ -/** -* Myext smuggling policy to content script through url -* -* Copyright (C) 2021 Wojtek Kosior -* -* Dual-licensed under: -* - 0BSD license -* - GPLv3 or (at your option) any later version -*/ - -import {TYPE_PREFIX} from '/common/stored_types.mjs'; -import get_storage from './storage.mjs'; -import browser from '/common/browser.mjs'; -import url_item from './url_item.mjs'; - -"use strict"; - -var storage; - -function redirect(request) -{ - let url_re = /^([^#]*)((#[^#]*)(#.*)?)?$/; - let match = url_re.exec(request.url); - let base_url = match[1]; - let first_target = match[3]; - let second_target = match[4]; - - if (first_target === "#myext-allow") { - console.log(["not redirecting"]); - return {cancel : false}; - } - - let url = url_item(request.url); - let settings = storage.get(TYPE_PREFIX.PAGE, url); - console.log("got", storage.get(TYPE_PREFIX.PAGE, url), "for", url); - if (settings === undefined || !settings.allow) - return {cancel : false}; - - second_target = (first_target || "") + (second_target || "") - - console.log(["redirecting", request.url, - (base_url + "#myext-allow" + second_target)]); - - return { - redirectUrl : (base_url + "#myext-allow" + second_target) - }; -} - -export default async function start() { - storage = await get_storage(); - - chrome.webRequest.onBeforeRequest.addListener( - redirect, - { - urls: ["<all_urls>"], - types: ["main_frame", "sub_frame"] - }, - ["blocking"] - ); -} |