You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
3.9 KiB
143 lines
3.9 KiB
/* * |
|
* This function creates the cookie and ads context in the popup |
|
* returns a string containg a html. |
|
* */ |
|
async function handleCookies(){ |
|
result = ""; |
|
$("#cookie-cards").empty(); |
|
var allcookies = []; |
|
await browser.cookies.getAll({}).then(response => { |
|
allcookies = response; |
|
}); |
|
|
|
let tabs = browser.tabs.query({currentWindow: true, active: true}).then(tabs => { |
|
var activeTab = tabs.pop(); |
|
console.log(activeTab.url); |
|
browser.cookies.getAll({url: activeTab.url}).then(cookies => { |
|
|
|
let regex = new RegExp("https?:\/\/(www\.)?[^\/]+\/"); |
|
console.log(thirdpartylinks); |
|
let result_thirdpartyscripts = []; |
|
let result_thirdlinks = ""; |
|
for(let i = 0; i < thirdpartylinks.length; i++){ |
|
let tmp = thirdpartylinks[i]; |
|
let tmp_arr = tmp.split("/"); |
|
//console.log(tmp.split("/")); |
|
console.log(tmp_arr); |
|
let tmp_perfect = tmp_arr[2].split("."); |
|
if(tmp_perfect.length < 3){ |
|
if(!result_thirdlinks.includes(tmp_arr[2]) && tmp_arr[2].includes(".")){ |
|
result_thirdlinks += "<a href='https://duckduckgo.com/?q="+tmp_arr[2]+"'>"+ tmp_arr[2] +"</a>"; |
|
result_thirdpartyscripts.push(tmp_arr[2]); |
|
} |
|
} else { |
|
let result_domain = tmp_perfect[tmp_perfect.length-2]+"."+tmp_perfect[tmp_perfect.length-1]; |
|
if(!result_thirdlinks.includes(result_domain) && tmp_arr[2].includes(".")){ |
|
result_thirdpartyscripts.push(result_domain); |
|
result_thirdlinks += "<a href='https://duckduckgo.com/?q="+result_domain+"'>"+ result_domain +"</a>"; |
|
} |
|
} |
|
|
|
|
|
|
|
} |
|
//let url = activeTab.url.match(regex); |
|
let url = activeTab.url.split("/"); |
|
cookies_third_list = []; |
|
|
|
console.log(result_thirdpartyscripts); |
|
|
|
console.log(allcookies.length); |
|
|
|
|
|
for(let i = 0; i < allcookies.length; i++){ |
|
let tmp = allcookies[i]; |
|
for(let j = 0; j < result_thirdpartyscripts.length; j++){ |
|
if(allcookies.domain === result_thirdpartyscripts){ |
|
cookies_third_list.push(tmp); |
|
} |
|
|
|
if(allcookies.domain === "."+result_thirdpartyscripts){ |
|
cookies_third_list.push(tmp); |
|
} |
|
} |
|
} |
|
console.log(cookies_third_list); |
|
console.log(url[2]); |
|
if(url[2].length == 0){ |
|
url[2] = ""; |
|
} |
|
|
|
let active_cookies = ""; |
|
if (cookies.length === 0){ |
|
active_cookies= "0 Cookies active."; |
|
} else if(cookies.length === 1){ |
|
active_cookies= "1 Cookie active."; |
|
} else { |
|
active_cookies = cookies.length+" Cookies active."; |
|
} |
|
|
|
var domain = url[2]; |
|
|
|
|
|
|
|
$("#cookie-cards").append("<div id='cookie-cards'>"+ |
|
"<div class='mdc-card' id='cookie-card'>" |
|
+ "<h3>"+url[2]+"</h3>" |
|
+ "<p class='cookie-p'>"+active_cookies +"</p>" |
|
+ "<p>This Companys can inflate third party cookies or an ad on this site to track you:</p>" |
|
+ result_thirdlinks |
|
+ "</div>" |
|
+ "</div>" |
|
); |
|
|
|
if (cookies.length > 1){ |
|
for(let cookie of cookies){ |
|
let cookiename = cookie.name; |
|
if (cookie.name.length > 10){ |
|
cookiename = cookie.value.substring(0,10) + "..."; |
|
} |
|
|
|
|
|
|
|
let tmp = "<div class='mdc-card cookie-card'>" |
|
+ "<p class='cookie-p'>Cookie Name: "+ cookiename+"<br>" |
|
+ "Domain: " + cookie.domain |
|
+ "</p>"; |
|
|
|
|
|
let img = "ok"; |
|
let src = "'"+browser.runtime.getURL("pic_data_base/"+img+".png'"); |
|
|
|
$("#cookie-cards").append(tmp + "<img src="+src+" width=64 height=64>"+ "</div>"); |
|
} |
|
} |
|
|
|
if (cookies_third_list.length > 1){ |
|
for(let cookie of cookies_third_list){ |
|
let cookiename = cookie.name; |
|
if (cookie.name.length > 10){ |
|
cookiename = cookie.value.substring(0,10) + "..."; |
|
} |
|
|
|
|
|
|
|
let tmp = "<div class='mdc-card cookie-card'>" |
|
+ "<p class='cookie-p'>Cookie Name: "+ cookiename+"<br>" |
|
+ "Domain: " + cookie.domain |
|
+ "</p>"; |
|
|
|
|
|
let img = "warning"; |
|
let src = "'"+browser.runtime.getURL("pic_data_base/"+img+".png'"); |
|
|
|
$("#cookie-cards").append(tmp + "<img src="+src+" width=64 height=64>"+ "</div>"); |
|
} |
|
} |
|
|
|
|
|
|
|
}); |
|
}); |
|
return result; |
|
} |