Restyle main Javascript file

I tried to copy the indent style of files seen in Torbutton, with added
guidance from my instincts as a C programmer accustomed to KNF.  This
can now be edited without wrecking diffs, unless I change it again
because this will drive me crazy.

Closes issue #1.
This commit is contained in:
nullius 2017-12-12 04:31:18 +00:00
parent 5370bb3fe2
commit 9c4cd9c984
No known key found for this signature in database
GPG Key ID: C42793159F9EF949
1 changed files with 42 additions and 31 deletions

View File

@ -1,27 +1,38 @@
/* /**
<<< Detect Cloudflare MiTM Attack >>> * <<< Detect Cloudflare MiTM Attack >>>
by Sw * by Sw
why? because... * why? because...
https://trac.torproject.org/projects/tor/ticket/24351 * https://trac.torproject.org/projects/tor/ticket/24351
http://www.crimeflare.com/ * http://www.crimeflare.com/
*/ */
//===============================================
function analyzemydata(res) { function analyzemydata(res) {
//console.log("mitmdetector: scanning: "+res.url); //console.log("mitmdetector: scanning: "+res.url);
var cflink=document.createElement('a');cflink.setAttribute('href',res.url); var cflink = document.createElement('a');
cflink.setAttribute('href',res.url);
var cf_hostname = cflink.hostname; var cf_hostname = cflink.hostname;
var cf_protocol = cflink.protocol; var cf_protocol = cflink.protocol;
var cf_gothead = res.responseHeaders; var cf_gothead = res.responseHeaders;
cflink = null; cflink = null;
if ((cf_protocol=='http:'||cf_protocol=='https:') && cf_hostname.length>=4){
if ((cf_protocol == 'http:' || cf_protocol == 'https:') &&
cf_hostname.length >= 4) {
//console.log("mitmdetector: testing...: "+res.url); //console.log("mitmdetector: testing...: "+res.url);
var is_cloudflare_infected=0; // 2 to confirm var is_cloudflare_infected=0; // 2 to confirm
for (var i=0; i < cf_gothead.length; i++) { for (var i=0; i < cf_gothead.length; i++) {
var cfv=cf_gothead[i]; var cfv=cf_gothead[i];
if (cfv['name']=='cf-ray' && cfv['value']!=undefined){is_cloudflare_infected+=1;} if (cfv['name'] == 'cf-ray' && cfv['value'] != undefined) {
if (cfv['name']=='server' && cfv['value'].includes("cloudflare")){is_cloudflare_infected+=1;} is_cloudflare_infected += 1;
if (is_cloudflare_infected==2){break;}
} }
if (cfv['name'] == 'server' && cfv['value'].includes("cloudflare")) {
is_cloudflare_infected += 1;
}
if (is_cloudflare_infected == 2) {
break;
}
}
if (is_cloudflare_infected >= 1) { if (is_cloudflare_infected >= 1) {
console.log('SECURITY_WARN: Cloudflare Detected: '+res.url); console.log('SECURITY_WARN: Cloudflare Detected: '+res.url);
return {redirectUrl: "https://0.0.0.0/"}; // just drop the connection return {redirectUrl: "https://0.0.0.0/"}; // just drop the connection
@ -29,5 +40,5 @@ return {redirectUrl: "https://0.0.0.0/"};// just drop the connection
} }
return; return;
} }
browser.webRequest.onHeadersReceived.addListener(analyzemydata,{urls: ["<all_urls>"]},["blocking","responseHeaders"]); browser.webRequest.onHeadersReceived.addListener(analyzemydata,{urls: ["<all_urls>"]},["blocking","responseHeaders"]);
//