/** * Myext generating unique, per-site hash * * 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 sha256 = window.sha256; const browser = window.browser; const is_chrome = window.is_chrome; function get_id() { if (is_chrome) return browser.runtime.getManifest().key.substring(0, 50); else return browser.runtime.getURL("dummy"); } function gen_unique(url) { return "#" + sha256(get_id() + url); } window.gen_unique = gen_unique; })();