summaryrefslogtreecommitdiffstats
path: root/addon_chrome/ismitmlink
diff options
context:
space:
mode:
Diffstat (limited to 'addon_chrome/ismitmlink')
-rw-r--r--addon_chrome/ismitmlink/LICENSE.txt26
-rw-r--r--addon_chrome/ismitmlink/README.md17
-rw-r--r--addon_chrome/ismitmlink/bg.js96
-rw-r--r--addon_chrome/ismitmlink/cs.js32
-rw-r--r--addon_chrome/ismitmlink/manifest.json33
5 files changed, 0 insertions, 204 deletions
diff --git a/addon_chrome/ismitmlink/LICENSE.txt b/addon_chrome/ismitmlink/LICENSE.txt
deleted file mode 100644
index 0de377de..00000000
--- a/addon_chrome/ismitmlink/LICENSE.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-* License
-
-The MIT License
-
-Copyright (c) 2019 Maslin Bossé
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-
-* Icon file (icons/32.png) by Patricia Clausnitzer <pc.de>
diff --git a/addon_chrome/ismitmlink/README.md b/addon_chrome/ismitmlink/README.md
deleted file mode 100644
index cdfd9f32..00000000
--- a/addon_chrome/ismitmlink/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-This is a source code of Maslin Bossé's "*Are links vulnerable to MITM?*".
-
-PRs are welcome.
-
-
-![](../../image/addon_ismitmlink.jpg)
-
-
-```
-You've searched something on the internet.
-Are these links vulnerable to MITM attack or not?
-
-This add-on is using Searxes' "MITM test API" to scan FQDN(URL's hostname).
-This add-on never send other information.
-```
-
-[Download Add-on](https://codeberg.org/crimeflare/cloudflare-tor/raw/branch/master/addon_chrome/vulnlink.crx) \ No newline at end of file
diff --git a/addon_chrome/ismitmlink/bg.js b/addon_chrome/ismitmlink/bg.js
deleted file mode 100644
index 53beb299..00000000
--- a/addon_chrome/ismitmlink/bg.js
+++ /dev/null
@@ -1,96 +0,0 @@
-let apiurl = 'https://api.searxes.eu.org/_/ismitm.php';
-
-fetch('http://api.xxf4en4djo7hhvatax2g3lvj2qgvbwi4yeyyzwpo25zcog4ewhsbrdyd.onion/_/ok.php', {
- method: 'GET',
- mode: 'cors'
-}).then(r => r.text()).then(r => {
- if (r == 'ok') {
- apiurl = 'http://api.xxf4en4djo7hhvatax2g3lvj2qgvbwi4yeyyzwpo25zcog4ewhsbrdyd.onion/_/ismitm.php';
- }
-}).catch(() => {});
-
-function is_infected(f) {
- return new Promise((g, b) => {
- fetch(apiurl, {
- method: 'POST',
- mode: 'cors',
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded'
- },
- body: 'f=' + f
- }).then(r => r.json()).then(r => {
- if (r[0]) {
- g(r[1]);
- } else {
- b();
- }
- }).catch(b);
- });
-}
-
-function i_already_know_you(f) {
- if (!/^([a-z0-9_.-]{1,255})\.([a-z]{2,80})$/.test(f)) {
- return false;
- }
- return new Promise((g, b) => {
- chrome.storage.local.get(f, (ff) => {
- if (ff[f]) {
- if (ff[f] == 'y') {
- g(1);
- } else {
- g(-1);
- }
- } else {
- g(0);
- }
- });
- });
-}
-
-function clear_cache_2w() {
- chrome.storage.local.clear();
- chrome.storage.local.set({
- 'lastU': Math.round((new Date()).getTime() / 1000)
- });
- setTimeout(function () {
- clear_cache_2w();
- }, 1209600000);
-}
-
-chrome.storage.local.get('lastxU', (g) => {
- if (g.lastU) {
- if (Math.abs(Math.round((new Date()).getTime() / 1000) - g.lastU) > 1209600) {
- chrome.storage.local.clear();
- chrome.storage.local.set({
- 'lastU': Math.round((new Date()).getTime() / 1000)
- });
- }
- } else {
- chrome.storage.local.set({
- 'lastU': Math.round((new Date()).getTime() / 1000)
- });
- }
- setTimeout(function () {
- clear_cache_2w();
- }, 1209600000);
-});
-
-chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
- if (request) {
- i_already_know_you(request).then((r) => {
- if (r == 1 || r == -1) {
- chrome.tabs.sendMessage(sender.tab.id, [request, ((r == 1) ? true : false)]);
- }
- if (r == 0) {
- is_infected(request).then((a) => {
- chrome.storage.local.set({
- [request]: ((a) ? 'y' : 'n')
- });
- chrome.tabs.sendMessage(sender.tab.id, [request, a]);
- }, () => {
- chrome.tabs.sendMessage(sender.tab.id, [request, false]);
- });
- }
- }, () => {});
- }
-}); \ No newline at end of file
diff --git a/addon_chrome/ismitmlink/cs.js b/addon_chrome/ismitmlink/cs.js
deleted file mode 100644
index 5dd7f8a8..00000000
--- a/addon_chrome/ismitmlink/cs.js
+++ /dev/null
@@ -1,32 +0,0 @@
-if (document.body && !['searxes.nmqnkngye4ct7bgss4bmv5ca3wpa55yugvxen5kz2bbq67lwy6ps54yd.onion', 'searxes.eu.org'].includes(location.hostname)) {
- let cs = (function () {
- let s = document.createElement('style');
- document.head.appendChild(s);
- return s.sheet;
- })();
- if (cs) {
- cs.insertRule("a[data-mitm]{cursor:not-allowed !important;text-decoration-line:line-through !important;text-decoration-color:red !important;text-decoration-style:double !important}", 0);
- cs.insertRule("a[data-mitm]::before{content:'[\\26A0]';font-weight:bold !important;color:red !important;display:inline-block !important}", 1);
- cs.insertRule("a[data-mitm]:hover::before{content:'[\\26A1]'}", 2);
- cs.insertRule("a[data-mitm]:hover{color:red !important}", 3);
- }
- let asked = ['searxes.nmqnkngye4ct7bgss4bmv5ca3wpa55yugvxen5kz2bbq67lwy6ps54yd.onion', 'searxes.eu.org', 'addons.mozilla.org', 'addons.thunderbird.net', 'web.archive.org'];
- document.querySelectorAll("a[href^='http://']:not([data-mitm]),a[href^='https://']:not([data-mitm]),a[href^='//']:not([data-mitm])").forEach(a => {
- let aF = (new URL(a.href)).hostname;
- if (!/^(.*)\.(danwin1210\.me|onion|i2p|invalid|test|local|localhost|([0-9]{1,3})|bbs|chan|cyb|dyn|geek|gopher|indy|libre|neo|null|o|oss|oz|parody|pirate|bit|lib|coin|emc|bazar|fur)$/.test(aF) && !asked.includes(aF)) {
- asked.push(aF);
- chrome.runtime.sendMessage(aF);
- }
- });
- chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
- if (request.length == 2) {
- if (request[1]) {
- document.querySelectorAll("a[href^='http://" + request[0] + "/']:not([data-mitm]),a[href^='https://" + request[0] + "/']:not([data-mitm]),a[href^='//" + request[0] + "/']:not([data-mitm])").forEach(a => {
- a.dataset.mitm = 1;
- a.title = 'MITM!';
- });
- }
- }
- sendResponse(null);
- });
-} \ No newline at end of file
diff --git a/addon_chrome/ismitmlink/manifest.json b/addon_chrome/ismitmlink/manifest.json
deleted file mode 100644
index 165ef271..00000000
--- a/addon_chrome/ismitmlink/manifest.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "manifest_version": 2,
- "name": "Are links vulnerable to MITM attack?",
- "version": "1.0.9",
- "minimum_chrome_version": "60",
- "homepage_url": "https://codeberg.org/crimeflare/cloudflare-tor",
- "author": "Maslin Bossé",
- "incognito": "split",
- "permissions": [
- "storage",
- "unlimitedStorage"
- ],
- "icons": {
- "32": "icons/32.png"
- },
- "background": {
- "scripts": [
- "bg.js"
- ]
- },
- "content_scripts": [
- {
- "matches": [
- "http://*/*",
- "https://*/*"
- ],
- "js": [
- "cs.js"
- ],
- "run_at": "document_end"
- }
- ]
-} \ No newline at end of file