From 0aebe29afa195b688eec69e1c1c1945e3186a1af Mon Sep 17 00:00:00 2001 From: mia03 Date: Tue, 5 Mar 2019 02:44:56 +0000 Subject: [PATCH] Upload files to 'not_cloudflare/whyrejectme' --- not_cloudflare/whyrejectme/bg.js | 31 ++++++++++++++++++++++++ not_cloudflare/whyrejectme/log.html | 17 +++++++++++++ not_cloudflare/whyrejectme/log.js | 22 +++++++++++++++++ not_cloudflare/whyrejectme/manifest.json | 30 +++++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 not_cloudflare/whyrejectme/bg.js create mode 100644 not_cloudflare/whyrejectme/log.html create mode 100644 not_cloudflare/whyrejectme/log.js create mode 100644 not_cloudflare/whyrejectme/manifest.json diff --git a/not_cloudflare/whyrejectme/bg.js b/not_cloudflare/whyrejectme/bg.js new file mode 100644 index 00000000..a60583fa --- /dev/null +++ b/not_cloudflare/whyrejectme/bg.js @@ -0,0 +1,31 @@ +let history = {}; + +browser.webRequest.onResponseStarted.addListener(i => { + if (i.statusCode == 403) { + let iFQDN = (new URL(i.url)).hostname; + let iServer = 'Unknown'; + i.responseHeaders.forEach(x => { + if (x.name == 'Server') { + iServer = x.value; + } + }); + let iDate = (new Date()).toUTCString(); + history[iFQDN] = [i.url, iServer, iDate]; + } + return; +}, { + urls: ['http://*/*', 'https://*/*'], + types: ['main_frame'] +}, ['responseHeaders']); + +browser.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request && sender) { + if (request == 'get') { + sendResponse(history); + } + if (request == 'clear') { + history = {}; + sendResponse(true); + } + } +}); \ No newline at end of file diff --git a/not_cloudflare/whyrejectme/log.html b/not_cloudflare/whyrejectme/log.html new file mode 100644 index 00000000..611fb9c8 --- /dev/null +++ b/not_cloudflare/whyrejectme/log.html @@ -0,0 +1,17 @@ + + + Log + + + + +
+
+ ↑ Details
+  → Action:
+ ↓ FQDN only
+
+ + + + \ No newline at end of file diff --git a/not_cloudflare/whyrejectme/log.js b/not_cloudflare/whyrejectme/log.js new file mode 100644 index 00000000..8ea37c78 --- /dev/null +++ b/not_cloudflare/whyrejectme/log.js @@ -0,0 +1,22 @@ +function newrow(w) { + let tt = document.getElementsByTagName('tbody')[0]; + let tr = tt.insertRow(tt.rows.length); + tr.innerHTML = w; +} + +newrow('FQDNServerWhereWhen'); + +browser.runtime.sendMessage('get').then(g => { + for (let k in g) { + newrow('' + k + '' + g[k][1] + 'Link' + g[k][2] + ''); + document.getElementById('export').innerHTML += k + "\n"; + } +}); + +document.body.style.display = 'block'; + +document.getElementById('clear').addEventListener('click', () => { + browser.runtime.sendMessage('clear').then(() => { + location.reload(true); + }); +}); \ No newline at end of file diff --git a/not_cloudflare/whyrejectme/manifest.json b/not_cloudflare/whyrejectme/manifest.json new file mode 100644 index 00000000..8d50e3b9 --- /dev/null +++ b/not_cloudflare/whyrejectme/manifest.json @@ -0,0 +1,30 @@ +{ + "manifest_version": 2, + "name": "Which website rejected me?", + "description": "Your website rejected me, but I know I'm going to be okay.", + "version": "1.0.0", + "author": "Maslin Bossé", + "permissions": [ + "webRequest", + "" + ], + "icons": { + "32": "icons/32.png" + }, + "background": { + "scripts": [ + "bg.js" + ] + }, + "options_ui": { + "browser_style": false, + "open_in_tab": true, + "page": "log.html" + }, + "applications": { + "gecko": { + "id": "urejectme@searxes.danwin1210.me", + "strict_min_version": "56.0" + } + } +} \ No newline at end of file