aboutsummaryrefslogtreecommitdiffstats
path: root/addons/code/ureject/bg.js
diff options
context:
space:
mode:
authorcodebergcrimeflare <codebergcrimeflare@noreply.codeberg.org>2021-03-22 00:13:37 +0100
committercodebergcrimeflare <codebergcrimeflare@noreply.codeberg.org>2021-03-22 00:13:37 +0100
commit52bfc079f5361839069b0d3f99be073a0eb8e7fe (patch)
tree3ed8637ea458c41e56e89da9e149e9c126f457fd /addons/code/ureject/bg.js
parent6ca93ea2e66b0e15f695e00e5084c7e3da34a29b (diff)
parent82f630fc26ed74533bfe0b574572e077c17bcb72 (diff)
downloadcloudflare-tor-52bfc079f5361839069b0d3f99be073a0eb8e7fe.tar.lz
cloudflare-tor-52bfc079f5361839069b0d3f99be073a0eb8e7fe.tar.xz
cloudflare-tor-52bfc079f5361839069b0d3f99be073a0eb8e7fe.zip
PR
PR
Diffstat (limited to 'addons/code/ureject/bg.js')
-rw-r--r--addons/code/ureject/bg.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/addons/code/ureject/bg.js b/addons/code/ureject/bg.js
new file mode 100644
index 00000000..8172f96a
--- /dev/null
+++ b/addons/code/ureject/bg.js
@@ -0,0 +1,34 @@
+let history = {};
+browser.webRequest.onResponseStarted.addListener(i => {
+ if ([403, 406, 410, 429, 451, 462].includes(i.statusCode)) {
+ let iFQDN = (new URL(i.url)).hostname;
+ if (['sercxi.eu.org', 'ansero.eu.org', 'sercxi.nnpaefp7pkadbxxkhz2agtbv2a4g5sgo2fbmv3i7czaua354334uqqad.onion', 'ansero.nnpaefp7pkadbxxkhz2agtbv2a4g5sgo2fbmv3i7czaua354334uqqad.onion'].includes(iFQDN)) {
+ return;
+ }
+ let iServer = '?';
+ i.responseHeaders.forEach(x => {
+ if (x.name.toLowerCase() == 'server') {
+ iServer = x.value;
+ }
+ });
+ history[iFQDN] = [i.url, iServer, i.statusCode, (new Date()).toUTCString()];
+ }
+ 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);
+ }
+ }
+});
+browser.browserAction.onClicked.addListener(() => {
+ browser.runtime.openOptionsPage();
+}); \ No newline at end of file