summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--background/policy_smuggler.js84
-rw-r--r--background/reverse_use_info.js117
2 files changed, 0 insertions, 201 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;
-})();
diff --git a/background/reverse_use_info.js b/background/reverse_use_info.js
deleted file mode 100644
index f609ebe..0000000
--- a/background/reverse_use_info.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Myext scripts and bags usage index
- *
- * 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";
-
-/*
- * Warning!
- * This script file has not been used for some time and underlying storage
- * model has changed since then! Fix required!
- */
-
-/*
- * We want to count referenes to scripts and bags in order to know,
- * for example, whether one can be safely deleted.
- */
-
-(() => {
- const TYPE_PREFIX = window.TYPE_PREFIX;
- const get_storage = window.get_storage;
- const make_once = window.make_once;
-
- var component_uses = new Map();
- var storage;
-
- function add_use_info_by_item(prefix, item, components)
- {
- for (let component of components) {
- component = component.join("");
-
- let used_by_info = component_uses.get(component);
-
- if (used_by_info === undefined) {
- used_by_info = {};
- component_uses.set(component, used_by_info);
- }
-
- if (used_by_info[prefix] === undefined)
- used_by_info[prefix] = new Set();
-
- used_by_info[prefix].add(item);
- }
- }
-
- function remove_use_info_by_item(prefix, item, components)
- {
- for (let component of components) {
- used_by_info = component_uses.get(component.join(""));
- if (used_by_info === undefined ||
- used_by_info[prefix] === undefined)
- return;
-
- used_by_info[prefix].delete(item);
- }
- }
-
- function build_reverse_uses_info(entries_it, type_prefix)
- {
- for (let [item, components] of storage.get_all_it(type_prefix))
- add_use_info_by_item(type_prefix, item, components);
- }
-
- function handle_change(change)
- {
- if (change.old_val !== undefined)
- remove_use_info_by_item(change.prefix, change.item, change.old_val);
-
- if (change.new_val !== undefined)
- add_use_info_by_item(change.prefix, change.item, change.new_val);
- }
-
- function get_uses(arg1, arg2=undefined)
- {
- let [prefix, item] = [arg1, arg2];
-
- if (arg2 === undefined)
- [prefix, item] = arg1;
-
- return component_uses.get(prefix + item);
- }
-
- async function init()
- {
- storage = await get_storage();
-
- prefixes = [TYPE_PREFIX.PAGE, TYPE_PREFIX.BAG];
- for (let prefix of prefixes)
- build_reverse_uses_info(prefix);
-
- storage.add_change_listener(handle_change, prefixes);
-
- return get_uses;
- }
-
- window.get_reverse_use_info = make_once(init);
-})();