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
4 years ago
|
/* *
|
||
|
* 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;
|
||
|
}
|