aboutsummaryrefslogtreecommitdiff
path: root/background/policy_smuggler.js
diff options
context:
space:
mode:
Diffstat (limited to 'background/policy_smuggler.js')
-rw-r--r--background/policy_smuggler.js84
1 files changed, 0 insertions, 84 deletions
diff --git a/background/policy_smuggler.js b/background/policy_smuggler.js
deleted file mode 100644
index 546d771..0000000
--- a/background/policy_smuggler.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Myext smuggling policy to content script through url
- *
- * Copyright (C) 2021 Wojtek Kosior
- *
- * This code is dual-licensed under:
- * - Asshole license 1.0,
- * - GPLv3 or (at your option) any later version
- *
- * "dual-licensed" means you can choose the license you prefer.
- *
- * This code is released under a permissive license because I disapprove of
- * copyright and wouldn't be willing to sue a violator. Despite not putting
- * this code under copyleft (which is also kind of copyright), I do not want
- * it to be made proprietary. Hence, the permissive alternative to GPL is the
- * Asshole license 1.0 that allows me to call you an asshole if you use it.
- * This means you're legally ok regardless of how you utilize this code but if
- * you make it into something nonfree, you're an asshole.
- *
- * You should have received a copy of both GPLv3 and Asshole license 1.0
- * together with this code. If not, please see:
- * - https://www.gnu.org/licenses/gpl-3.0.en.html
- * - https://koszko.org/asshole-license.txt
- */
-
-"use strict";
-
-(() => {
- const TYPE_PREFIX = window.TYPE_PREFIX;
- const get_storage = window.get_storage;
- const browser = window.browser;
- const url_item = window.url_item;
- const gen_unique = window.gen_unique;
- const get_query_best = window.get_query_best;
-
- var storage;
- var query_best;
-
- 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];
-
- let url = url_item(request.url);
- let unique = gen_unique(url);
-
- if (first_target === unique) {
- console.log(["not redirecting"]);
- return {cancel : false};
- }
-
- let [pattern, settings] = query_best(url);
- if (settings === undefined || !settings.allow)
- return {cancel : false};
-
- second_target = (first_target || "") + (second_target || "");
-
- console.log(["redirecting", request.url,
- (base_url + unique + second_target)]);
-
- return {
- redirectUrl : (base_url + unique + second_target)
- };
- }
-
- async function start() {
- storage = await get_storage();
- query_best = await get_query_best();
-
- chrome.webRequest.onBeforeRequest.addListener(
- redirect,
- {
- urls: ["<all_urls>"],
- types: ["main_frame", "sub_frame"]
- },
- ["blocking"]
- );
- }
-
- window.start_policy_smuggler = start;
-})();